Why all the GPL hate?

Lately there has been a lot of nonsense (as I see it, ho ho) going around about the GPL. Perhaps it's just that the people who dislike it are becoming more outspoken, but many people are saying that they have recently come to believe that the GPL must necessarily spell the end of all software companies, the loss of zillions of jobs, and so on and so forth. I believe this is all a lot of hooey. The following material is (currently) the culmination of a long and involved thread on the subject on Google+; I will spare you a link as this is probably the most cogent contribution I made to the conversation anyway. Content after the break.

The problems with software are artifacts of other problems in our societies that people talk about all the time; laws like those pertaining to copyright and patents, and "base" elements of human nature like selfishness and greed. That doesn't mean that we shouldn't try to improve problems with software while we also try to improve other aspects of the world. Some people are simply best at addressing these issues.

It has been shown time and again that the GPL is an effective means of providing a corporation the interest to release the code. I am still having a very difficult time imagining how someone can be offended by someone placing terms on a piece of code which they are giving away (or, if you prefer, licensing) which grant you rights otherwise denied you by law by default. You complain of not having the right to distribute that code without also distributing the source code, but by default, you have no rights to reuse OR redistribute that code at all. The GPL does not take away rights; it grants them.

If you are comparing to the BSD, MIT, Artistic, CC-by-SA, or a similar license, you could make the false argument that the GPL is depriving you of rights, but in truth that is a false dichotomy. The author who chooses the GPL might well choose not to share the code at all if not for the provision that downstream distributors must likewise contribute back to the end user. Indeed, users who are developers have a choice between a BSD operating system under a BSD license, and (among others) Linux under the GPL, and the majority have chosen the GPL. Likewise, the developer who chooses to incorporate GPL-licensed code into their project does so based on the assumption that it is a winning value proposition; they have the choice to replace the code with some of their own devising before they ship, or distributing the code to end users. Or they can do what people did before any kind of [F]OSS had become trivial to locate or even readily available, and pay someone for some code.

Given that the GPL only increases choice for the developer and for the user who chooses products whose code is covered by such a license, and does not eliminate any existing options or opportunities, I would love it if someone could please explain how it will bring about the demise of existing business models. It may bring about the demise of certain specific businesses, but many businesses are inefficient or indeed a net drag on the industry and they should be permitted to cease to exist. The notion that corporations should exist forever is a modern one, and it is not really working out that well.



I know this old but anyway I have an answer as to why I personally dislike the GPL.

Richard Stallman and other Free Open Source Software proponents have very strong moral opinions about open source. They believe that open source is the absolute, objective, morally correct choice and any form of closed source software is the absolute, objective evil, they also have similar views with regards to commercial software licenses, copyright and patents. They do bring up some valid points, I'll list a few of then which are relevant to my comment:

1. People should have the freedom to do what they want with software and not be bound by restrictive licenses, they should have the freedom to view and make their modifications to the source code.

2. The only way to enforce commercial licenses is by lengthy and costly court procedures, this entire process is a complete waste of the courts' time and tax payers' money.

3. The idea of intellectual property is fundamentally flawed. Unlike ownership of a material object, people do not have inherent ownership over ideas. If my neighbour comes up with the great new rake design which is more effective at collecting leaves than any other design in existence, there is nothing stopping from cloning his rake design and using it in my own yard, there is nothing to say I cannot use his rake design and add my own innovations to it and even make money selling rakes which adhere to the design. There is also nothing to say that somebody can't come up with a design similar to his. This is the fundamental flaw of intellectual property.

Oh and here is bonus moral point they bring:

People who want to exert control over their own source code and do not want to share it with the community are greedy and selfish. They haven't discovered that the greatest reward is in sharing and contributing to the community, not in making money or in feeding their ego by tying a certain product to their name.

Those are the points, I'm in agreement with most of what they say however here's the problem: The GPL goes against all of the points.

1. The GPL is a license above all it tells you what you can and can't do with the software/code that you are using. You are bound to that license, you're not "free" as in freedom to do whatever (meaning even selling and not contributing back) you want with the source code. This makes the GPL no different from any commercial license, sure it's terms are different but its still a license. The FOSS movement was supposed to get rid of licenses due to all the problems associated with them.

2. How is the GPL enforced? What happens if say Microsoft (I'm just using them as an example, it could be anyone) decides to use an open source GPL product in their Windows operating system and make money off of it without redistributing its source code or any of their own. That's right Microsoft will get sued, this means: lengthy, costly court sessions, lots of lawyers, lots of time wasted the resolution of who is right, who is wrong could take years, and lots of tax payers' money wasted. Suddenly the GPL is responsible for exactly the same problems as any commercial licenses because there is no other way to enforce a license be it a copyright or copyleft license.

3. GPL falls apart here. Look at it this way: all code licensed under GPL belongs to GPL, you can do with it whatever GPL allows you to do, the code always belongs to GPL. Lets say I see some GPL code, I clone it (that means I do a rewrite) now is that code licensed under GPL or not, am I forced to distribute that code along with my end product, if yes why? It's no different from the rake design story there is no reason why the new code should have anything to do with the GPL. Furthermore merely looking at some piece of GPL licensed code, may inspire new ideas and influence the way I write future projects, does that mean that any new project I undertake has to now be licensed under the GPL and I have to redistribute the source code? Do all my new ideas which are inspired from previous ideas, belonging to GPL, now belong to GPL, This is actually scary. Another confusing scenario is created when source code licensed under a less restrictive license, such as BSD, is redistributed with a GPL project, the same identical, unmodified source code, is now GPL licensed. So which license do I have to adhere to, I can adhere only to the BSD but how can I be sure that some lawyer isn't going to come banging on my door due to the exact same code being later released under GPL which I am not adhering to. This is exacerbated with the passing of time, eventually we end up with a chicken and egg scenario, under which license was the code first released? What's to stop someone from claiming in court that the code was first licensed under GPL and that the BSD licensed code should not exist. This shows that the GPL is a JAIL (just another irritating license), it has all of the same problems that any commercial EULA has, it just offers some proposed freedom, the irony is that it "forces you to be free" which really means you're not free at all. The FOSS was supposed to get rid of licenses, patents and fundamentally flawed ideas such as intellectual property, the GPL does not get rid of those ideas but actually embraces them.

Now for the bonus moral statement: I'm not going to argue the moral points, it's debatable and personally I believe its not a simplistic black and white scenario, it's up to developers, if they choose to never release their hard work it's their choice and I respect that. Anyway the GPL proponents made the above moral statement that you shouldn't care what is done with your code, etc. However when it comes to Microsoft or some other corporation using their code without releasing it "I DON'T WANT THEM STEALING MY CODE", a complete 180 degrees from their previous moral high ground, all of a sudden now they do care, they do indeed want to exert control over their source code and no longer feel the reward in just contributing to the community. Why are they open sourcing then, to boost their ego "look how cool we are, we give our source code away"? To avoid looking bad, if you care about your code, do not want it to be "stolen" then you should probably not release in the first place. Yes I get the problem if the corporation decides to patent the code and prevent the original develop from further developing his/her own work, or decide to sue the original developer for data loss even though they haven't paid a cent to the developer, but that's a different case altogether and BSD is designed to prevent that, however most FOSS proponents who advocate GPL are just angry that a big corporation uses their code, that is hypocritical.

Look, I know you've drunk the OSI kool-aid, but you've got that exactly backwards. "Open Source" just means that you can get access to the sources. That's it. Done. It meant that before the OSI was even a thing (see link prior.) But the reason you're not making any sense is that the "F" in "FOSS" stands for the GPL, because the GPL is the Free Software License we're thinking of when we say "Free Software", and "FOSS" stands for "Free [or] Open Source Software".

Free Software advocates are not against big corporations using their code. They're against using their code without respecting the license. You know, precisely the same thing the big corporations don't want us to do? Hypocrisy is the greatest luxury.

P.S. Feel free to reply to ancient articles, especially if they are rants. It's possible that my ideas will have changed since posting... not in this case

Add new comment

(If you're a human, don't change the following field)
Your first name.
(If you're a human, don't change the following field)
Your first name.
(If you're a human, don't change the following field)
Your first name.


  • Use [fn]...[/fn] (or <fn>...</fn>) to insert automatically numbered footnotes.
  • You may link to images on this site using a special syntax
  • Web page addresses and e-mail addresses turn into links automatically.
  • To post pieces of code, surround them with <code>...</code> tags. For PHP code, you can use <?php ... ?>, which will also colour it based on syntax.
  • Internal paths in single or double quotes, written as "internal:node/99", for example, are replaced with the appropriate absolute URL or path. Paths to files in single or double quotes, written as "files:somefile.ext", for example, are replaced with the appropriate URL that can be used to download the file.
  • Filtered words will be replaced with the filtered version of the word.
  • Lines and paragraphs break automatically.
  • Allowed HTML tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd> <blockquote> <q>


  • Lines and paragraphs break automatically.
  • To post pieces of code, surround them with <code>...</code> tags. For PHP code, you can use <?php ... ?>, which will also colour it based on syntax.
  • Allowed HTML tags: <a> <em> <strong> <cite> <blockquote> <code> <ul> <ol> <li> <dl> <dt> <dd>

Drinking Game

  • Web page addresses and e-mail addresses turn into links automatically.
  • Allowed HTML tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd> <img> <p> <br> <pre> <h2> <h3> <h4>
  • Images may be embedded like: [image:node_id align=alignment hspace=n vspace=n border=n size=label width=n height=n nolink=(0|1) class=name style=style-data node=id] Leave off any attributes you don't want.
  • [img_assist|...] tags will be displayed, maybe. Please don't make more of them.

Plain text

  • No HTML tags allowed.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Lines and paragraphs break automatically.
This question is for testing whether you are a human visitor and to prevent automated spam submissions.