GPL2 vs GPL3

THM has been thinking about the GPL and its forward provision clause.

Some projects are refusing to update their licensing from GPL version 2 to the latest version 3. The most notable of these projects would be the Linux Kernel. Linus has stated previously that he believes the GPLv3 forces signing keys for DRM and other encryptions to be made available to whomever the code is furnished.

This may be a misnomer, as Bruce Perens has clarified (dead reference:¬† the GPLv3 doesn’t force encryption keys to be made public, but rather forces hardware manufacturers (in his example) to put the DRM into hardware or user-mode. (Where the user-mode code would not be GPLv3 licensed.) He also states that the GPLv2 also has this intent but didn’t say it explicitly.

The issue THM thought he saw, however, is not with the Linux Kernel which excludes the wording suggested for the COPYING file that states “either version 2 of the License, or (at your option) any later version.” Instead it would be those projects that do include said wording. THM thought, but now realises he is likely wrong after doing some reading of the actual contexts of the words and where they appear in the license, that a recipient of the code could choose to force the vendor/creator to comply with the latter version 3 of the GPL thereby requiring the more draconian (according to some) measures in the new license.

However, taking Bruce Perens’ clarification of the way the GPLv3 is implemented, along with Linus’ explanation of how the “or later versions” text works: THM can see that in actuality it is the recipient that must comply with the later version of the GPL, if he so-wishes, when and if he redistributes the code, be it modified or not. This means that nobody can force the vendor to upgrade his distribution to a more recent version of the GPL unless or until he does so himself. It also means that the recipient can relicense any code she redistributes when the COPYING file includes the correct wording, but must do so in a way that complies with the wording of the newer license such as the anti-TiVo clauses for DRM.

So, if the original author using GPLv2 had NOT complied with the INTENT of the version 2 license and included TiVo-like code that could not be reimplemented by the recipient of the code, then the recipient must challenge, or at the very least RE-IMPLEMENT any TiVo-like code so that when she RE-distributes the code thereafter, using the later GPLv3 which is her right to do so with the COPYING file text intact.

In this scenario, ideally someone in the chain would take the original author of the TiVo-like code to task over their noncompliance with the GPL, be it version 2 or 3, as, like Bruce Perens states in his paper, the GPLv2 has the same meaning as the law stands today as the GPLv3, excepting things like the anti-patent clauses which state that any indemnification conveyed by one party to another must also be conveyed to all users of the GPLv3 licensed software.

One reply on “GPL2 vs GPL3”

You wrote: that a recipient of the code could choose to force the vendor/creator to comply with the latter version 3 of the GPL thereby requiring the more draconian (according to some) measures in the new license.

It is the copyright holder of the entire work or a portion of the work who can bring lawsuits for infringement of his/her copyright through non-compliance with the license terms. There is a chance, though not a terribly good one, that someone who only receives a GPL work can enforce some GPL terms on the transmitting party on contract rather than copyright grounds. But since bringing suit on behalf of the copyright holder makes more sense, that’s the only way it’s happened so far.

If you’re making a modification to a project that forces a license change, the odds are that the main project won’t accept or distribute it, and other parties like Linux distributions will follow the main project, not your fork. But sometimes forks develop communities of their own.

If you modify the license statement for the whole project, including parts that you don’t own, you are probably infringing the other copyright holders. Torvalds got away with doing this. If he did it against the wishes of any of the other copyright holders and did not remove their code from his tree upon request, they would have had the right to bring suit IMO.

Bruce Perens

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.

%d bloggers like this: