Log in

No account? Create an account

Dewi Morgan

GPL is evil, viral and parasitic. Public Domain is good.

GPL is evil, viral and parasitic. Public Domain is good.

Previous Entry Share Next Entry
I would like to ask you not to accept this term ['viral'] without proper resistance.
  - Richard Stallman

The following are beliefs I hold strongly: but while I would like you to think the same as me (if you care at all), please do think about it yourself. There is plenty of pro-Gnu stuff out there: this is the other point of view.

What are the problems with the GPL?

I like these licenses; they encourage people to contribute patches and improvements back to the Open Source community because doing so leads to better software, not because of some moral imperative.
  - Tim O'Reilly

The GPL is viral and parasitic by design, while claiming to "protect our interests". However, people using such emotive words are generally regarded as frothing at the mouth.

But I don't know of a better word than viral to describe "a clause that either prevents merging of two codebases with differing licenses, or causes the other license to fall out of effect, and which prevents all subsequent users of the code from adding or removing any restrictions or alternate licenses."

And I don't know of any better term than parasitic to describe a clause which means "any GPL fork of an open source project originally released under another license, can take any improvements subsequently made in the other fork, but the other fork can't take any of the GPL improvements."


Combinations between FreeBSD and GPL are possible as long as the combination is released under the GPL.
  - GNU website

The GPL changes the licenses of other code that it comes into contact with, by design: "You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License." (http://www.gnu.org/copyleft/gpl.html ).

Unfortunately, it's a losing battle for the other, non-evil open-source licenses, because they do not change other licenses they come in contact with. GPL overrides them, or prevents the GPL'd software being added to them.

This causes this license to be unfairly competitive (but nobody states this, as open source can't be anti-competitive: it's not meant to be competing against itself!). So it embraces and extinguishes all other licenses. But doesn't extend them: it reduces the freedoms they gave.

The GPL proponents, including the FSF and GNU:

  1. encourage people to write their libraries as GPL, rather than LGPL, which omits this clause;
    http://www.gnu.org/licenses/why-not-lgpl.html and http://www.gnu.org/copyleft/lesser.html
  2. encourage people to give all their copyrights to the FSF so that they can "better protect the rights" of the author;
  3. try to convince people that the relevant argument is the strawman "large corporate interests" vs "GNU";
  4. petitioned that all code commissioned by the US gov't be GPL'd, claiming this would make the work "freer";
  5. abused the word "free", like the US gov't did, to make counterarguments look like anti-freedom arguments;
  6. equally abused the word "rights" (GPL ensures all users receive the same "terms", not the same "rights").
  7. tell people never to release their stuff as public domain (PD), and spread anti-PD FUD.
  8. tried to make GPL3 (at which point, Linus Torvalds said enough was enough: Linux stays GPL2.0)
  9. pndulge in the exact same split-parasitism that they claim to prevent (see WINE)
  10. promote software taxes: http://www.gnu.org/gnu/manifesto.html


I think a web-based message board clearly reads commands interactively. So, if there is [a copyright] notice, you can't remove it.
  - GNU copyright dept.

Copyright is intended to remove from the end user the right to do as he wants with data that he has in his possession. The FSF itself argues vehemently against many interpretations of copyright. Copyright is inherently viral, and any license, even the most liberal, like BSD, are viral to some extent. Many of the problems in the GPL come about because it is based on copyright, and many of the arguments here apply to all copyright licenses.

The real argument, which all coders, hackers and activists understood before GNU came along, is "copyright" vs "PD". Artists in all other media than coding still understand this as being the vital distinction: (http://www.studiolo.org/IP/VRA-TM-StLouis-PublicDomain.htm#Ch002 ) But with brilliant marketing, GNU has now pretty much crushed the public domain software creation movement: we exist only as fragmented individuals.

See, most people in favour of the idea of freedom of speech, information, etc, realise that copyright is flawed. Deeply flawed. And the idea of licensing is evil by its very nature. Since copyrights in the US are now effectively perpetual, nothing your company writes that is subject to copyright will ever become the property of the people, even after your death. Nobody would realistically call copyright a mechanism for freedom.

The GPL is based in copyright.

By contrast, all code written by or for the Government is already public domain, which means it can be used without credit, attribution or conditions by anyone. It belongs to you as a US citizen, by merit of your tax dollars. You can obtain a copy under the freedom of information act. You can use it any way you like. You don't have to do anything you don't want with it.

THAT is Freedom.

Unfortunately some jurisdictions prevent citizens from placing their own work in the Public Domain - the copyright is theirs until they die, and they cannot rid themselves of it. In these cases a PD-alike license can do the job instead.

Big Business

Lots of huge corporations pour fortunes into OSS development like Oracle and HP into software like Apache and Linux.
  - Kevin Hall

Now, you may ask, reading point four above, how DARE they try to restrict my rights to stuff that is paid for by MY tax dollars, and is jointly MY property so that extra conditions are imposed on me? How dare they remove my freedoms? How dare they do it in the name of protecting me?

It's because the FSF is big business now. They have become what they claim to fight. They will go after you with lawyers if you break the rules they have infected your code with, even if you are not big business.

GNU and the FSF try to position themselves as the "David" in a David vs Goliath battle. GPL exploits a monopoly over 70% of the open source market. That's *huge* business. Public domain is the "tiny David" at 3%.

Unlike reputable charities who generally declare their money from donations on their website (Google any charity "annual report"), there seems to be no way to check the FSF's finances. The list of donors is truly daunting, though. If they've got an annual turnover that's not measured in millions, I'd be very surprised.

However, money is not the only measure of "Big Business". Political clout is more important, and the FSF has a LOT of influence.

Removing Rights

in order to achieve the maximum in freedom and self-determination it is necessary not to give absolute freedom to the individuals. [...] we consent to give up certain freedoms for the benefit of society.
  - Richard Stallman

Public Domain, or any Open Source system, offers programmers the right to get and modify the code. The only right that GPL offers in addition is the right to see any modifications that other people distribute, *if* the modifications are distributed in binary-only form.

In return for this, it removes some rights. The idea is that in order to protect "the community", rights have to be removed from the programmers, the creators of the work.

Wait a minute... ho IS "the community" that gets the right to see the modifications? Oh yeah, the programmers. By using the GPL, we remove our own rights in order to give ourselves rights.

Well... what do we lose?

  • "General Public License does not permit incorporating your program into proprietary programs." (http://www.gnu.org/copyleft/gpl.html)
  • You also can't add your own rules to your license. You can only distribute derivative works under the GPL. You may not distribute a combination of "incompatible licenses", and you may not add extra restrictions. So 7zip's use of the unrar license may be illegal: http://sources.gentoo.org/viewcvs.py/gentoo-x86/licenses/unRAR?rev= - unrar's license is not GPL compatible. Equally, you may not use GPL with the old BSD license. Not compatible.
  • You lose the right to code only what you want: there is the "make your program do what we say" clause that requires programmers to code specific functionality into any reciprocally-affected code. Actually, that's not quite true. If you're writing your own app and adding the GPL to it once complete, you need not. But if you are helping a GPL project by modifying their code the *first* thing you must do, before fixing the bugs, is add the GPL-mandated functionality if it is missing.
  • In any GPL product that doesn't specify a specific GPL version, the author surrenders to GNU all rights to think up any other licenses under which their code may be used. They could make GPL4 equivalent to PD, which would be unlikely to be what the author wanted.
  • You cannot include certain things in a Linux distro, such as (before the patent expired) GIF viewers. "semi-free software [...] cannot be used in a free operating system such as GNUGPL" - GNU on GIFs.

And I haven't touched on GPL3. Though that has not yet been finalised, it looks like it will be the DRM of the Open Source world.


We don't need the GPL anymore
  - Eric Raymond

These restrictions are based on the premise that requiring that modifications be open source too is vital to the survival of Open Source, and that usable, professional-level code will not be available freely to people otherwise, because it will get bought out by "Big Business".

By definition, you cannot 'buy out' something in the public domain.

Also, "large corporations" are a strawman. I already addressed this.

There are other licenses, such as OpenBSD, Mozilla, Apache, Perl, PHP, Python, Nethack, and LGPL. They're the Big Players: each one has its own license. Many other major projects are released under those other licenses, and every part of a WIMP or LAMP system ("GLAMP" according to Richard Stallman) has a non-GNU version: BSD, Apache, PostgreSQL, PHP. You can completely replace LAMP with FAPP.

The argument that reciprocity is "necessary" for our (ie, Open Source programmers') own good is only morally justifiable in a situation where open source is a worse distribution system than closed source, and open source needs to be "defended" by the reciprocity. That is no longer the case, hasn't been for years.


Of course the GPL hasn't done any comparable damage YET. The point is that it could. Microsoft didn't do any serious power until they had power, but that didn't mean they weren't a danger. Now, the danger of Microsoft's power has been realized. The danger inherent in the GPL is yet unrealized, but that doesn't mean it doesn't exist.
  - Deven T. Corzine on a WINE mailinglist, shortly before WINE was assimilated.

Nowadays, the GPL is not only not essential, it is actively damaging:

  • It now damages the popularity of projects. From the PHP FAQ: "Q. Why is PHP 4 not dual-licensed under the GNU General Public License (GPL) like PHP 3 was?" "A. GPL enforces many restrictions on what can and cannot be done with the licensed code. The PHP developers decided to release PHP under a much more loose license (Apache-style), to help PHP become as popular as possible."
  • It damages the popularity of other open source licenses: in order to be popular, a license must now be "GPL Compatible. Or else." http://www.dwheeler.com/essays/gpl-compatible.html - any license which is not GNU compatible (ie, which cannot be overridden by the GPL) is not likely to last. Note that the GPL does not need to be modified to be overridable by any other license or morality: everything must be changed to the GNU way.
  • It damages the community: "Open source would be succeeding faster if the GPL didn't make lots of people nervous about adopting it." - http://www.onlamp.com/pub/a/onlamp/2005/06/30/esr_interview.html - he makes other good points here, though some I strongly disagree with.
  • It is morally damaging. Back in the day, we argued that "shrink-wrap licenses", and a single, locked-in monolithic system that reduced competitiveness, were intrinsically bad things. That one of those is now an open source system does not change this essential badness.
  • It damages code reuse, and damages programmers' effectiveness under other licenses. I want to set my code free, give it to anyone, to do anything with. So, rather than use all the GPL libraries out there, rather than refer to any GPL code that has already solved the problem, I have to write every part of my code from scratch. Because even *looking at their code* will infect my own, if I use a concept from it. Because part of my work would be derived from a part of theirs. So 30% of the Open Source programming community has 70% of open source projects unavailable to them for reference (SourceForge: 86,320 projects; 60,014 GPL). If I want to use a liberal license, I can't look at web pages with programming examples if those examples were taken from GPL software.
  • It damages by parasitism those projects licensed under more liberal licenses. The GPL was ostensibly intended to suck in closed source projects and make them open source, but open source projects have no defence against is (Except OpenSSH which has an explicit anti-copyleft protection clause). What happened to WINE was telling: It forked from BSD to LGPL, and the LGPL fork could use any code from the BSD fork it wanted, and the BSD fork could not use a single line from the LGPL fork. The BSD-style X11 version died almost instantly, since there was no point maintaining a fork which could not use all the patches released. No developer will work for such a project.

Ignores the Real World

I'm a programmer by trade. I release all my code, wherever possible, on the public domain.

I do not use any GPL components in my PD code because I cannot. I understand that the in the real world, removed from the ivory tower of the GPL, the majority of programmers distributing their programs are working for themselves or small businesses (we are the bazaar, not the cathedral). If I want other businesses to be legally able to reuse (and resell! and redistribute!) my code without restrictions, then I must give it to them fully, rather than license it to them.

I also keep some of my source closed. For example, I have a license to create a client/server program based on a copyrighted work. I have made all clientside code PD, and left the serverside code closed. Why? Because if they had both sides, they could trivially take my open source client and server, and either take it in house, or pass the license to someone bigger who could afford to pay me more. I know there are BIG companies after this license, against whom I could never afford to compete - except on the basis that I have a product that is working for the fans and is popular, right now. They don't want to lose that.

Definition of Evil

we do not, as software developers, have the moral right to enforce our rules on hardware manufacturers.
  - Linus Torvalds

But is it evil? What is a good definition of evil? "Restricting the rights of others in order to gain something you want: power, influence..." And this is what the FSF want. They want EVERYONE to buy into their world-view, and they don't want to give you a choice. They don't want you to have a choice - they say weaker licenses are bad explicitly because they give you that choice.

I hate GNU for killing the public domain. But I will not ever give up on PD. I will keep programming for it, I will keep championing other OSI licenses (http://www.opensource.org/licenses/) in cases where a license must be had, and I will keep educating people about GPL.

Jack Valenti, president of the Motion Picture Association, has called those who fight for an expanded or powerful public domain "terrorists." Is he right? If so, then I am one.

Common Misunderstandings

It's not about freedom - it's about fairness.
  - Linus Torvalds

Some arguments come up repeatedly on both sides of the GNU vs PD debate, despite not having any real bearing on the debate.

"If someone wants to write closed code and sell it, then nothing's stopping them" - I want to write *open* source code, under *more* liberal licenses. Or indeed, any Open Source license other than GPL.

"Also, it's perfectly possible and even common to profit from GPL code" - I never claimed that it was not. But I profit from code I release on the Public Domain.

"If you use the BSD license, then you'll get destroyed by Big Business" - just like GNU code, BSD licensed code benefits when a company takes an interest. It doesn't cost the creator of data anything it someone uses a copy of it.

"Public domain is no use to anyone" - Copyright, including the GPL, neuters something until it is freed onto the public domain and belongs to everyone. The 17,000 works in Project Gutenberg would have remained buried if they remained copyrighted. On the public domain, they get a million downloads a month.

"Public domain projects die" - Why would a public domain project on, say, SourceForge be more likely to "die" than a GNU one? I suspect that a split with an open source project is easier, and more easily picked up by someone else to maintain, so it is more likely to survive, but have no proof for this.

"GNU must be better because it's more popular" - Much GPL code is only GPL'd because either the authors were unaware of the alternatives, or because they used an alternative, but GPL subsequently swallowed their works when they were merged with others. More importantly, "More popular" != "Better". At least, unless you also argue that:

  • MS Windows is better than Linux, Solaris and Mac put together;
  • AOL's better than any other ISP;
  • Christianity's better than any other religion (and Roman Catholicism is the "best" flavour);

"Almost no programmers are hurt by the restrictions." - If almost no animals were hurt in the making of a film, they'd have the animal rights people all over them. In fact, 30% of Open Source projects are affected. Small companies are the ones that suffer. GPL is damaging to small business.

"GPL isn't a shrink-wrap license. Users are explicitly excluded from needing the license." - I'm a programmer. If I am a user of a library which is GPL licensed, I must agree to the GPL before I use it. Shrink-wrap.

"It doesn't remove rights, it grants them." - Yes, this is correct, but the rights it grants are that you may use the software only if you do evil.

"The GPL has no legal standing as a contract anyway so you can use the code however you like!" - Nope. It is true that it has no legal standing as a contract, because it's not one, it's a license. It grants abilities if the terms and conditions are met. If it were found to be invalid as a license, you would be freed of the terms and conditions - but also freed of the ability to use the code. The authors have not released it to the public domain, so you do not default to being able to use it.

"At least GPL'd code's not proprietary." - Yes it is. Look up proprietary if you think otherwise.

"You just hate freedom!" - Got that line from GWB, did you?

The Last Straw

The article which finally cleared my eyes was http://www.gnu.org/licenses/why-not-lgpl.html - an article written by GPL's greatest proponent, Richard Stallman, in which he exhorts us to parasitism. If you're a liberal-minded open source programmer, read that even if you read none of the other links here, and see if you feel your blood run cold as I did as you realise what would happen to your public domain project if you ever inadvertently used such a library.

What can you do?

Ensure that you fully understand whatever license you use.

Consider alternatives to GPL. You may want to prevent GPL from being parasitic to your project: in that case, consider the OpenSSL agreement. Personally, I feel that is hypocritical and immoral in itself, and will only use Public Domain, but that is only my opinion.

Powered by LiveJournal.com