Package: elmat
elmat (El Mat) - Extension to License MatrixThis project provides:Compatibility for proprietary license calledProprietary-linkedPython APICommand line programCompatibility for proprietary licenseThis can be used in combination with Further informationOSADL's License Checklistand more specifically to extend the license matrix with a propprietary license.Extending flictflictcan 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 flictCreate a new license matrix fileAssuming we want to call the new matrix fileextended-matrix.json$ elmat merge > extended-matrix.jsonUse the new matrix file to flictuse the new matrix fileextended-matrix.jsonas 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-linkedPython APISeePython API.Command line programThe command line program can do four things:merge licenseslist supported licensesverify an outbound license with an inbound licenseget compatibility for an outbound #license with an inbound licenseextend elmat with your own licensesMerge licensesTo merge and outputosadl_matrixwith elmat's license:$ elmat mergeList supported licenses$ elmat listVerify an outbound license with an inbound licenseElmat 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
falseNote: If you need support for complex license expressions (e.g.MIT OR BSD-3-Clause), check outflictGet compatibility for an outbound license with an inbound licenseIf you want a more detailed answer, then fromverify, you can get the actual compatibility status with thecompatibilitycommand.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 outflictExtend elmat with your own licensesThis can be done in combination with the commands above using the option--license-file. Let's assume you have a file, calledfoobar-license.json, defining the compatiblity for the licenseFooBarthat 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 inExtending Elmat.License definitions used in the example above (foobar-license.json):{
    "extended_licenses": {
	"FooBar": {
	    "BSD-3-Clause": "Yes",
	    "Apache-2.0": "No"
	}
    }
}Related projectsflict- License Compatibility ToolFOSS 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 Checklistsosadl_matrix- Python API on top of OSADL license compatibility matrixScanCode LicenseDB- LicenseDB is likely the largest collection of software licenses available on earth and may be beyond.