Notes from paultag

The Open Source License API


Paul Tagliamonte

Around a year ago, I started hacking together a machine readable version of the OSI approved licenses list, and casually picking parts up until it was ready to launch. A few weeks ago, we officially announced the osi license api, which is now live at api.opensource.org.

I also took a whack at writing a few API bindings, in Python, Ruby, and using the models from the API implementation itself in Go. In the following few weeks, Clint wrote one in Haskell, Eriol wrote one in Rust, and Oliver wrote one in R.

The data is sourced from a repo on GitHub, the licenses repo under OpenSourceOrg. Pull Requests against that repo are wildly encouraged! Additional data ideas, cleanup or more hand collected data would be wonderful!

In the meantime, use-cases for using this API range from language package managers pulling OSI approval of a licence programmatically to using a license identifier as defined in one dataset (SPDX, for example), and using that to find the identifier as it exists in another system (DEP5, Wikipedia, TL;DR Legal).

Patches are hugely welcome, as are bug reports or ideas! I’d also love more API wrappers for other languages!