GPL v3: the Free Software Foundation updates copyleft

After 18 months of public consultation, the FSF releases GPLv3: anti-tivoization clauses, Apache 2.0 compatibility and new patent provisions.

Open Source Open SourceGPLGPLv3FSFLicensesCopyleft

Sixteen years after version 2

The GNU General Public License version 2 was published in 1991. Since then the software landscape has changed profoundly: new distribution models have emerged, software patents have become a strategic weapon and some hardware manufacturers have found ways to comply with the letter of the GPLv2 while violating its spirit. On 29 June 2007, after 18 months of public consultation with four successive drafts, the Free Software Foundation releases GPLv3.

The review process involved developers, companies, lawyers and organisations worldwide — an unprecedented experiment in collaborative drafting of a software licence.

The key changes

GPLv3 addresses three critical fronts:

Anti-tivoization. The GPLv2 guarantees access to source code, but does not prevent a hardware manufacturer from blocking the execution of modified versions of the software on its devices. The term tivoization derives from the case of TiVo, which distributed the source code of its Linux-based firmware but prevented the installation of modified versions through cryptographic signatures. GPLv3 requires that, for consumer products, the Installation Information necessary to install modified versions of the software must also be provided.

Apache 2.0 compatibility. The GPLv2 was incompatible with the Apache License 2.0 due to conflicting patent clauses. GPLv3 resolves the incompatibility, allowing code released under the two licences to be combined in a single project.

Patent provisions. GPLv3 introduces an explicit patent licence grant from every contributor. Anyone distributing software under GPLv3 automatically grants a non-exclusive, irrevocable licence on all patents necessary to use the code. Additionally, a specific clause prevents discriminatory patent licence agreements that protect only certain recipients.

The Linux kernel stays on GPLv2

The most debated decision in the Open Source world is that of Linus Torvalds, who announces that the Linux kernel will remain under GPLv2. The reasons are pragmatic: Torvalds considers the anti-tivoization clause an excessive imposition on licence users and believes GPLv2 is sufficient to protect the kernel. Since the kernel has thousands of contributors and GPLv2 requires each one’s consent for a licence change, migration would be impractical in any case.

This divergence creates a situation where the most important free software project uses a different version of the licence from the one recommended by the FSF. In practice, the coexistence of GPLv2 and GPLv3 within the ecosystem proves manageable: most GNU projects adopt v3, while the kernel and projects closely dependent on it remain on v2.

Link: gnu.org/licenses/gpl-3.0

Need support? Under attack? Service Status
Need support? Under attack? Service Status