My reasons for disliking the GPLv3 are simple: the requirements it introduces go above and beyond protection of Stallman’s original four freedoms, and attempt to control other things beyond the scope of these freedoms. For example, some corporations were taking copyleft software and putting it on hardware devices that would detect modifications to the software and refuse to run any modified code. To Stallman, this is a violation of Freedom 1, since adaptations of the program will not work on that device. However, you are perfectly free to run your adapations on another device or on a modifed device, so I consider Freedom 1 intact. The restrictions of the GPLv3 are attempting to enforce further freedoms above and beyond the original four—hardware-related freedoms, not software-related freedoms.
Furthermore, the GPLv3 has aggressive “patent retaliation” clauses.[1] When originally developing the General Public License, Stallman was worried about the situation where someone might hold a software patent for a bit of Free Software that someone else wrote. This would in everyone losing the Four Freedoms (including the original author of the software!) except for the patent holder, who could do whatever they wanted with the software, including charging money to allow others to use it.
Stallman wisely placed a clause into the GPLv2 stating that “any patent must be licensed for everyone’s free use or not licensed at all.”[2] In other words, if I have a software patent that covers something in Free Software that somebody else wrote, I am not allowed to distribute that software unless I provide a free license for anyone.
The GPLv3 goes much further than this, causing the distributor to “lose their license and any patent licenses that accompanied it.” For example, let’s say I’m a large software company with many patents, some of which could possibly apply to some Free Software that somebody else wrote, which I distribute. Meanwhile, a competing large software company writes some totally different software that obviously violates my patents, and I decide to sue them. The competing company decides to point out this piece of Free Software that I’m distributing, and claims that my patent applies to that piece of Free Software, and hence I must provide a patent license “for everyone’s free use or not at all.”
If the court decides that the patent in question does indeed apply to this piece of Free Software, then if the software is licensed under the GPLv2 I can simply stop distributing the software, pay copyright violation damages to the author of the software, and continue on with my lawsuit against my competitor. If, however, the software is licensed under the GPLv3, then if the courts decide that I “knowingly relied” on the patent license, then I automatically lose my patent and cannot enforce it against anyone, ever again.
This is exactly what Stallman wants, because he believes that software patents are a blight on humanity and should be abolished. I happen to agree on this point, but I disagree that such retaliatory features should be part of a general-purpose software license. This goes way beyond trying to protect the four freedoms for a particular piece of software. Instead, it uses the license as a weapon against an unrelated battle against software patents in general.
While I agree with the battle, and will fight the good fight, I do not choose to use the software I write as a weapon in that war. That is why I will not use the GPLv3.


Entries (RSS)