Open Licenses Service Open Source, Open Data and Open Content Licenses in JSON and API friendly form
The Open Definition states: "A piece of content or data is open if anyone is free to use, reuse, and redistribute it — subject only, at most, to the requirement to attribute and share-alike."
Data on more than 100 open licenses
Including all OSI-approved open source licenses and all Open Definition conformant open data and content licenses. Provided in easy to use, machine readable JSON -- perfect if you need to drop a license chooser into your app.
License Groups
In addition various generic groups are provided that are useful when constructing license choice lists, including non-commercial options, generic Public Domain and more. Pre-packaged groups include:
- All licenses
- OSI compliant
- Open Definition compliant
- Specially selected set developed for CKAN that is perfect for data and content site license choosers.
Format
JSON hashes with the following keys:
{ "id": "ODC-BY-1.0", "domain_content": false, "domain_data": true, "domain_software": false, "od_conformance": "approved", "osd_conformance": "not reviewed", "status": "active", "title": "Open Data Commons Attribution License 1.0", "url": "http://opendatacommons.org/licenses/by" }
Spot an error, think we should have more info? Please file an issue or submit a patch. .
How do I use it?
Get the data
Download the licenses, either all in one, individually (see below) or in specific groups (see above).
For example, here's how to use curl to access an individual license:
curl http://licenses.opendefinition.org/licenses/odc-by.json
And here's how to use curl to access the CKAN license group:
curl http://licenses.opendefinition.org/licenses/groups/ckan.json
Git Access
You can also get the material as a git repo:
git clone http://github.com/okfn/licenses
Javascript Access (JSONP)
We also provide a simple way to get direct access from javascript in the browser using JSONP, by providing versions of the all of the data in the jsonp subdirectory wrapped in a callback function named license_callback
.
Thus, the JSONP version of a file named:
xyz.json
whether it is a license group or an individual license, will be located at:
licenses/jsonp/xyz.json
$.ajax({ url:'http://licenses.opendefinition.org/groups/jsonp/ODC-BY-1.0.js', dataType: 'jsonp', // you *must* set the callback function to be licenses_callback jsonpCallback: 'license_callback', success: function(data) { alert('License title is ' + data.title); } });
license_callback
.