Through a Free Software Foundation mailing list, I received a mailing from Richard Stallman on why upgrade to version 3 of the General Public License. As discussed here previously, this version of the GPL is extremely anti-patent. Stallman is the best spokesperson for his position:
Another threat that GPLv3 resists is that of patent deals like theNovell-Microsoft deal. Microsoft wants to use its thousands ofpatents to make GNU/Linux users pay Microsoft for the privilege, andmade this deal to try to get that. The deal offers Novell's customersrather limited protection from Microsoft patents.
Microsoft made a few mistakes in the Novell-Microsoft deal, and GPLv3is designed to turn them against Microsoft, extending that limitedpatent protection to the whole community. In order to take advantageof this, programs need to use GPLv3.
Microsoft's lawyers are not stupid, and next time they may manage toavoid those mistakes. GPLv3 therefore says they don't get a "nexttime". Releasing a program under GPL version 3 protects it fromMicrosoft's future attempts to make redistributors collect Microsoftroyalties from the program's users.GPLv3 also provides for explicit patent protection of the users fromthe program's contributors and redistributors. With GPLv2, users relyon an implicit patent license to make sure that the company whichprovided them a copy won't sue them, or the people they redistributecopies to, for patent infringement.
The explicit patent license in GPLv3 does not go as far as we mighthave liked. Ideally, we would make everyone who redistributesGPL-covered code surrender all software patents, along with everyonewho does not redistribute GPL-covered code. Software patents are avicious and absurd system that puts all software developers in dangerof being sued by companies they have never heard of, as well as by allthe megacorporations in the field. Large programs typically combinethousands of ideas, so it is no surprise if they implement ideascovered by hundreds of patents. Megacorporations collect thousands ofpatents, and use those patents to bully smaller developers. Patentsalready obstruct free software development.
The only way to make software development safe is to abolish softwarepatents, and we aim to achieve this some day. But we cannot do thisthrough a software license. Any program, free or not, can be killedby a software patent in the hands of an unrelated party, and theprogram's license cannot prevent that. Only court decisions orchanges in patent law can make software development safe from patents.If we tried to do this with GPLv3, it would fail.
Therefore, GPLv3 seeks to limit and channel the danger. Inparticular, we have tried to save free software from a fate worse thandeath: to be made effectively proprietary, through patents. Theexplicit patent license of GPLv3 makes sure companies that use the GPLto give users the four freedoms cannot turn around and use theirpatents to tell some users "That doesn't include you." It also stopsthem from colluding with other patent holders to do this.