| 
1 | 1 | # AboutCode  | 
2 | 2 | 
 
  | 
3 |  | -### What is AboutCode?  | 
 | 3 | +  | 
4 | 4 | 
 
  | 
5 |  | -AboutCode is a family of FOSS projects to uncover data ... about software:  | 
 | 5 | +## What is AboutCode?  | 
6 | 6 | 
 
  | 
7 |  | --   where does the code come from? which software package?  | 
8 |  | --   what is its license? copyright?  | 
9 |  | --   is the code vulnerable, maintained, well coded?  | 
10 |  | --   what are its dependencies, are there vulnerabilities/licensing issues?  | 
 | 7 | +**AboutCode** is a collection of FOSS (Free and Open Source Software) projects focused on Software Composition Analysis (SCA). It helps you answer critical questions about software:  | 
11 | 8 | 
 
  | 
12 |  | -All these are questions that are important to answer: there are millions of free  | 
13 |  | -and open source software components available on the web for reuse.  | 
 | 9 | +- Where does this code come from?  | 
 | 10 | +- What license or copyright does it carry?  | 
 | 11 | +- Are there known vulnerabilities?  | 
 | 12 | +- Who maintains it?  | 
 | 13 | +- What are its dependencies?  | 
14 | 14 | 
 
  | 
15 |  | -Knowing where a software package comes from, what its license is and whether it  | 
16 |  | -is vulnerable should be a problem of the past such that everyone can safely  | 
17 |  | -consume more free and open source software. We support not only open source  | 
18 |  | -software, but also open data, generated and curated by our applications.  | 
 | 15 | +In today's world of millions of open source components, it's essential to understand code origin, licensing, and security risks before reuse. AboutCode tools are designed to make this easy and reliable.  | 
19 | 16 | 
 
  | 
20 |  | -> [!NOTE]  | 
21 |  | -> This is a repository with information on aboutcode open source  | 
22 |  | -> activities and not the actual code repository. See the  | 
23 |  | -> [projects section](https://github.com/aboutcode-org/aboutcode#projects) below  | 
24 |  | -> for links to all the code repositories of our projects with a brief overview  | 
25 |  | -> and our [wiki](https://github.com/aboutcode-org/aboutcode/wiki) if you are  | 
26 |  | -> looking to participate.  | 
 | 17 | +> **Note:**    | 
 | 18 | +> This is the meta-repository with information on AboutCode's open source activities, not the code itself.    | 
 | 19 | +> See the [Projects section](#projects) below or visit our [Wiki](https://github.com/aboutcode-org/aboutcode/wiki) for detailed links to the codebases.  | 
27 | 20 | 
  | 
28 |  | -### Documentation Build  | 
 | 21 | +---  | 
 | 22 | + | 
 | 23 | +## 🔧 Documentation Build  | 
 | 24 | + | 
 | 25 | +To manually build the documentation:  | 
 | 26 | + | 
 | 27 | +```bash  | 
 | 28 | +make docs  | 
 | 29 | + | 
 | 30 | +## 🔗 Important Links  | 
 | 31 | + | 
 | 32 | +- 🌐 **Website**: [aboutcode.org](https://aboutcode.org)  | 
 | 33 | +- 📚 **Docs**: [aboutcode.readthedocs.io](https://aboutcode.readthedocs.io/en/latest/)  | 
 | 34 | +- 💬 **Chat**:  | 
 | 35 | +  - [Gitter: aboutcode-org#discuss](https://app.gitter.im/#/room/#aboutcode-org_discuss:gitter.im)  | 
 | 36 | +  - [Element (Matrix)](https://matrix.to/#/#aboutcode-org_discuss:gitter.im) — use `gitter.im` as the homeserver  | 
 | 37 | +- 📅 **Weekly Meetings**: [Meeting Minutes](https://github.com/aboutcode-org/aboutcode/wiki/MeetingMinutes)  | 
 | 38 | +- 📖 **GSoC Info**: [GSoC Wiki](https://github.com/aboutcode-org/aboutcode/wiki)  | 
 | 39 | + | 
 | 40 | +---  | 
 | 41 | + | 
 | 42 | +## 🚀 Projects  | 
 | 43 | + | 
 | 44 | +Each AboutCode project has its own repository and purpose. Here are the key ones:  | 
 | 45 | + | 
 | 46 | +### 🧩 Core Projects  | 
 | 47 | + | 
 | 48 | +- **[ScanCode Toolkit](https://github.com/aboutcode-org/scancode-toolkit)**    | 
 | 49 | +  Detect origin, license, and dependencies in source code. Most popular tool.  | 
 | 50 | + | 
 | 51 | +- **[Scancode.io](https://github.com/aboutcode-org/scancode.io)**    | 
 | 52 | +  Web-based and API-driven UI for running ScanCode in pipelines on containers and packages.  | 
 | 53 | + | 
 | 54 | +- **[VulnerableCode](https://github.com/aboutcode-org/vulnerablecode)**    | 
 | 55 | +  API and DB to track vulnerabilities in software packages. Includes Vulntotal tool.  | 
 | 56 | + | 
 | 57 | +- **[purlDB](https://github.com/aboutcode-org/purldb)**    | 
 | 58 | +  Database of package URLs (purls) and associated data from scans.  | 
 | 59 | + | 
 | 60 | +- **[FetchCode](https://github.com/aboutcode-org/fetchcode)**    | 
 | 61 | +  Library for fetching code via HTTP, FTP, Git, etc.  | 
 | 62 | + | 
 | 63 | +- **[AboutCode Toolkit](https://github.com/aboutcode-org/aboutcode-toolkit)**    | 
 | 64 | +  CLI tools to document code provenance and generate attribution notices using YAML.  | 
 | 65 | + | 
 | 66 | +- **[container-inspector](https://github.com/aboutcode-org/container-inspector)**    | 
 | 67 | +  Analyze Docker images for component structure and origin.  | 
 | 68 | + | 
 | 69 | +- **[Scancode Workbench](https://github.com/aboutcode-org/scancode-workbench)**    | 
 | 70 | +  GUI app to visualize and review ScanCode results (React-based).  | 
 | 71 | + | 
 | 72 | +---  | 
 | 73 | + | 
 | 74 | +### 🛠️ Support Tools  | 
 | 75 | + | 
 | 76 | +- **[univers](https://github.com/aboutcode-org/univers)**    | 
 | 77 | +  Parse and compare package versions and version ranges.  | 
 | 78 | + | 
 | 79 | +- **[python-inspector](https://github.com/aboutcode-org/python-inspector)**    | 
 | 80 | +  Inspect Python packages and dependencies.  | 
 | 81 | + | 
 | 82 | +- **[nuget-inspector](https://github.com/aboutcode-org/nuget-inspector)**    | 
 | 83 | +  Same as above, for NuGet (C#/.NET) packages.  | 
 | 84 | + | 
 | 85 | +- **[license-expression](https://github.com/aboutcode-org/license-expression)**    | 
 | 86 | +  Normalize and compare SPDX-like license expressions with boolean logic.  | 
 | 87 | + | 
 | 88 | +- **[TraceCode Toolkit](https://github.com/aboutcode-org/tracecode-toolkit)**    | 
 | 89 | +  Use `strace` to map binary files back to source via syscall tracing.  | 
 | 90 | + | 
 | 91 | +---  | 
 | 92 | + | 
 | 93 | +### 🌐 Standards and Community Work  | 
 | 94 | + | 
 | 95 | +We actively collaborate with and contribute to:  | 
 | 96 | + | 
 | 97 | +- [Package URL (purl)](https://github.com/package-url) — Standard to identify software packages  | 
 | 98 | +- [SPDX](https://spdx.org) — Open standard for software licensing metadata  | 
 | 99 | +- [CycloneDX](https://cyclonedx.org) — OWASP BOM spec for supply chain risk  | 
 | 100 | +- [ClearlyDefined](https://clearlydefined.io) — Improve open source licensing metadata  | 
 | 101 | + | 
 | 102 | +---  | 
 | 103 | + | 
 | 104 | +### 🧬 Data Model  | 
 | 105 | + | 
 | 106 | +- **ABCD (AboutCode Data)**    | 
 | 107 | +  Shared data format for interoperability across AboutCode tools.    | 
 | 108 | +  See [AboutCode Data Docs](https://aboutcode.readthedocs.io/en/latest/aboutcode-data/abcd.html).  | 
29 | 109 | 
 
  | 
30 |  | -  | 
31 | 110 | 
 
  | 
32 |  | -> [!NOTE]  | 
33 |  | -> To manually build the documentation, run the `$ make docs` command from   | 
34 |  | -> the root of this repo.  | 
35 |  | -
  | 
36 |  | -### Important Links  | 
37 |  | - | 
38 |  | -Our homepage is at http://aboutcode.org  | 
39 |  | - | 
40 |  | -Our documentation (in progress) is at  | 
41 |  | -https://aboutcode.readthedocs.io/en/latest/  | 
42 |  | - | 
43 |  | -Join the chat online at  | 
44 |  | -[app.gitter.im : aboutcode-org#discuss](https://app.gitter.im/#/room/#aboutcode-org_discuss:gitter.im)  | 
45 |  | -or if you're using the element app set the homeserver to `gitter.im` and then  | 
46 |  | -join the  | 
47 |  | -[aboutcode-org#discuss](https://matrix.to/#/#aboutcode-org_discuss:gitter.im)  | 
48 |  | -chatroom. Introduce yourself and start the discussion!  | 
49 |  | - | 
50 |  | -Look at our [wiki](https://github.com/aboutcode-org/aboutcode/wiki) for  | 
51 |  | -information about our participation in the GSoC program.  | 
52 |  | - | 
53 |  | -We have a weekly meeting, see more details  | 
54 |  | -[here](https://github.com/aboutcode-org/aboutcode/wiki/MeetingMinutes).  | 
55 |  | - | 
56 |  | -### Projects  | 
57 |  | - | 
58 |  | -Each AboutCode project has its own repository:  | 
59 |  | - | 
60 |  | --   **[ScanCode Toolkit](https://github.com/aboutcode-org/scancode-toolkit)**: a  | 
61 |  | -    set of code scanning tools to detect the origin and license of code and  | 
62 |  | -    dependencies. ScanCode now uses a plug-in architecture to run a series of  | 
63 |  | -    scan-related tools in one process flow. This is the most popular project and  | 
64 |  | -    is used by 100's of software teams . The lead maintainer is @pombredanne  | 
65 |  | - | 
66 |  | --   **[Scancode.io](https://github.com/aboutcode-org/scancode.io)**: is a  | 
67 |  | -    web-based and API to run and review scans in rich scripted pipelines, on  | 
68 |  | -    different kinds of containers, docker images, package archives, manifests  | 
69 |  | -    etc, to get information on licenses, copyrights, source, vulneribilities.  | 
70 |  | -    The lead maintainer is @tdruez  | 
71 |  | - | 
72 |  | --   **[VulnerableCode](https://github.com/aboutcode-org/vulnerablecode)**: is a  | 
73 |  | -    web-based API and database to collect and track all the known software  | 
74 |  | -    package vulnerabilities, with affected and fixed packages, references and a  | 
75 |  | -    standalone tool Vulntotal to compare this vulneribility information across  | 
76 |  | -    similar tools. This is maintained by @tg1999 and @pombredanne  | 
77 |  | - | 
78 |  | --   **[univers](https://github.com/aboutcode-org/univers)** is a package to  | 
79 |  | -    parse and compare all the package versions and all the ranges.  | 
80 |  | - | 
81 |  | --   **[purlDB](https://github.com/aboutcode-org/purldb)** consists of tools to  | 
82 |  | -    create and expose a database of purls (Package URLs) and also has package  | 
83 |  | -    data for all of these packages created from scans. This is maintained by  | 
84 |  | -    @jyang  | 
85 |  | - | 
86 |  | --   **[FetchCode](https://github.com/aboutcode-org/fetchcode)** is a library to  | 
87 |  | -    reliably fetch any code via HTTP, FTP and version control systems such as  | 
88 |  | -    git.  | 
89 |  | - | 
90 |  | --   **[Scancode Workbench](https://github.com/aboutcode-org/scancode-workbench)**:  | 
91 |  | -    a desktop application based on typescript and react to visualize and review  | 
92 |  | -    scan results from scancode scans.  | 
93 |  | - | 
94 |  | --   **[AboutCode Toolkit](https://github.com/aboutcode-org/aboutcode-toolkit)**:  | 
95 |  | -    a set of command line tools to document the provenance of your code and  | 
96 |  | -    generate attribution notices. AboutCode Toolkit uses small yaml files to  | 
97 |  | -    document code provenance inside a codebase. The lead maintainer is  | 
98 |  | -    @chinyeungli  | 
99 |  | - | 
100 |  | --   **[container-inspector](https://github.com/aboutcode-org/container-inspector)**:  | 
101 |  | -    a tool to analyze the structure and provenance of software components in  | 
102 |  | -    Docker images using static analysis. Maintained by @pombredanne  | 
103 |  | - | 
104 |  | --   **[python-inspector](https://github.com/aboutcode-org/python-inspector)**  | 
105 |  | -    and **[nuget inspector](https://github.com/aboutcode-org/nuget-inspector/)**  | 
106 |  | -    inspects manifests and code to resolve dependencies (vulnerable and  | 
107 |  | -    non-vulnerable) for python and nuget packages respectively.  | 
108 |  | - | 
109 |  | --   **[license-expression](https://github.com/aboutcode-org/license-expression/)**:  | 
110 |  | -    a library to parse, analyze, compare and normalize SPDX and SPDX-like  | 
111 |  | -    license expressions using a boolean logic expression engine. See  | 
112 |  | -    https://spdx.org/spdx-specification-21-web-version#h.jxpfx0ykyb60 to  | 
113 |  | -    understand what an expression is. See  | 
114 |  | -    https://github.com/aboutcode-org/license-expression for the code. The  | 
115 |  | -    underlying boolean engine is live at https://github.com/bastikr/boolean.py .  | 
116 |  | -    Both are co-maintained by @pombredanne  | 
117 |  | - | 
118 |  | --   **ABCD aka AboutCode Data**: a simple set of conventions to define data  | 
119 |  | -    structures that all the AboutCode tools can understand and use to exchange  | 
120 |  | -    data. The details are at  | 
121 |  | -    [AboutCode Data](https://aboutcode.readthedocs.io/en/latest/aboutcode-data/abcd.html).  | 
122 |  | -    ABOUT files and ScanCode Toolkit data are examples of this approach. Other  | 
123 |  | -    projects such as https://libraries.io and and  | 
124 |  | -    [OSS Review Toolkit](https://github.com/heremaps/oss-review-toolkit) are  | 
125 |  | -    also using these conventions.  | 
126 |  | - | 
127 |  | --   **[TraceCode Toolkit](https://github.com/aboutcode-org/tracecode-toolkit)**:  | 
128 |  | -    a set of tools to trace files from your deployment or distribution packages  | 
129 |  | -    back to their origin in a development codebase or repository. The primary  | 
130 |  | -    tool uses strace https://github.com/strace/strace/ to trace system calls on  | 
131 |  | -    Linux and construct a build graph from syscalls to show which files are used  | 
132 |  | -    to build a binary. We are contributors to strace. Maintained by @pombredanne  | 
133 |  | - | 
134 |  | -We also co-started and worked closely with other FOSS orgs and projects:  | 
135 |  | - | 
136 |  | --   [Package URL](https://github.com/package-url): a widely used standard to  | 
137 |  | -    reference software packages of all types with simple, readable and concise  | 
138 |  | -    URLs.  | 
139 |  | - | 
140 |  | --   [SPDX](http://SPDX.org): aka. Software Package Data Exchange, a spec to  | 
141 |  | -    document the origin and licensing of packages.  | 
142 |  | - | 
143 |  | --   [CycloneDX](https://cyclonedx.org) aka. OWASP CycloneDX is a full-stack Bill  | 
144 |  | -    of Materials (BOM) standard that provides advanced supply chain capabilities  | 
145 |  | -    for cyber risk reduction  | 
146 |  | - | 
147 |  | --   [ClearlyDefined](https://ClearlyDefined.io): a project to review and help  | 
148 |  | -    FOSS projects improve their licensing and documentation clarity. This  | 
149 |  | -    project is incubating with https://opensource.org  | 
0 commit comments