Skip to content

Commit 60e3d9a

Browse files
authored
Merge pull request #4667 from aboutcode-org/new-readme to restructure the README
Restructure the README for clarity
2 parents c05a13d + e55e7ce commit 60e3d9a

File tree

1 file changed

+41
-184
lines changed

1 file changed

+41
-184
lines changed

README.rst

Lines changed: 41 additions & 184 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,28 @@
11
================
2-
ScanCode toolkit
2+
ScanCode Toolkit
33
================
44

5-
A typical software project often reuses hundreds of third-party packages.
6-
License and packages, dependencies and origin information is not always easy to
7-
find and not normalized: ScanCode discovers and normalizes this data for you.
5+
ScanCode Toolkit is a set of code scanning tools that detect the origin (copyrights), license and vulnerabilities of code, packages and dependencies in a codebase. ScanCode Toolkit is an `AboutCode project <https://aboutcode.org>`_.
86

9-
Read more about ScanCode here: https://scancode-toolkit.readthedocs.io/.
7+
Why Use ScanCode Toolkit?
8+
=========================
9+
10+
ScanCode Toolkit is the leading tool in scanning depth and accuracy, used by hundreds of software teams. You can use ScanCode Toolkit as a command line tool or as a library.
1011

11-
Check out the code at https://github.com/nexB/scancode-toolkit
12+
Getting Started
13+
===============
1214

13-
Discover also:
15+
Instructions to get you up and running on your local machine are at `Getting Started <https://scancode-toolkit.readthedocs.io/en/stable/getting-started/index.html>`_
1416

15-
- The ScanCode.io server project here: https://scancodeio.readthedocs.io
16-
- The ScanCode Workbench project for visualization of scancode results data:
17-
https://github.com/nexB/scancode-workbench
18-
- Other companion SCA projects for code origin, license and security analysis
19-
here: https://aboutcode.org
17+
The ScanCode Toolkit documentation also provides:
2018

19+
- prerequisites for installing the software.
20+
- instructions guiding you to start scanning code.
21+
- a comprehensive guide to the command line options.
22+
- tutorials that provide hands-on guidance to ScanCode features.
23+
- how to expand ScanCode Licenses and Detection Rules with your own data.
24+
- how to generate Attribution from a ScanCode scan.
25+
- guidelines for contributing to code development.
2126

2227
Build and tests status
2328
======================
@@ -31,13 +36,10 @@ compabitility with multiple versions of Windows, Linux and macOS.
3136
| |azure| | |docs-rtd| | |docs-github-actions| | |release-github-actions| |
3237
+------------+--------------+-------------------------+----------------------------+
3338

39+
Benefits of ScanCode
40+
====================
3441

35-
Why use ScanCode?
36-
=================
37-
38-
- As a **standalone command-line tool**, ScanCode is **easy to install**, run,
39-
and embed in your CI/CD processing pipeline.
40-
It runs on **Windows, macOS, and Linux**.
42+
- ScanCode is heavily **tested** with an automated test suite of over **30,000 tests**.
4143

4244
- ScanCode is **used by several projects and organizations** such as
4345
the `Eclipse Foundation <https://www.eclipse.org>`_,
@@ -49,6 +51,14 @@ Why use ScanCode?
4951
`RedHat Fabric8 analytics <https://github.com/fabric8-analytics>`_,
5052
and many more.
5153

54+
- You can also organize and run ScanCode server-side with the
55+
companion `ScanCode.io web app <https://github.com/aboutcode-org/scancode.io>`_
56+
to organize and store multiple scan projects including scripted scanning pipelines.
57+
58+
- As a **standalone command-line tool**, ScanCode is **easy to install**, run,
59+
and embed in your CI/CD processing pipeline.
60+
It runs on **Windows, macOS, and Linux**.
61+
5262
- ScanCode detects licenses, copyrights, package manifests, direct dependencies,
5363
and more both in **source code** and **binary** files and is considered as the
5464
best-in-class and reference tool in this domain, re-used as the core tools for
@@ -66,187 +76,32 @@ Why use ScanCode?
6676
- You can save your scan results as **JSON, YAML, HTML, CycloneDX or SPDX** or
6777
even create your own format with Jinja templates.
6878

69-
- You can also organize and run ScanCode server-side with the
70-
companion `ScanCode.io web app <https://github.com/nexB/scancode.io>`_
71-
to organize and store multiple scan projects including scripted scanning pipelines.
72-
73-
- ScanCode output data can be easily visualized and analysed using the
74-
`ScanCode Workbench <https://github.com/nexB/scancode-workbench>`_ desktop app.
75-
76-
- ScanCode is **actively maintained**, has a **growing users and contributors
77-
community**.
78-
79-
- ScanCode is heavily **tested** with an automated test suite of over **20,000 tests**.
80-
81-
- ScanCode has an extensive and growing documentation.
82-
8379
- ScanCode can process packages, build manifest and lockfile formats to collect
84-
Package URLs and extract metadata: Alpine packages, BUCK files, ABOUT files,
85-
Android apps, Autotools, Bazel, JavaScript Bower, Java Axis, MS Cab,
86-
Rust Cargo, Cocoapods, Chef Chrome apps, PHP Composer and composer.lock,
87-
Conda, CPAN, Debian, Apple dmg, Java EAR, WAR, JAR, FreeBSD packages,
88-
Rubygems gemspec, Gemfile and Gemfile.lock, Go modules, Haxe packages,
89-
InstallShield installers, iOS apps, ISO images, Apache IVY, JBoss Sar,
90-
R CRAN, Apache Maven, Meteor, Mozilla extensions, MSI installers,
91-
JavaScript npm packages, package-lock.json, yarn.lock, NSIS Installers,
92-
NuGet, OPam, Cocoapods, Python PyPI setup.py, setup.cfg, and
93-
several related lockfile formats, semi structured README
94-
files such as README.android, README.chromium, README.facebook, README.google,
95-
README.thirdparty, RPMs, Shell Archives, Squashfs images, Java WAR, Windows
96-
executables and the Windows registry
97-
and a few more. See `all available package parsers <https://scancode-toolkit.readthedocs.io/en/stable/reference/available_package_parsers.html>`_
80+
Package URLs and extract metadata. See all available `package parsers
81+
<https://scancode-toolkit.readthedocs.io/en/stable/reference/index.html>`_
9882
for the exhaustive list.
9983

100-
See our `roadmap <https://scancode-toolkit.readthedocs.io/en/latest/contribute/roadmap.html>`_
101-
for upcoming features.
102-
103-
104-
Documentation
105-
=============
106-
107-
The ScanCode documentation is hosted at
108-
`scancode-toolkit.readthedocs.io <https://scancode-toolkit.readthedocs.io/en/latest/>`_.
109-
110-
If you are new to visualization of scancode results data, start with our
111-
`newcomer <https://scancode-toolkit.readthedocs.io/en/latest/getting-started/newcomer.html>`_ page.
112-
113-
If you want to compare output changes between different versions of ScanCode,
114-
or want to look at scans generated by ScanCode, review our
115-
`reference scans <https://github.com/nexB/scancode-toolkit-reference-scans>`_.
116-
117-
Other Important Documentation Pages:
118-
119-
- A `synopsis <https://scancode-toolkit.readthedocs.io/en/latest/cli-reference/synopsis.html>`_
120-
of ScanCode command line options.
121-
122-
- Tutorials on:
123-
124-
- `How to run a scan <https://scancode-toolkit.readthedocs.io/en/latest/tutorials/how_to_run_a_scan.html>`_
125-
- `How to visualize scan results <https://scancode-toolkit.readthedocs.io/en/latest/tutorials/how_to_visualize_scan_results.html>`_
126-
127-
- An exhaustive list of `all available options <https://scancode-toolkit.readthedocs.io/en/latest/cli-reference/list-options.html>`_
128-
129-
- Documentation on `Contributing to Code Development <https://scancode-toolkit.readthedocs.io/en/latest/contribute/contrib_dev.html>`_
130-
131-
- Documentation on `Plugin Architecture <https://scancode-toolkit.readthedocs.io/en/latest/plugins/plugin-architecture.html>`_
132-
133-
- `FAQ <https://scancode-toolkit.readthedocs.io/en/latest/misc/faq.html>`_
134-
135-
See also https://aboutcode.org for related companion projects and tools.
136-
137-
138-
Installation
139-
============
140-
141-
Before installing ScanCode make sure that you have installed the prerequisites
142-
properly. This means installing Python 3.13 for x86/64 architectures.
143-
We support Python 3.10, 3.11, 3.12 and 3.13.
144-
145-
See `prerequisites <https://scancode-toolkit.readthedocs.io/en/latest/getting-started/install.html#prerequisites>`_
146-
for detailed information on the support platforms and Python versions.
147-
148-
There are a few common ways to `install ScanCode <https://scancode-toolkit.readthedocs.io/en/latest/getting-started/install.html>`_.
149-
150-
- `**Installation as an application: Install Python 3.13, download a release archive, extract and run**.
151-
<https://scancode-toolkit.readthedocs.io/en/latest/getting-started/install.html#installation-as-an-application-downloading-releases>`_
152-
This is the recommended installation method.
153-
154-
- `Development installation from source code using a git clone
155-
<https://scancode-toolkit.readthedocs.io/en/latest/getting-started/install.html#installation-from-source-code-git-clone>`_
156-
157-
- `Development installation as a library with "pip install scancode-toolkit"
158-
<https://scancode-toolkit.readthedocs.io/en/latest/getting-started/install.html#pip-install>`_
159-
[Note that this is not supported on arm64 machines]
160-
161-
- `Run in a Docker container with a git clone and "docker run"
162-
<https://scancode-toolkit.readthedocs.io/en/latest/getting-started/install.html#installation-using-docker>`_
163-
164-
- In Fedora 40+ you can `dnf install scancode-toolkit`
165-
166-
167-
Quick Start
168-
===========
169-
170-
After ScanCode is installed successfully you can run an example scan printed on screen as JSON::
171-
172-
scancode -clip --json-pp - samples
173-
174-
Follow the `How to Run a Scan <https://scancode-toolkit.readthedocs.io/en/latest/tutorials/how_to_run_a_scan.html>`_
175-
tutorial to perform a basic scan on the ``samples`` directory distributed by
176-
default with ScanCode.
177-
178-
See more command examples::
179-
180-
scancode --examples
181-
182-
See `How to select what will be detected in a scan
183-
<https://scancode-toolkit.readthedocs.io/en/latest/tutorials/how_to_set_what_will_be_detected_in_a_scan.html>`_
184-
and `How to specify the output format <https://scancode-toolkit.readthedocs.io/en/latest/tutorials/how_to_format_scan_output.html>`_
185-
for more information.
186-
187-
You can also refer to the `command line options synopsis
188-
<https://scancode-toolkit.readthedocs.io/en/latest/cli-reference/synopsis.html>`_
189-
and an exhaustive list of `all available command line options
190-
<https://scancode-toolkit.readthedocs.io/en/latest/cli-reference/list-options.html>`_.
191-
192-
193-
Archive extraction
194-
==================
195-
196-
By default ScanCode does not extract files from tarballs, zip files, and
197-
other archives as part of the scan. The archives that exist in a codebase
198-
must be extracted before running a scan: `extractcode` is a bundled utility
199-
behaving as a mostly-universal archive extractor. For example, this command will
200-
recursively extract the mytar.tar.bz2 tarball in the mytar.tar.bz2-extract
201-
directory::
202-
203-
./extractcode mytar.tar.bz2
204-
205-
See `all extractcode options <https://scancode-toolkit.readthedocs.io/en/latest/reference/cli-extractcode.html>`_
206-
and `how to extract archives <https://scancode-toolkit.readthedocs.io/en/latest/tutorials/how_to_extract_archives.html>`_ for details.
207-
208-
20984
Support
21085
=======
21186

212-
If you have a problem, a suggestion or found a bug, please enter a ticket at:
213-
https://github.com/nexB/scancode-toolkit/issues
87+
If you have a specific problem, suggestion or bug, please submit a
88+
`GitHub issue <https://github.com/aboutcode-org/scancode-toolkit/issues>`_.
21489

215-
For discussions and chats, we have:
90+
For quick questions or socializing, join the AboutCode community discussions on `Slack <https://join.slack.com/t/aboutcode-org/shared_invite/zt-3li3bfs78-mmtKG0Qhv~G2dSlNCZW2pA>`_.
21691

217-
* an official Gitter channel for `web-based chats
218-
<https://matrix.to/#/#aboutcode-org_discuss:gitter.im>`_.
219-
Gitter is now accessible through `Element <https://element.io/download>`_
220-
or an `IRC bridge <https://matrix-org.github.io/matrix-appservice-irc/latest/usage.html>`_.
221-
There are other AboutCode project-specific channels available there too.
222-
223-
* The discussion channel for `scancode <https://matrix.to/#/#aboutcode-org_scancode:gitter.im>`_
224-
specifically aimed at users and developers using scancode-toolkit.
225-
226-
Source code and downloads
227-
=========================
228-
229-
* https://github.com/aboutcode-org/scancode-toolkit/releases
230-
* https://github.com/aboutcode-org/scancode-toolkit.git
231-
* https://pypi.org/project/scancode-toolkit/
232-
* https://github.com/aboutcode-org/scancode-thirdparty-src.git
233-
* https://github.com/aboutcode-org/scancode-plugins.git
234-
* https://github.com/aboutcode-org/thirdparty-packages.git
92+
Interested in commercial suppport? Contact the `AboutCode team <mailto:[email protected]>`_.
23593

23694
License
23795
=======
23896

239-
* Apache-2.0 as the overall license
240-
* CC-BY-4.0 for reference datasets (initially was in the Public Domain).
241-
* Multiple other secondary permissive or copyleft licenses (LGPL, MIT,
97+
* `Apache-2.0 <apache-2.0.LICENSE>`_ is the overall license.
98+
* `CC-BY-4.0 <cc-by-4.0.LICENSE>`_ applies to reference datasets.
99+
* There are multiple secondary permissive or copyleft licenses (LGPL, MIT,
242100
BSD, GPL 2/3, etc.) for third-party components and test suite code and data.
243101

244-
245-
See the NOTICE file and the .ABOUT files that document the origin and license of
102+
See the `NOTICE file <NOTICE>`_ and the `.ABOUT files <https://github.com/search?q=repo%3Aaboutcode-org%2Fscancode-toolkit+path%3A*.ABOUT&type=code>`_ that document the origin and license of
246103
the third-party code used in ScanCode for more details.
247104

248-
249-
250105
.. |azure| image:: https://dev.azure.com/nexB/scancode-toolkit/_apis/build/status/nexB.scancode-toolkit?branchName=develop
251106
:target: https://dev.azure.com/nexB/scancode-toolkit/_build/latest?definitionId=1&branchName=develop
252107
:alt: Azure tests status (Linux, macOS, Windows)
@@ -265,7 +120,7 @@ the third-party code used in ScanCode for more details.
265120

266121

267122
Acknowledgements, Funding, Support and Sponsoring
268-
--------------------------------------------------------
123+
=================================================
269124

270125
This project is funded, supported and sponsored by:
271126

@@ -394,3 +249,5 @@ Communications Networks, Content and Technology under grant agreement No 1010695
394249
:target: https://nlnet.nl/discovery/
395250
:height: 40
396251
:alt: NGI Discovery logo
252+
253+
**End of ScanCode Toolkit README**

0 commit comments

Comments
 (0)