Changing project licences

Posted in Misc on 20.10.2010.

The time has come to seriously think about licences for my open source stuff.

Those few sods who are following me on GitHub could notice that I've been making some rather ridiculous commits recently. Well, not ridiculous, just not very useful.

After some serious contemplating, I've decided to licence my stuff under three licences: MPL, GPL and LGPL. There is basically only one reason why I decided to do this: to keep those projects alive and usable by everyone.

My understanding of licenses is very limited, for several reasons. First, I'm not a lawyer; and second, licenses are usually written in some sort legalese cryptic ancient-sumerian English which only the author can understand. In his sleep. But never awake.

In any case, after googling for a while, I've concluded that GPL is a bit too restrictive for any sort of components, plugins, etc.. It seems like the mere use GPL in your app forces you to make the whole app GPL'd. Which sucks. LGPL makes those restriction a bit looser, but is "complicated", because somehow the "linking" between an app and a LGPL'd component is not really defined.

Then there's MPL, or Mozilla Public License, which provides exactly what I wanted: you can use stuff under MPL in a commercial proprietary app, and the MPL part does not affect the rest of it. The only thing MPL does is ensuring that any improvement and modification of the MPL'd code itself is returned to the community. Which is awesome.

Basically, you can use MPL'd code in any kind of app you want, as long as any improvements are contributed back. However, MPL doesn't seem to be compatible with GPL. Apparently, you can't use MPL code in the same project with GPL code. Don't ask me why, I think only rms knows. Maybe.

So, in the end, everything has been switched to a multi-license scheme under MPL/GPL/LGPL. This means you can take the code, and use it virtually anywhere, GPL, MPL, proprietary/commercial or whatever. As long as your modifications find their way back home, we're cool.

NB: This may not apply to all my projects, but to libraries, plugins etc, it most definitely will. Full applications will probably remain under GPL.

Article comments — View · Add

No comments!