Nice web design, but poor logic: Why OccupyGPL is wrong.

Update 2015-02-12, ~12 p.m. CT: Eric Schultz just told me that the OccupyGPL site has suddenly started redirecting to choosealicense.com, within the last few hours! So my post here is already obsolete — the problem has solved itself. If anyone knows more about this, please leave a comment here. In the meantime, I’ve put a copy of the original text at the end of this post for reference.

Someone just pointed out OccupyGPL to me.

The authors of that site are trying to advocate for open source software licenses of the permissive variety as opposed to the copyleft variety — the GPL being the best-known example of the latter.

OccupyGPL’s logic is confused, however, and their conclusion doesn’t hold up.

They start by saying flat-out:

The GPL is not a free license. It restricts freedoms only to people it deems to be morally acceptable. Often there are people who do not fall inside this morally acceptable box, yet they do really have good intentions.

That makes no sense. There is a very specific, well-developed definition of “freedom” that is used by the free and open source software movement. The Free Software Foundation expresses it elegantly in a four-point definition, and the Open Source Initiative expresses it somewhat less elegantly (but no less clearly) in a ten-point definition, but it’s the same concept either way. That’s also the same definition of “freedom” used by Freedom Defined, by Creative Commons, and by virtually every other organization, including even governments (see here for one example), for deciding what constitutes free and open source software. And under this widely-used, extremely well-agreed-on definition of “freedom”, the GPL is a free license. I mean, it’s not even a close call: just look at the definition, look at the GPL, and see that the GPL meets the definition. QED.

What OccupyGPL doesn’t like is the GPL’s “share-alike” clause, the one that says if you share a GPL’d program with someone, even one to which you have made modifications (such modifications are automatically also covered by the GPL), then you have to offer that recipient the full source code under the GPL, so that the recipient has all the same freedoms you have.

In the strange world of OccupyGPL, that’s a “restriction”, I guess because it… restricts you from placing restrictions on someone else? But that’s as silly as saying that outlawing slavery reduces freedom, because it takes away some people’s freedom to own slaves. Hey, the analogy may be inflammatory, but the logic is the same, and it doesn’t make sense in either case. The freedom to take away others’ freedom is not a meaningful freedom to have — the proper word for that is not “freedom” but “power”.

An only slightly less silly argument offered by OccupyGPL is that the requirement to distribute source code (on request) along with your program could be an onerous burden, and that any license that places onerous burdens on the licensor is problematic. Except that the requirement to distribute source code is not onerous and by definition can never be onerous: you have the source code, and clearly you have a distribution mechanism that was sufficient to distribute the program itself, so you can just distribute the source code via that mechanism as well. The marginal cost for doing so is, basically, zero. Anyone who distributes GPL’d software can comply with the terms of the GPL without any significant extra effort. We have all been doing so for decades now. It’s a complete non-problem. A requirement to enable redistribution is not the same as a restriction on use, no matter how hard they try to paint it as such.

So that argument doesn’t really hold up either.

The third argument offered against the GPL by OccupyGPL is a strictly utilitarian one, but even at that it’s pretty weak. Quoting from their site:

Lets assume that there is a company that wants to use your open source library and integrate it into their proprietary program, they’re even willing to improve your library and release the improvements to the public so that the whole community benefits.

Unfortunately, at the end of the day, the company needs to ship a product so it’d like to keep their core closed source. The GPL outlaws this kind of interaction. Our good citizen, a company wants to release their patches to your library back to the community and yet the GPL is banning them from doing so! It’s not giving them freedom at all! Instead, the GPL is a different set of restrictions. It may be that you personally find the set of restrictions that the GPL offers more morally palatable than traditional closed source licenses, but it is not a free license. It does not grant freedom, it grants different restrictions.

Okay, so now we’re not talking about “more free” vs “less free” anymore (despite the non-sequitur that closes the second paragraph above, and the abuse of the word “banning” to mean something it plainly does not mean). We’re just talking about whether the GPL suits someone’s business model. But that’s a pretty short conversation: the GPL doesn’t suit everyone’s business model — specifically, it doesn’t suit business models that involve restrictive monopoly powers. On the other hand, it’s great for those whose businesses depend on preventing monopolies. For example, consider this alternative utilitarian scenario:

Lets assume that there is a company that wants to launch an online srevice based on your open source program. Their plan is to make proprietary improvements to the program, such that people who use their service and come to depend on those proprietary improvements, have no way to get the source code under an open source license from the company. Not only are those people increasingly locked-in to the proprietary company, but your own business suffers because you insist on giving users (and competitors) freedom.

Fortunately, you released your software the AGPL (a variant of the GPL and no doubt equally hated by the folks at OccupyGPL). This means that the other vendor can’t offer customers a version of your code with proprietary additions — instead, that vendor has to release their changes under the AGPL too. They can still offer the service, but now everyone’s freedom is supported, and we get true competition in a non-monopolistic market. May the best service provider win! It’s a good thing you didn’t use one of those “permissive” licenses, because that would have resulted people’s freedoms being taken away.

This is not some far-fetched scenario, by the way. This is the actual, real-world business justification used by many companies — including my own company — for publishing software under copyleft licenses. I’m not saying that OccupyGPL’s scenario is not realistic. It’s also perfectly realistic. It’s just not a very good argument for the GPL being bad. Copyleft licenses have a complex range of effects; to cherry-pick one particular effect and use it as the basis for an unsupportably broad argument is poor logic and not even very convincing rhetoric.

In short, it doesn’t make sense to say that copyleft licenses are “more free” or “less free” as compared to permissive licenses. Both types of license are fully free; they just differ in other respects. Those differences are worth discussing, and which license you use will depend on what your goals are, but nominalism and cherry-picked scenarios are not a contribution to that discussion nor a help to people trying to choose a license.


Original text of OccupyGPL.org, for reference:

 

This is Google’s cache of http://www.occupygpl.org/. It is a snapshot of the page as it appeared on Feb 10, 2015 14:53:17 GMT. The current page could have changed in the meantime. Learn more
Tip: To quickly find your search term on this page, press Ctrl+F or ?-F (Mac) and use the find bar.

 

Occupy GPL! – The movement to encourage the usage of permissive open source licenses.




The movement to encourage the usage of permissive open source licenses.

The Manifesto

The GPL is not a free license. It restricts freedoms only to people it
deems to be morally acceptable. Often there are people who do not fall inside this morally
acceptable box, yet they do really have good intentions.

Lets assume that there is a company that wants to use your open source library and integrate
it into their proprietary program, they’re even willing to improve your library and release the
improvements to the public so that the whole community benefits.
Unfortunately, at the end of the day, the company needs to ship a product so it’d like to
keep their core closed source. The GPL outlaws this kind of interaction. Our good citizen,
a company wants to release their patches to your library back to the community and yet the
GPL is banning them from doing so! It’s not giving them freedom at all! Instead, the GPL
is a different set of restrictions. It may be that you personally find the set of restrictions
that the GPL offers more morally palatable than traditional closed source licenses, but it is
not a free license. It does not grant freedom, it grants different restrictions.

The GPL is not a free license. It does not grant freedom, it grants different restrictions.

The GPL is too restrictive for most projects. Instead it’s a good idea to use a
TRULY OSS license, a permissive license. Doing so will not make you
vulnerable to companies trying to magically make your code closed source, as you will
continue to distribute it.
There is a significant gain from having more people involved in your project.
Even if these people are companies who want to develop proprietary solutions. A company using
your technology will increase the value of the project. A LOT OF contributions
to open source technologies are from companies using these projects. If you however restrict them
from using your open source project, they might develop their own one which may be open source
(Congratz! You just got another competitor!) or proprietary. Neither you nor the company do really
benefit from this situation. You do want more people using your technology! And they do want to use
and work on an existing project to save a lot of development time and possibly creating a new industry
standard.

Join the Fight!

Here are a few ways on how you can encourage the usage of permissive licenses.

Spread the Word!

Let people know about this site:

Prefer projects using a permissive license!

Use more projects which are licensed under a permissive license, e.g. Clang, node.js or jQuery.

(Re-)License your projects using a permissive license!

License your projects using a permissive license like the MIT, BSD or Apache2 license.
If you have existing non-permissive projects think about relicensing them. Please be aware that the other
contributors also need to agree to the relicensing.

Let library developers know that you want to use it under permissive terms.

You want to use a library but you don’t like the license? Try to open an issue and contact a maintainer
about a possible license change. Discussion is healthy!

Help new open source developer understand that the GPL isn’t the right license for everything

A lot of young open source developers license everything with GPL terms without even knowing
possible consequences. The popularity of GPL projects like Linux made the GPL to be a somewhat
standard choice. This isn’t good! A lot of open source projects would benefit more from a
permissive license. Create awareness, be awesome!

Permissive Licenses

Some popular Permissive licenses.

MIT License

A permissive license that is short and to the point. It lets
people do anything with your code with proper attribution and without
warranty.
License | TLDR; Legal

BSD 2-Clause License

A permissive license lets people do anything with your code with proper attribution and without warranty.
License | TLDR; Legal

BSD 3-Clause License

A permissive license lets people do anything with your code
with proper attribution and without warranty. With a Trademark clause.
License | TLDR; Legal

ISC License

The ISC license is functionally equivalent to the BSD
2-Clause and MIT licenses, removing some language that is no longer
necessary.
License | TLDR; Legal

Apache v2

A permissive license that also provides an express grant of patent rights from contributors to users.
License | TLDR; Legal

Frequently Asked Questions

Q: I don’t want others to close my code!

A: They can’t, your code still is open source. What did they close then? THEIR work
which just happens to be based on your open source code. If you don’t like this, then your
existing license may be a good fit after all.

Q: What is if they write a wrapper around my lib and sell it for $10.000?

A: Yes that could happen but it’s also a rather unlikely scenario. If all they’ve done
is a thin wrapper then you or someone else in the open source community is also capable
of making such a thin wrapper in no time. Then all you need do is undercut them
by $10.000 and a good chunk of freedom.

The more likely scenario is that a company takes your code and produces a large amount
of other code that just happens to use your lib at its core. The said company will sell
their code and their extensions for a large sum of money and they are perfectly entitled
to do so. It’s after all THEIR code.

Even this scenario is beneficial to you. Said company will likely find bugs and fix them.

Q: Open source projects can’t live without the restrictions the GPL offers!

A: Thats not true! Several of our most beloved open source projects are using permissive
licenses: Clang, LLVM, node.js, jquery.

Q: Whats with the name? “Occupy GPL” do you want to destroy the GPL? And all GPL projects?

A: No. Yes it may sound like this, especially thanks to the old really misleading
subtitle. We’ve choosen that name because it’s very aggressive and generates a lot of
attention. We think that the GPL isn’t a good license and it shouldn’t be used as much
as it is today in open source software. Thats an opinion. There is lots of cool software
licensed under the GPL which we’re using every day: Linux, Git, Blender and a lot more.
Kudos to all those awesome folks!

Q: You clearly have no idea what free software is about.

A: Maybe, but I’m more interested in open source software anyway (The FSF makes a distinction here).
I’m also not interested in politics. Just technology and how to improve it.
A nice quote from Linus Torvalds:

“That’s the point of open source – the ability to make the code better for your
particular needs, whoever the ‘your’ in question happens to be.”

Q: What about the LGPL? It seems to fit your problem.

A: Yes the LGPL is (in our humble opinion) a huge improvement over the GPL and somewhat
solves a lot of the problems I’ve mentioned. But it’s also way more complicated to use
then a permissive license and you still have the risk of doing copyright infringement
just by using the project the wrong way.

Q: Isn’t this a bit too aggressive? This site and all? GPL is cool, please don’t hate it

A: Yes, it’s aggressive but that was intentional :), we think that there is a problem
which needs to be tackled, for which one needs attention. If you’re hapy with everything
as it is, cool! Have a nice day!
If you however see a problem in

posts like this
you’re probably at the right place!

Q: What is the purpose of this site?

A: To encourage the usage of permissive open source licenses and create awareness that
the GPL isn’t the right license for every open source project.

Q: I HATE YOU, I HATE THIS, I’LL NOW MAKE MY OWN OCCUPY PERMISSIVE LICENSES SITE!

A: Cool. Feel free to fork this
page
. You can even relicense it under GPL terms if you want to. It’s MIT licensed after all.

We ? open source. Want to help with translation or fix a typo? Fork this website on Github! or contact us @OccupyGPL

7 comments

  1. The problem is in your mumbled aside, “(such modifications are automatically also covered by the GPL)”.
    You are bound (ie you have no freedom to do otherwise) to distribute code that [b]you have written[/b] on top of GPL code, under a GPL license.

  2. just a few point on gpl licenses

    – despite the name “free software” advocated by the fsf, the gpl is by far the most restrictive of all open source license
    – as explained many times by Richard stall man, “free software” and open source that should not be confused
    – ar big issue with the gpl license itself is the “or later” part. Most people don’t understand the very strong implication of those words.
    – In the long and complex legal text of the gpl, there are 2 words “or later”, which means that an external organsation can change the license or your work with even warning you. In our case the organization is the fsf.

  3. When Stallman talks about freedom, he means that individuals should have control over oneself. Proprietary software inherently means that people are wielding unjust power over the users and this cannot mean freedom for the users. Stallman created the GPL so that users will always have the freedom to control the software they have and also to prevent his GNU software from being forked into proprietary software. Copyleft is freedom because users who have copyleft software will always have the freedom to control the software and also to share it.

  4. @Jack:

    Yes, that is correct. Another way to say that is that the GPL doesn’t let you deny others’ freedom :-). But to be accurate: the GPL does not force you to redistribute your code. It merely requires you to accompany executable (binary) distributions with corresponding source code under the GPL, and only when the recipient explicitly requests. No one forced you to distribute the binary in the first place, though.

    @Jerome:

    Free software and open source refer to the same set of software; see this explanation for more. Your claim that GPL is by far the most restrictive is just another way of making the same mistake I believe OccupyGPL made: treating a non-burdensome requirement to facilitate redistribution as a restriction. A “restriction” would be a ban that prevents you from doing something; a requirement to redistribute under non-restrictive terms is not itself restrictive (so long as it can be trivially satisfied, which it always can), because it does not prevent you from doing anything you want with your copy of the software. You just can’t prevent other people from obtaining their own copies and doing what they want too. To call this inability to prevent others’ freedom a “restriction” really stretches the word.

    The “or later” clause is optional, and many projects do not apply it — including, most famously, the Linux kernel.

  5. “They start by saying flat-out: ‘The GPL is not a free license.'” and then “That makes no sense. There is a very specific, well-developed definition of “freedom” that is used by the free and open source software movement.” Karl, the words “free” and “freedom”, contrary to your apparent belief, are not actually defined or trademarked by Stallman and his ilk. You will find their actual definitions in the dictionary. If you need to make your arguments by denying the author’s right to use English words according to his understanding of their dictionary meanings, then you are being intellectually dishonest.

    “In the strange world of OccupyGPL, that’s a ‘restriction’, I guess because it… restricts you from placing restrictions on someone else?” Here we go again, Karl. Please read the dictionary definition for “restriction”. If the GPL disallows anything at all under any circumstances, then there is a restriction. It’s really very simple, Karl. You may choose to decide the restriction has no negative impact on you, but you do not get to decide that for anyone else.

    “Except that the requirement to distribute source code is not onerous and by definition can never be onerous”. Please, Karl, buy a dictionary or find one online. The definition of “onerous” is not what you think it is. The practical impact of a requirement does not even have to be the same for you, I, or the author you’re criticizing.

    I never read the article you’re arguing with and, to be honest, I stopped reading yours at this point. Karl, when you cannot pose counterarguments to someone without resorting to moving linguistic goal posts around, then your position simply evaporates in a cloud of that intellectual dishonesty.

  6. I disagree with the statement in the update that choosealicense.com is “excellent”. Choosealicense.com is strongly biased against the GPL still. It presents that the default choices should be permissive, emphasizes carefully that if patents are a concern *the* choice would be Apache (not GPLv3), and then when it mentions copyleft, it describes it *only* as being about code-sharing and *not* about protecting freedom, *and* it defaults copyleft to being GPLv2 (probably because the mildly anti-copyleft creators of the choosealicense.com site prefer the loopholes in GPLv2 over the way the GPLv3 and AGPLv3 close the loopholes). The site has a veneer of neutrality while being designed as strongly as possible within that to discourage copyleft and always prefer the weakest copyleft over stronger copyleft.

    P.S. You should update rants.org to CC 4.0 instead of 3.0

  7. @A Passerby:

    I checked “onerous” just to make sure, and got this definition: “involving an amount of effort and difficulty that is oppressively burdensome.” That is precisely what I meant where I used the word. I see your point about the varying definitions of the word “freedom”, but I think the definition used by the free and open source software movement is both reasonable and intuitive: the GPL allows any use, modification, and redistribution of the software. It places a requirement that requests for complete redistribution be fulfilled, but I don’t think that’s a true impingement on anyone’s freedom, in part because it is so trivially easy to satisfy, and in part because its ultimate effect is to create freedom for others.

    A similar point holds for the way I used the word “restriction”. To use the definition you propose (“If the GPL disallows anything at all under any circumstances, then there is a restriction.”) would be so literal as to be useless for purposes of argument, because it ignores the default setting of severe restrictiveness in copyright law. For example, would you say that a license is “restrictive” because it requires proper attribution? Virtually all open source licenses do so, including the so-called “permissive” ones. Yet to label every license restrictive would be to render the word useless, at least in this context. You could say that all licenses are “restrictive” compared to the public domain, maybe, but that wasn’t what the conversation was about.

    The GPL is not restrictive except in the sense that it prevents licensors from taking action — or resorting to inaction when a trivially easy action is available — that restricts others’ ability to access, use, modify, and redistribute the code. Just because someone feels that as a restriction does not make it objectively restrictive, especially when weighed against the liberties allowed and indeed enforced by the GPL.

    More generally, I didn’t get this: “If you need to make your arguments by denying the author’s right to use English words according to his understanding of their dictionary meanings, …” Hunh? I’m not familiar with that “right”. Language only has meaning as an agreement between interlocutors. If the authors of OccupyGPL meant something very different from what I mean by “free”, then perhaps we are talking about different things. I understood their argument to be that the GPL should not be categorized as a so-called “free license” even under the definition of “freedom” used by the FSF and the OSI. In other words, I wrote my response assuming that OccupyGPL meant the same specific definition of freedom that I meant, and that they simply disagreed that the GPL met this definition — i.e., they thought the FSF and OSI made a mistake. However, throughout the response I also present an argument for why the definition of freedom that I use (and the FSF and OSI and many others use) is a good practical definition to use. You can still disagree with that, and in that case you’d be right that we’re having a terminological dispute (albeit one that points to a deeper and more significant ontological dispute underneath). But that’s not what I thought the OccupyGPL authors meant.

    @Aaron: Done and done. Thanks.

Leave a Reply

Your email address will not be published. Required fields are marked *

Rants.org Comments Policy

nine × = ninety