Licomp toolkit is a license compatiblity tool using miscellaneous available compatibility resources and provides replies from all resources.
Licomp can be used to help determine if a license is compatible with an outbound license. These compatibility checks needs context which is often missing. The context above must be provided to licomp-toolkit. In short the context is:
- use case - how you use the licensed component
- provisioning - how you provide the component to your user
- modification - if you have modified the component
Licomp toolkit is using the Licomp api to communicate with the Licomp resources. For a better understanding of Licomp we suggest you read:
Licomp toolkit uses the following compatibility resources using the Licomp api: licomp-hermione, licomp-osadl, licomp-proprietary, licomp-reclicense, licomp-dwheeler and licomp-gnuguide.
If you want to check if the following is compatible:
- outbound license "MIT"
- inbound license "LGPL-2.0-or-later"
$ licomp-toolkit verify -il MIT -ol LGPL-2.0-or-later | jq .summary.results
{
"nr_valid": "1",
"yes": {
"count": 1,
"percent": 100.0
}
}
In the above example, licomp-toolkit
by default chose:
- usecase
library
- i.e. the licenses component is used as a library (e.g. linking to it) - provisioning
binary-distribution
- modification is not yet implemented
For more detailed guides to licomp-toolkit
, please check out:
If you want to check if the following is compatible:
- outbound license "MIT"
- inbound license "LGPL-2.0-or-later"
>>> from licomp_toolkit.toolkit import LicompToolkit
>>> licomp_toolkit = LicompToolkit()
>>> compatibilities = licomp_toolkit.outbound_inbound_compatibility("MIT", "LGPL-2.0-or-later", "library", "binary-distribution")
>>> print(str(compatibilities['summary']['results']))
{'nr_valid': '1', 'yes': {'count': 1, 'percent': 100.0}}
For a more detailed guide to the licomp-toolkit
Python api, please check out: Licomp Toolkit - Python module
Licomp Toolkit is available via pypi.org at: https://pypi.org/project/licomp-toolkit/. To install, simply do the following:
$ pip install licomp-toolkit
Installing from github assumes you already have pip
installed.
$ git clone https://github.com/hesa/licomp-toolkit
$ pip install -r requirements.txt
$ pip install -r requirements-dev.txt
$ pip install .