Is the BSD license more or less restrictive than the GPL?

My friend Chris Buckley, now in the employ of Red Hat, asked me today:

Is the BSD license more or less restrictive than the GPL?

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:

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 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.

Creative Commons License
The Is the BSD license more or less restrictive than the GPL? by David Crossland, except the quotations and unless otherwise expressly stated, is licensed under a Creative Commons Attribution-Share Alike 3.0 Unported License.


4 Responses to “Is the BSD license more or less restrictive than the GPL?”

  1. Christopher J. Buckley | s/BSD+GPL/Software-Freedom on December 13th, 2007 11:18

    […] has written an excellent article, which I hope people can take time to read and […]

  2. MIchael Dean on December 13th, 2007 23:12

    I believe this post must be a disguised plug for Stallman’s FSF. To say GPL is Free is a misnomer, because I can’t spend my money to improve or modify the code, in the hope of getting a competitive advantage for my business, because I must reveal the source code on all my modifications. So any improvements I make COST ME BIG TIME! BSD software, on the other hand, especially that version incompatible with the GPL, I can improve and use for my competitive advantage, Like Juniper does with FreeBSD, and I don’t have to release my improvements immediately to the so-called community, thus money I spend to improve my competitiveness is WELL SPENT. BSD must work better, because all of the most successful communities are BSD, like Apache, Postgresql, etc. And I actually contribute to OpenBSD and Postgresql because I believe in them. Its hard to believe in code from the original GPL programming group when they finally take their program private and commercial and possibly IPO after they get thousands of FREE improvements. For my business, the only GPL code I would use is any code I am not interested in modifying and improving.

  3. David Crossland on December 13th, 2007 23:26

    HI Michael!

    You can spend your money to improve GPL code, and there is no requirement to reveal source code to your modifications. There is only a requirement to reveal source code to the users of your software; if you make modifications and keep them private, that’s fine.

    To say all-permissive licenses “must work better, because all of the most successful communities are” using them, is like saying “Gods must exist because most people believe in at least one.” Sadly, this is a fallacy.

    I’m glad to hear you contribute to some free software projects.

    I’m not sure what you mean about “the original GPL group” having an IPO.

    SugarCRM is a “business” company that promotes the GPLv3.

  4. magnus » Blog Archive » BSD or GPL? on January 7th, 2008 15:07

    […] Is the BSD license more or less restrictive than the GPL? […]

Leave a Reply