Skip to content

Various data formats for the SPDX License List including RDFa, HTML, Text, and JSON

Notifications You must be signed in to change notification settings

spdx/license-list-data

Repository files navigation

License List Data

Please do not submit pull requests or issues against this generated data repository. We appreciate all contributions, see the contributing document for information on requesting new licenses, reporting issues or contributing pull requests related to this repository.

Preview of License List Data

An HTML website containing the of the contents of this repository is available at https://spdx.github.io/license-list-data/.

Data Formats

This repository contains various generated data formats for the SPDX License List including RDFa, HTML, Text, and JSON. The source of the license list which generates these data files can be found at https://github.com/spdx/license-list-XML. Please note that the format for the license-list-XML repository is internal to the SPDX legal team and is subject to change.

See the file accessingLicenses.md for a description on how to programmatically access the SPDX license list.

The following directories contain the license list in the format specified:

  • html - Simple HTML format of the files. (Note: These pages are not complete and valid HTML files, but simply HTML snippets for the license text.)
  • json - JSON format for the license list. The exceptions.json file contains summary information for all exceptions. The licenses.json file contains summary information for all licenses. The exceptions directory contains one file per exception named by ID containing all exception details. The license directory contains one file per license named by ID containing all license details.
  • jsonld - JSON-LD format for the license list. The directory contains a file licenses.jsonld which contains all licenses and exceptions as well as single files (one per license or exception) containing data for a single file or exception named by ID.
  • rdfa - RDFa/HTML format for the license list. The index.html file contains summary information for all licenses. The exceptions-index.html file contains summary information for all exceptions. The directory also contains well as single files (one per license or exception) containing data for a single file or exception named by ID.
  • rdfnt - RDF NT format for the license list. The directory contains a file licenses.nt which contains all licenses and exceptions as well as single files (one per license or exception) containing data for a single file or exception named by ID.
  • rdfturtle - RDF turtle format for the license list. The directory contains a file licenses.turtle which contains all licenses and exceptions as well as single files (one per license or exception) containing data for a single file or exception named by ID.
  • rdfxml - RDF/XML format for the license list. The directory contains a file licenses.rdf which contains all licenses and exceptions as well as single files (one per license or exception) containing data for a single file or exception named by ID.
  • template - SPDX template files per the license templates specified in the SPDX 2.0 specification appendix. Deprecated licenses start with "deprecated_".
  • text - Simple text files. Deprecated licenses start with "deprecated_".
  • website - HTML generated for the http://spdx.org/ website.

The file licenses.md is a table of contents for the generated licenses. The links for the files point to the text for the license.

Repository Tags and Versions

The repository is tagged with a version vX.Y.Z where vX.Y matches the version of the SPDX License List and Z represents the patch level for any changes to the license list data between releases of the license list. The repository is tagged whenever the SPDX License List is updated. Patches may include formatting changes which are not represented in the license list source XML.

Reporting Issues

As far as the output format or the generation of the output files is concerned, any issues or pull requests should be logged at the License LIst Publisher project.

As far as the content of the license information is concerned, see the license-list-XML contributing document for information on how to report issues, request new licenses, or contribute changes.

License List Data Build Process

The license list data in this repository is automatically built on commits to the master branch of the license list source by the Travis-ci script. The commit message generated by the script includes short form of the commit hash from the license list source. If the license list source has been tagged for release, a tag will also be generated for the license-list-data repository.

The script that publishes the license list data can be found in the .travis directory in the license list source.

The script uses the SPDX tools LicenseRDFaGenerator command to generate the data files.

Source code for the LicenseRDFaGenerator can be found in the SPDX tools repository.

The main entrypoint for the command is LicenseRDFaGenerator.java

The basic flow of the program is LicenseRDFaGenerator -> Translate XML to the license objects (including the license text) -> Translate the license into various output files (including the text and template files).

The code that translates the license XML into the license template text is LicenseXmlHelper.getLicenseTemplate and the code that translates the license XML into text is LicenseXmlHelper.getLicenseText.

Licensing Information

Other than the README and related documentation, all data in this repository is generated. The source of the data is the license list XML Repository. LicenseListPublisher is the tool used to publish the data. Please see the respective repositories for licensing information.