In free software there’s a disappointing number of licences which are compatible in some cases and not in others. We have a licence policy in KDE which exists to try to keep consistency of licences to ensure maximum re-usability of our code while still ensuring it remains as free software and companies can’t claim additional restrictions which do not exist on code we have generously licenced to them.

Our hero and (occasional chauvinist god character) Richard Stallman invented copyleft and the GNU GPL to ensure people receiving Free code could not claim additional restrictions which do not exist, if they did they lose the right to copy the code under that licence.

An older class of licence is the Permissive Licences, these include the BSD licence, MIT licence and X11 licences, each of which have multiple variants all of which say essentially “do whatever you like but keep this copyright licence included”. They aren’t maintained so variants are created and interpretations of how they are applied in practice vary without an authority to create consensus. But they’re short and easy to apply and many many projects are happy to do so. However there’s some curious misconceptions around them. One is that it allows you to claim additional restrictions to the code and require anyone you pass it onto to get a different licence from you. This is nonsense, but it’s a myth which is perpetrated by companies who want to abuse other people’s generosity in licences and even by groups such as the FSF or SFLC who want to encourage everyone to use the GNU GPL.

Here’s the important parts of the MIT licence (modern variant)

Permission is hereby granted... to deal in the Software without restriction... subject to the following conditions: The above copyright notice and this permission notice shall be include

It’s very clear that this does not give you licence to remove the licence, anyone who you pass this software on to, as source or binary or other derived form, still needs to have the same licence. You don’t need to pass on the source code if it’s a binary, in which case it’s not free software, but you still need to pass on this licence. It’s unclear if the licence is for patents as well as copyright but chances are it is. You can add your own works to it and distribute that under a more restricted licence if you like, but again you still need to pass on this licence for the code you received it as. You can even sublicence it, make a additional licence with more restrictions, but that doesn’t mean you can remove the Free licence, it explicitly says you can not. Unlike the GPL there’s no penalty for breaking the licence, you can still use the licence if you want and in theory the copyright holder could sue you but in practice it’s just a lie and nobody will call you out and many people will even believe your lie.

Techy lawyer Kyle E. Mitchell has written an interesting line by line examination of the MIT licence which it’s well worth reading. It’s a shame there’s no authority to stand up for these licences and most people who use such licences do so because they don’t much are about people making claims over their code. But it’s important that we realise it doesn’t allow any such claims and it remains Free software no matter who’s servers it happens to have touched on its way to you.

I’m currently proposing some updates to the KDE licencing policy. I’d like to drop use of the unmaintained FDL in docs and wikis in favour of Creative Commons ShareAlike Attribution 4.0 which is created for international use, well maintained, and would allow sharing text into our code (it’s compatible with GPL 3) and from Wikipedia and other wikis (which are CC 3). Plus some other changes like allowing AGPL for web services.

Discussion on kde-community mailing list.

Diff to current.