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.
Metadata
Release files for elmat 0.1.16
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| elmat-0.1.16.tar.gz | 26.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| elmat-0.1.16-py2.py3-none-any.whl | Python 2, Python 3 | none | any | Details |
Total release size: 47.2 kB
Release files / elmat-0.1.16.tar.gz
| Download URL | elmat-0.1.16.tar.gz |
|---|---|
| Size | 26.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
cf077b8fe5266de46aacb9ac7cedba3b4a72115d24df0ed679128c394aae3d07
|
|
BLAKE2b-256 checksum How to use checksums |
458b58508560d9c7a22fd52e86d6a9f247d2709acf5a1fa1c40c2a940b3b81e5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.1.0 CPython/3.12.4
|
Release files / elmat-0.1.16-py2.py3-none-any.whl
| Download URL | elmat-0.1.16-py2.py3-none-any.whl |
|---|---|
| Size | 21.1 kB |
| Tags | Python 2 Python 3 |
|
SHA-256 checksum How to use checksums |
46c9f765fe881974f9736f09e4d6fc75a33a83e781971d69f91367afa161043e
|
|
BLAKE2b-256 checksum How to use checksums |
10ab642dbe618f95d9c3b9bfa7f7d21f3731af5210747018d6189b70045f1d09
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.1.0 CPython/3.12.4
|