Open Knowledge

Defining Open in Open Data, Open Content and Open Knowledge

Licenses API

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.

View the licenses available

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:


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": ""

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:


And here's how to use curl to access the CKAN license group:


Git Access

You can also get the material as a git repo:

git clone

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


Thus, the JSONP version of a file named:


whether it is a license group or an individual license, will be located at:


For example from jQuery:

    dataType: 'jsonp',
    // you *must* set the callback function to be license_callback
    jsonpCallback: 'license_callback',
    success: function(data) {
        console.log('License title is ' + data.title);

Because our JSONP data is served from a static files, it has a hardcoded callback function and therefore must name your callback function for the JSONP request


Licenses List