Skip to main content

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)

Source distribution for elmat 0.1.16
File Size Uploaded
elmat-0.1.16.tar.gz 26.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for elmat 0.1.16
File Interpreter ABI Platform
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

Release history Release notifications | RSS feed

This release

0.1.16 This release

2 release files

0.1.15

2 release files

0.1.14

2 release files

0.1.13

2 release files

0.1.12

2 release files

0.1.11

2 release files

0.1.10

2 release files

0.1.9

2 release files

0.1.8

2 release files

0.1.7

2 release files

0.1.2

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page