Wandering Thoughts archives

2007-12-31

There are really two GPL v2 licenses

While is only one GPL v2 license, there are effectively two versions of the GPL v2 that programs are licensed under: programs licensed under the GPL v2 (only), and programs licensed under 'GPL v2 or (at your option) any later version', depending on the license verbiage that the program itself uses. The FSF encourages the 'GPL v2 or any later version' one, but some people have not been so open ended.

When there was only one GPL license in common circulation, this wasn't important, but now that the FSF has come out with version 3 of the GPL this difference is starting to matter. Because the GPL v2 and GPL v3 are incompatible, only code licensed under 'GPL v2 or later' can be mingled with GPL v3 code.

(The simple rule of mingling code is that you must satisfy all of the licenses at once in order to be able to distribute the result. Although straight GPL v2 and GPL v3 cannot both be satisfied at once, you can make things work with 'GPL v2 or later' code by taking the option to distribute it under the terms of the GPL v3. Note that this doesn't actually change the original code to GPL v3; it still remains 'GPL v2 or later'.)

Part of the confusion is a terminology issue, because we tend to use 'license' for two different things, namely the licenses themselves and the terms that a given program is distributable under. When the two aren't the same, as in the case of the different 'program licenses' (to coin an awkward phrase) for the GPL v2, things can become ambiguous unless one is careful.

tech/GPLv2Licenses written at 15:33:40; Add Comment


Page tools: See As Normal.
Search:
Login: Password:
Atom Syndication: Recent Pages, Recent Comments.

This dinky wiki is brought to you by the Insane Hackers Guild, Python sub-branch.