All Projects â†’ nexB â†’ Scancode Toolkit

nexB / Scancode Toolkit

🔎 ScanCode detects licenses, copyrights, package manifests & dependencies and more by scanning code ... to discover and inventory open source and third-party packages used in your code.

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Scancode Toolkit

Ort
A suite of tools to assist with reviewing Open Source Software dependencies.
Stars: ✭ 446 (-60.67%)
Mutual labels:  dependencies, foss, license, license-management, compliance
Npm License Crawler
Analyzes license information for multiple node.js modules (package.json files) as part of your software project.
Stars: ✭ 168 (-85.19%)
Mutual labels:  license, license-management, licensing
awesome-open-source-licensing
Cool links, tools & papers related to Open Source Licensing
Stars: ✭ 17 (-98.5%)
Mutual labels:  licensing, license, license-management
Licensecc
Software licensing, copy protection in C++. It has few dependencies and it's cross-platform.
Stars: ✭ 363 (-67.99%)
Mutual labels:  license, license-management, licensing
Fossology
FOSSology is an open source license compliance software system and toolkit. As a toolkit you can run license, copyright and export control scans from the command line. As a system, a database and web ui are provided to give you a compliance workflow. License, copyright and export scanners are tools used in the workflow.
Stars: ✭ 440 (-61.2%)
Mutual labels:  license, license-management, compliance
TrialMaker.Demo
A powerful yet straight-forward library suite that provides secure trial license generation and copy-protection features for .NET applications. It also supports premium license generation for expired free-trials.
Stars: ✭ 21 (-98.15%)
Mutual labels:  licensing, license, license-management
Licensed
A Ruby gem to cache and verify the licenses of dependencies
Stars: ✭ 690 (-39.15%)
Mutual labels:  dependencies, license-management, licensing
vlsi-release-plugins
A set of plugins to simplify Gradle release tasks
Stars: ✭ 30 (-97.35%)
Mutual labels:  license, license-management
netlicensing.io
Labs64 NetLicensing - Innovative License Management Solution
Stars: ✭ 13 (-98.85%)
Mutual labels:  licensing, license
php-legal-licenses
A utility to help generate a file containing information about dependencies including the full license text.
Stars: ✭ 62 (-94.53%)
Mutual labels:  license, license-management
Go Licenses
Reports on the licenses used by a Go package and its dependencies.
Stars: ✭ 263 (-76.81%)
Mutual labels:  license, license-management
license-auditor
License Auditor helps you track and validate licenses inside your project.
Stars: ✭ 15 (-98.68%)
Mutual labels:  license, license-management
FOSSologyUI
Repository to hold the new UI framework for FOSSology built with React
Stars: ✭ 35 (-96.91%)
Mutual labels:  compliance, license
lint-deps
Lint for unused or missing dependencies in your node.js projects. Customize with plugins or configuration.
Stars: ✭ 48 (-95.77%)
Mutual labels:  packages, dependencies
licensor
write licenses to stdout
Stars: ✭ 138 (-87.83%)
Mutual labels:  licensing, license
Syncpack
Manage multiple package.json files, such as in Lerna Monorepos and Yarn/Pnpm Workspaces
Stars: ✭ 356 (-68.61%)
Mutual labels:  dependencies, packages
skywalking-eyes
A full-featured license tool to check and fix license headers and resolve dependencies' licenses.
Stars: ✭ 143 (-87.39%)
Mutual labels:  licensing, license
airgeddon deb packages
Useful related to airgeddon packages for Debian based Linux distributions
Stars: ✭ 22 (-98.06%)
Mutual labels:  packages, dependencies
Tern
Tern is a software composition analysis tool and Python library that generates a Software Bill of Materials for container images and Dockerfiles. The SBoM that Tern generates will give you a layer-by-layer view of what's inside your container in a variety of formats including human-readable, JSON, HTML, SPDX and more.
Stars: ✭ 505 (-55.47%)
Mutual labels:  dependencies, compliance
license-checker-php
CLI tool to verify used licenses in composer dependencies
Stars: ✭ 28 (-97.53%)
Mutual labels:  license, license-management

================ ScanCode toolkit

A typical software project often reuses hundreds of third-party packages. License and origin information is not always easy to find and not normalized: ScanCode discovers and normalizes this data for you.

Read more about ScanCode here: scancode-toolkit.readthedocs.io <https://scancode-toolkit.readthedocs.io/en/latest/>_.

Why use ScanCode?

  • As a standalone command-line tool, ScanCode is easy to install, run, and embed in your CI/CD processing pipeline. It runs on Windows, macOS, and Linux.

  • ScanCode is used by several projects and organizations such as the Eclipse Foundation <https://www.eclipse.org>, OpenEmbedded.org <https://www.openembedded.org>, the FSFE <https://www.fsfe.org>, the FSF <https://www.fsf.org>, OSS Review Toolkit <http://oss-review-toolkit.org>, ClearlyDefined.io <https://clearlydefined.io/>, RedHat Fabric8 analytics <https://github.com/fabric8-analytics>_, and many more.

  • ScanCode detects licenses, copyrights, package manifests, direct dependencies, and more both in source code and binary files.

  • ScanCode provides the most accurate license detection engine and does a full comparison (also known as diff or red line comparison) between a database of license texts and your code instead of relying only on approximate regex patterns or probabilistic search, edit distance or machine learning.

  • Written in Python, ScanCode is easy to extend with plugins to contribute new and improved scanners, data summarization, package manifest parsers, and new outputs.

  • You can save your scan results as JSON, HTML, CSV or SPDX. And you can use the companion ScanCode workbench GUI app <https://github.com/nexB/scancode-workbench>_ to review and display scan results, statistics and graphics.

  • You can also organize and run ScanCode server-side with the companion ScanCode.io web app <https://github.com/nexB/scancodeio>_ to organize and store multiple scan projects including scripting scanning piplines.

  • ScanCode is actively maintained, has a growing users and contributors community.

  • ScanCode is heavily tested with an automated test suite of over 20,000 tests.

  • ScanCode has an extensive and growing documentation.

See our roadmap <https://scancode-toolkit.readthedocs.io/en/latest/contribute/roadmap.html>_ for upcoming features.

Build and tests status

+-------+--------------+-----------------+--------------+ |Branch | Coverage | Linux/macOS | Windows | +=======+==============+=================+==============+ |Master | |master-cov| | |master-posix| | |master-win| | +-------+--------------+-----------------+--------------+ |Develop| |devel-cov| | |devel-posix| | |devel-win| | +-------+--------------+-----------------+--------------+

Documentation Build

+--------+--------------+ |Version | RTD Build| +========+==============+ | Latest | |docs-rtd| | +--------+--------------+

Documentation

The ScanCode documentation is hosted at scancode-toolkit.readthedocs.io <https://scancode-toolkit.readthedocs.io/en/latest/>_.

If you are new to Scancode, start here <https://scancode-toolkit.readthedocs.io/en/latest/getting-started/newcomer.html>_.

Other Important Documentation Pages:

  • A synopsis <https://scancode-toolkit.readthedocs.io/en/latest/cli-reference/synopsis.html>_ of ScanCode command line options.

  • Tutorials on:

    • How to run a scan <https://scancode-toolkit.readthedocs.io/en/latest/tutorials/how_to_run_a_scan.html>_
    • How to visualize scan results <https://scancode-toolkit.readthedocs.io/en/latest/tutorials/how_to_visualize_scan_results.html>_
  • An exhaustive list of all available options <https://scancode-toolkit.readthedocs.io/en/latest/cli-reference/list-options.html>_

  • Documentation on Contributing to Code Development <https://scancode-toolkit.readthedocs.io/en/latest/contribute/contrib_dev.html>_

  • Documentation on Plugin Architecture <https://scancode-toolkit.readthedocs.io/en/latest/plugins/plugin_arch.html>_

  • FAQ <https://scancode-toolkit.readthedocs.io/en/latest/misc/faq.html>_

See also https://aboutcode.org for related companion projects and tools.

Installation

Before installing ScanCode make sure that you have installed the prerequisites properly. This means installing Python (Python 3.6+ is required). See prerequisites <https://scancode-toolkit.readthedocs.io/en/latest/getting-started/install.html#prerequisites>_ for detailed information on the support platforms and Python versions.

There are a few common ways to install ScanCode <https://scancode-toolkit.readthedocs.io/en/latest/getting-started/install.html>_.

  • *Recommended* installation as an application: Download a release archive, extract and run. <https://scancode-toolkit.readthedocs.io/en/latest/getting-started/install.html#installation-as-an-application-downloading-releases>_

  • Development installation from source code using a git clone <https://scancode-toolkit.readthedocs.io/en/latest/getting-started/install.html#installation-from-source-code-git-clone>_

  • Development installation as a library with "pip install scancode-toolkit" <https://scancode-toolkit.readthedocs.io/en/latest/getting-started/install.html#pip-install>_

  • Run in a Docker container with a git clone and "docker run" <https://scancode-toolkit.readthedocs.io/en/latest/getting-started/install.html#installation-via-docker>_

Quick Start

Note the commands variation <https://scancode-toolkit.readthedocs.io/en/latest/getting-started/install.html#commands-variation>_ across installation methods and platforms.

You can run an example scan printed on screen as JSON::

./scancode -clip --json-pp - samples

Follow the How to Run a Scan <https://scancode-toolkit.readthedocs.io/en/latest/tutorials/how_to_run_a_scan.html>_ tutorial to perform a basic scan on the samples directory distributed by default with Scancode.

See more command examples::

./scancode --examples

See How to select what will be detected in a scan <https://scancode-toolkit.readthedocs.io/en/latest/tutorials/how_to_set_what_will_be_detected_in_a_scan.html>_ and How to specify the output format <https://scancode-toolkit.readthedocs.io/en/latest/tutorials/how_to_format_scan_output.html>_ for more information.

You can also refer to the command line options synopsis <https://scancode-toolkit.readthedocs.io/en/latest/cli-reference/synopsis.html>_ and an exhaustive list of all available command line options <https://scancode-toolkit.readthedocs.io/en/latest/cli-reference/list-options.html>_.

Archive extraction

By default ScanCode does not extract files from tarballs, zip files, and other archives as part of the scan. The archives that exist in a codebase must be extracted before running a scan: extractcode is a bundled utility behaving as a mostly-universal archive extractor. For example, this command will recursively extract the mytar.tar.bz2 tarball in the mytar.tar.bz2-extract directory::

./extractcode mytar.tar.bz2

See all extractcode options <https://scancode-toolkit.readthedocs.io/en/latest/cli-reference/list-options.html#all-extractcode-options>_ and how to extract archives <https://scancode-toolkit.readthedocs.io/en/latest/tutorials/how_to_extract_archives.html>_ for details.

Support

If you have a problem, a suggestion or found a bug, please enter a ticket at: https://github.com/nexB/scancode-toolkit/issues

For discussions and chats, we have:

  • an official Gitter channel for web-based chats <https://gitter.im/aboutcode-org/discuss>. Gitter is also accessible via an IRC bridge <https://irc.gitter.im/>. There are other AboutCode project-specific channels available there too.

  • an official #aboutcode IRC channel on freenode (server chat.freenode.net). This channel receives build and commit notifications and can be noisy. You can use your favorite IRC client or use the web chat <https://webchat.freenode.net/>_.

Source code and downloads

License

  • Apache-2.0 as the overall license
  • CC-BY-4.0 for reference datasets (initially was in the Public Domain).
  • Multiple other secondary permissive or copyleft licenses (LGPL, MIT, BSD, GPL 2/3, etc.) for third-party components.

See the NOTICE file and the .ABOUT files that document the origin and license of the third-party code used in ScanCode for more details.

.. |master-cov| image:: https://codecov.io/gh/nexB/scancode-toolkit/branch/master/graph/badge.svg :target: https://codecov.io/gh/nexB/scancode-toolkit/branch/master :alt: Master branch test coverage (Linux) .. |devel-cov| image:: https://codecov.io/gh/nexB/scancode-toolkit/branch/develop/graph/badge.svg :target: https://codecov.io/gh/nexB/scancode-toolkit/branch/develop :alt: Develop branch test coverage (Linux)

.. |master-posix| image:: https://api.travis-ci.org/nexB/scancode-toolkit.png?branch=master :target: https://travis-ci.org/nexB/scancode-toolkit :alt: Linux Master branch tests status .. |devel-posix| image:: https://api.travis-ci.org/nexB/scancode-toolkit.png?branch=develop :target: https://travis-ci.org/nexB/scancode-toolkit :alt: Linux Develop branch tests status

.. |master-win| image:: https://ci.appveyor.com/api/projects/status/4webymu0l2ip8utr/branch/master?png=true :target: https://ci.appveyor.com/project/nexB/scancode-toolkit :alt: Windows Master branch tests status .. |devel-win| image:: https://ci.appveyor.com/api/projects/status/4webymu0l2ip8utr/branch/develop?png=true :target: https://ci.appveyor.com/project/nexB/scancode-toolkit :alt: Windows Develop branch tests status

.. |docs-rtd| image:: https://readthedocs.org/projects/scancode-toolkit/badge/?version=latest :target: https://scancode-toolkit.readthedocs.io/en/latest/?badge=latest :alt: Documentation Status

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].