Skip to main content

FOSS License Compatibility Tool

Project description

flict graphics  

REUSE status

flict / FOSS License Compatibility Tool

Introduction

FOSS License Compatibility Tool (flict) is a Free and Open Source Software tool to verify license compatibility for a package and its dependencies. You can use the tool to automate license compatibility verification in your compliance work flow.

flict can:

  • verify licenses compatibilty for license expression and a packages and its dependencies

  • suggest candidate outbound licenses

  • simplify license expressions

  • display, in misc format, compatibilies between licenses

  • check outbound licenses against a policy (policy as supplied by the user) (automatic now)

flict supports:

  • 87 licenses (flict -of text list)

  • common non SPDX ways to write licenses (e.g GPLv2 -> GPL-2.0-only), see "License alias defininitions" in SETTINGS

  • adding your own licenses (and compatibilities), see "Extending the license db" in SETTINGS

  • specifying licenses that are not allowed, see "Denied licenses" in SETTINGS

  • specifying license preference in case of a choice (e.g. "MIT OR FTL"), see "Preferred licenses" in SETTINGS

Examples

Check out our EXAMPLES

Extensible and tweakable

flict does not come with any knowledge about licenses and their compatibilities or license prioritiy prefeerences. These things are specified outside the tool, using JSON and CSV files. By default flict has files defining licenses and compatibilities which probably gets most of our users going. Having licenses and compatibilities (and even more stuff) defined outside the tool makes it easy to extend the tool with new licenses etc without modifying the code.

Read more in SETTINGS

Supported licenses

License matrix

To check compatibility between two licenses flict is using osadl-matrix which is using OSADL's matrix.json as found in Open Source License Checklists

Installing

Look at our INSTALLATION page.

Docker image

Flict is included in the docker image Compliance Tools which is easily managed by Compliance Tool Collection

Exit code and reports

flict outputs a report as well as an exit code.

Exit code

0 - success

5 - missing arguments

10 - invalid project file

11 - invalid expression

12 - file not found

Compatibility verification report

A report of the component's compatibility with suggested outbound licenses is created. By default a short text report is created, but flict can provide a report in a couple of formats.

Report formats

JSON

Default. Available for all commands.

Markdown

With markdown output you can use pandoc to create output in other formats (e.g. html, pdf). Partially supported.

Text

Partially supported.

User specific configuration

You can create a user specific configuration for the tool that defines a few default parameters to your choices. Either create a json file at ~/.flict.cfg or at a path defined by environment variable FLICT_USERCONFIG.

key sets CLI option
license_matrix-file -lmf --license-matrix-file
licenses_denied_file -ldf --licenses-denied-file
licenses_denied_file -ldf --licenses-denied-file
alias-file -af --alias-file
output-format -of --output-format

Example user configuration

{
    "license_matrix-file": "/my/very/own/osadl-matrix.csv",
    "output-format": "text"
}

Reporting bugs

File a ticket at github.com/vinland-technology/flict/issues.

Contribute to the project

See CONTRIBUTING

License of flict

flict is released under GPLv3 (https://www.gnu.org/licenses/gpl-3.0.en.html)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

flict-1.0.20.tar.gz (77.5 kB view details)

Uploaded Source

Built Distribution

flict-1.0.20-py2.py3-none-any.whl (84.4 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file flict-1.0.20.tar.gz.

File metadata

  • Download URL: flict-1.0.20.tar.gz
  • Upload date:
  • Size: 77.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.11.2

File hashes

Hashes for flict-1.0.20.tar.gz
Algorithm Hash digest
SHA256 b92ed07c6ab3470a1e70173d938a46dc5699e017c003506b6a5cc3b01e8d5687
MD5 05a433175c54b6c067a5d9ba971c5f40
BLAKE2b-256 5a52ba9ed03e4672471225c08cc04bf5dada87568a72288a6c36ae47ed3cb0e4

See more details on using hashes here.

File details

Details for the file flict-1.0.20-py2.py3-none-any.whl.

File metadata

  • Download URL: flict-1.0.20-py2.py3-none-any.whl
  • Upload date:
  • Size: 84.4 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.11.2

File hashes

Hashes for flict-1.0.20-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 dc8224962c2f3418d3dcfe58ffbe78e69230f05c29f9519bc9e8ee9e8cbaaab6
MD5 b7a02f7d4d4951f9ac569ccfe0f2058a
BLAKE2b-256 00b747cee4eeafc42e9b3799ee915a06e49319e19acfcd09cbdf7f2524e96519

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page