Yesterday, a discussion came up regarding which software license is more or less restrictive. We were agreed upon ‘public domain’ and ‘proprietary’ licenses, however, the issue of BSD vs GPL came up. I turned to my friend, software license expert, and GNU member David Crossland for help on this issue.
David has written an excellent article, which I hope people can take time to read and digest.
First we have to resolve which BSD and GPL licenses you refer to.
The original BSD license is an all permissive (non-copyleft protected) license that is incompatible with all versions of the GPL. The revised (1999 onwards) BSD license is an all permissive license that is compatible with all versions of the GPL.Therefore the FSF recommends calling simple all-permissive licenses compatible with the GPL “X11†licenses instead of “BSD†ones. (OSI says “MIT†licenses, but MIT has released under lots of licenses so its not ideal.)
Which is more free, X11 or GPL? They are equally free. X11 style licenses are free software licenses. The GPL licenses are free software licenses. Being a free software license is a binary value. At the important level, it is nonsense to say one is more or less restrictive than any other.
In the details, there are differences though.
Revised BSD is “more free†than original BSD because it is GPL compatible; you are free to distribute combined versions of such with all the GPL software out there, and that is very useful. Its a very secondary kind of freedom though, compared to the kind of freedom that defines free software.
The GPL has clauses to ensure the software remains free for all users of the software. Copyleft is the main example of this as it was in GPLv1; GPLv3 has other clauses like those about Tivoisation. To me these are protections, but proprietary software developers call these clauses “restrictions†because they restrict them from restricting everyone.
There is tonnes of bullshit around the web that says stuff like “From the perspective of the user, the BSD license is actually more “free†than the GPL: you can do whatever you want with the code, including wrap it up and make it proprietary.†But by “more†they mean “less,†by “users†they mean “developers†and by “including†they mean “especially.â€
It is less freedom from the perspective of users because X11 licenses allow middlemen developers to make proprietary versions, so not all users will have freedom. With GPL, all users will have freedom. What you can do is freedom; when what you do effects others, it is not really freedom by power. The GPL restricts the amount of power you have over other people, it does not restrict your freedom. [0] So if you are making your software free, the GPL does not restrict you at all.
Since GPL software cannot become proprietary, the GPL makes for more freedom, overall.
However, there are exceptions to that. For example:
- The Xiph media formats are non-copyleft, to promote wide adoption of the format.
- A non-copyleft TCP/IP implementation was neccessary to build the Internet. [1]
- Font software is different to regular programs, and so the Open Font License is more suitable than the GPL for most fonts.
The FSF publishes the LGPL, a weak copyleft. A weak copyleft means that someone can link their proprietary software to your free software, but must keep your parts free. Sometimes – rarely, today – it can be strategic to release software that permits this, but it is not generally recommend. So it could be said that all-permissive non-copyleft free software licenses are more restrictive than the GPL, from the perspective of users, because some versions of the software will be proprietary.
However, I think its better to reformulate the question: Which license will result in the most freedom for all users? Usually this is the GPL, but it depends on the situation.
[0] Bradley Kuhn – CTO of softwarefreedom.org and previously Executive Director of FSF and a very cool guy who I met last time I was in New York – wrote about this in “Freedom or Power?â€
[1] Programming languages are typically non-copyleft, although I think thats a shame – Perl was originally GPL, and if it remained GPL, all perl software would be GPL. I don’t know the exact circumstances why it switched, although I’d like to.
December 13, 2007



















Sorry, no comments yet.