FSF is creating a problem that never existed!
Posted Oct 3, 2006 15:41 UTC (Tue) by jzbiciak
(✭ supporter ✭
In reply to: FSF is creating a problem that never existed!
Parent article: Busy busy busybox
Firstly, keep in mind that the "or any later" language has always been optional. If, as a programmer, you chose "GPL v2 or later" as your license, and you did so without thinking, that's too bad. I personally specifically chose to keep it. I want my software to be as broadly used as possible, but with the notion "contributing back." My choice of "GPL v2 or later" allows my code to be incorporated into nearly all GPL'd software, regardless of what GPL variant the person borrowing my work uses. The only "danger" I run is that GPL vX ends up being equivalent to "public domain," which is only likely to happen if the FSF wins the "Software Wars," making all software Free. (Highly unlikely.)
Also, I think you misunderstand the "or any later" language. If I release software written under the GPL and release it with the license "GPL v2 or any later version," that means code from that software can be incorporated into GPL v2-only programs, GPL v3-only programs, and programs that allow GPL v2 or later.
Note that my code retains its "GPL v2 or later" status. When someone takes a portion of it and puts it into their more-specifically-licensed project, the resulting aggregation is what collapses that vague "range of licenses" to a specific license. So if someone takes my "foo.c" (licensed as GPL v2 or later), and drops it into "BarBaz" (licensed as GPL v2 only), the resulting BarBaz is GPL v2 only. If someone else takes my "foo.c" and drops it into "QuuxQuux" (licensed as GPL v3 only), the result is GPL v3 only. Later still, someone could stumble upon my foo.c, present in either BarBaz or QuuxQuux, and extract it. Assuming that extracted file wasn't modified after inclusion in BarBaz or QuuxQuux, its entire contents retains my original license.
In other words, the license an aggregate ships under must be within the intersection of all the licenses of its consituent pieces. Those consituent pieces do not automatically lose their identity. Placing a piece of code under "GPL v2 or later" simply increases the likelyhood its license overlaps with the licenses of other code.
That isn't to say the results are perfect. For instance, I've released jzIntv under GPL v2 or later. Someone could take jzIntv and fork it, releasing a GPL v3-only version. GPL v3 patches to that version could not be pulled into my GPL v2-or-later version without relicensing the patch, or without the aggregate becoming GPL v3. But, as long as someone cares about the GPL v2 version, it doesn't go away. If I or someone else decides to switch to GPL v3 for new code, the old code doesn't disappear.
to post comments)