Extended License Matrix
Project description
elmat (El Mat) - Extension to License Matrix
This project provides:
-
Compatibility for proprietary license called
Proprietary-linked
-
Python API
-
Command line program
Compatibility for proprietary license
This can be used in combination with Further information OSADL's License Checklist and more specifically to extend the license matrix with a propprietary license.
Extending flict
flict can be extend with support for the proprietary license. This is done in two steps:
-
create a new license matrix file (using elmat)
-
use the new matrix file to flict
Create a new license matrix file
Assuming we want to call the new matrix file extended-matrix.json
$ elmat merge > extended-matrix.json
Use the new matrix file to flict
use the new matrix file extended-matrix.json
as input to flict to verify if elmat's proprietary license, Proprietary-linked
, can be used as outbound for the inbound license "MIT OR BSD-3-Clause".
$ flict --license-matrix-file extended-matrix.json -of text verify -il MIT OR BSD-3-Clause -ol Proprietary-linked
Python API
See Python API.
Command line program
The command line program can do four things:
-
merge licenses
-
list supported licenses
-
verify an outbound license with an inbound license
-
get compatibility for an outbound #license with an inbound license
-
extend elmat with your own licenses
Merge licenses
To merge and output osadl_matrix with elmat's license:
$ elmat merge
List supported licenses
$ elmat list
Verify an outbound license with an inbound license
Elmat can verify a single outbound license with a single inbound license. As an example elmat can check if the inbound license "BSD-3-Clause" be used by the outbound license "Proprietary-linked" and vice versa.
Example:
$ elmat verify -il BSD-3-Clause -ol Proprietary-linked
true
$ elmat verify -il Proprietary-linked -ol BSD-3-Clause
false
Note: If you need support for complex license expressions (e.g. MIT OR BSD-3-Clause
), check out flict
Get compatibility for an outbound license with an inbound license
If you want a more detailed answer, then from verify
, you can get the actual compatibility status with the compatibility
command.
Example:
$ elmat/__main__.py compatibility -il BSD-3-Clause -ol Proprietary-linked
"Yes"
$ elmat/__main__.py compatibility -il Proprietary-linked -ol BSD-3-Clause
"Unknown"
Note: If you need support for complex license expressions (e.g. MIT OR BSD-3-Clause
), check out flict
Extend elmat with your own licenses
This can be done in combination with the commands above using the option --license-file
. Let's assume you have a file, called foobar-license.json
, defining the compatiblity for the license FooBar
that you would like to extend elmat with.
Example without extending elmat with your license file:
$ elmat/__main__.py -of text compatibility -il BSD-3-Clause -ol FooBar
Outbound license "FooBar" not supported.
Example when extending elmat with your license file:
$ elmat --license-file foobar-license.json -of text compatibility -il BSD-3-Clause -ol FooBar
Yes
$ elmat --license-file foobar-license.json -of text compatibility -il Apache-2.0 -ol FooBar
No
$ elmat --license-file foobar-license.json -of text compatibility -il BSD-2-Clause -ol FooBar
Unknown
*Note: read more about the format for extending the elmat in Extending Elmat.
License definitions used in the example above (foobar-license.json
):
{
"extended_licenses": {
"FooBar": {
"BSD-3-Clause": "Yes",
"Apache-2.0": "No"
}
}
}
Related projects
-
flict - License Compatibility Tool
-
FOSS Licenses - A database with meta data for FOSS licenses adding useful information to existing licenses aiming at simplifying compliance work.
-
Open Source License Checklists - Open Source License Obligations Checklists
-
osadl_matrix - Python API on top of OSADL license compatibility matrix
-
ScanCode LicenseDB - LicenseDB is likely the largest collection of software licenses available on earth and may be beyond.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file elmat-0.1.16.tar.gz
.
File metadata
- Download URL: elmat-0.1.16.tar.gz
- Upload date:
- Size: 26.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.0 CPython/3.12.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | cf077b8fe5266de46aacb9ac7cedba3b4a72115d24df0ed679128c394aae3d07 |
|
MD5 | 064b95307b588b62ce9789020216424d |
|
BLAKE2b-256 | 458b58508560d9c7a22fd52e86d6a9f247d2709acf5a1fa1c40c2a940b3b81e5 |
File details
Details for the file elmat-0.1.16-py2.py3-none-any.whl
.
File metadata
- Download URL: elmat-0.1.16-py2.py3-none-any.whl
- Upload date:
- Size: 21.1 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.0 CPython/3.12.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 46c9f765fe881974f9736f09e4d6fc75a33a83e781971d69f91367afa161043e |
|
MD5 | e772fab0c1d26d2fab96e9c70d9ca2ea |
|
BLAKE2b-256 | 10ab642dbe618f95d9c3b9bfa7f7d21f3731af5210747018d6189b70045f1d09 |