Skip to content
Emmanuele Bassi edited this page Oct 14, 2015 · 1 revision

Why Graphene is licensed under MIT/X11

This is not really a FAQ, in the sense that nobody actually came forward and asked me why did I choose to release Graphene under the terms of the MIT/X11 license. I just wanted to write it down now, before somebody does ask.

The primary reason was that I took inspiration from another library, Vectorial by Mikko Lehtonen, when I started writing Graphene; he decided to use the 2-clauses BSD license, and I didn't want to add any further restriction in case I ended up cribbing the ARM code from Vectorial — which I did, until I rewrote most of it to the point where it diverged considerably. At that point, I could have simply relicensed Graphene under LGPL v2.1+, which is the license I'm most comfortable with, since my early days in the GNOME project.

The truth is, though, that I don't consider Graphene important enough, in the grand scheme of things, to be licensed under copyleft. After all, it's just a set of wrappers around intrinsic calls for vectorised types, or a bunch of math. It took me about a week to get it to its basic, running state, and I suspect anybody else would take just about as much — if not less — to rewrite it from scratch.

Graphene is just putting a nicer layer of paint on top of existing lower level APIs, and as such I decided to make it really as simple to incorporate in other projects as I could — which, sadly, means using a BSD-like license.

I guess the important thing is what Graphene enables you to do in your own code or project, and for that, choosing LGPL v2.1+ or MIT/X11 has the exact same set of results in terms of licenses you can use.

Clone this wiki locally