The right to remove digital rights management controls and patent protection for free and open-source software users is an important provision in the General Public License version 3, says the Free Software Foundation.
In a statement last week, Richard Stallman, founder of the Free Software Foundation (FSF), which authored the General Public License (GPL), said GPLv3 will allow users to remove digital rights management (DRM) controls in appliances that include GPL-covered software. The fourth and last draft of GPLv3 was released last Thursday, with the final version due on 29 June.
Stallman noted that hardware manufacturers take advantage of the freedom that free software provides, but they don't allow users to do likewise, a move which Stallman refers to as "tivoization".
"GPLv3 ensures you are free to remove the handcuffs," Stallman said. "It doesn't forbid DRM, or any kind of feature. It places no limits on the substantive functionality you can add to a program, or remove from it. Rather, it makes sure that you are just as free to remove nasty features as the distributor of your copy was to add them."
Stallman said the ban on tivoization applies to any product whose use by consumers, even occasionally, is to be expected. GPLv3 tolerates tivoization only for products that are almost exclusively meant for businesses and organisations, he added.
Another threat that GPLv3 resists is that of patent deals like the one between Novell and Microsoft, Stallman said.
"Microsoft wants to use its thousands of patents to make GNU/Linux users pay Microsoft for the privilege, and made this deal to try to get that. The deal offers Novell's customers rather limited protection from Microsoft patents," he said, adding that GPLv3 is designed to extend that limited patent protection to the whole community.
"Microsoft's lawyers are not stupid, and next time they may manage to avoid those mistakes," Stallman pointed out. "GPLv3 therefore says they don't get a 'next time'. Releasing a program under GPLv3 protects it from Microsoft's future attempts to make redistributors collect Microsoft royalties from the program's users."
In addition, GPLv3 provides explicit patent protection of the users from the program's contributors and redistributors. Stallman noted that in GPLv2 users rely on an implicit patent licence to make sure that the company which provided them with a copy will not sue them for patent infringement.
However, the explicit patent licence in GPLv3 does not go as far as what the FSF might have liked, Stallman said.
"Ideally, we would make everyone who redistributes GPL-covered code surrender all software patents, along with everyone who does not redistribute GPL-covered code," he said.
"Software patents are a vicious and absurd system that puts all software developers in danger of being sued by companies they have never heard of, as well as by all the mega-corporations in the field," Stallman explained.
"Large programs typically combine thousands of ideas, so it is no surprise if they implement ideas covered by hundreds of patents. Mega-corporations collect thousands of patents, and use those patents to bully smaller developers. Patents already obstruct free software development," he added.
Stallman noted that the only way to make software development safe is to abolish software patents, but pointed out that it cannot be done through a software licence.
"Any program, free or not, can be killed by a software patent in the hands of an unrelated party, and the program's licence cannot prevent that," he said. "Only court decisions or changes in patent law can make software development safe from patents. If we tried to do this with GPLv3, it would fail."
GPLv3 not compulsory
More importantly, Stallman noted that upgrading to GPLv3 is a choice. GPLv2 will continue to be a valid licence, he said, although GPLv2 and GPLv3 remain incompatible.
He explained: "This is because both GPLv2 and GPLv3 are copyleft licences: each of them says: 'If you include code under this licence in a larger program, the larger program must be under this license too'."
Still, Stallman pointed out that licence incompatibility only matters when free and open-source software developers link, merge or combine code from two different programs into a single program. "There is no problem in having GPLv3- and GPLv2-covered programs side by side in an operating system," he said.
Linux creator Linus Torvalds and other prominent open-source developers were earlier opposed to GPLv3. They claimed that the revised GPL would be detrimental to the open-source realm because Linux sellers could be forced to split software packages into different versions for each licence. Torvalds also said GPLv3 is overstepping its boundaries by dictating how hardware running GPLv3 software must handle DRM.