LWN.net Logo

FSF is creating a problem that never existed!

FSF is creating a problem that never existed!

Posted Oct 3, 2006 15:41 UTC (Tue) by jzbiciak (✭ supporter ✭, #5246)
In reply to: FSF is creating a problem that never existed! by mingo
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.


(Log in to post comments)

FSF is creating a problem that never existed!

Posted Oct 24, 2006 22:34 UTC (Tue) by landley (guest, #6789) [Link]

> Firstly, keep in mind that the "or any later" language has always been
> optional.

Actually, you have to go out of your way to opt out. The last sentence
of section 9:

> If the Program does not specify a version number of this License, you
> may choose any version ever published by the Free Software Foundation.

So if you just said "This is GPL" when GPLv2 was the law of the land, the
FSF gets to arbitrarily relicense it because you didn't go out of your
way to say they couldn't.

FSF is creating a problem that never existed!

Posted Oct 24, 2006 22:51 UTC (Tue) by jzbiciak (✭ supporter ✭, #5246) [Link]

I don't think that's going any further out of your way than saying "this is GPL." If you're sloppy when you pick your license, it's clear you don't really care what the license is. The real debate should center around people who thoughtfully chose "GPL v2 or later" who are now re-evaluating that choice. And, I argue, there's not a real problem there, since you can fork and move on.

I still don't see the issue with the "or later" language. If someone writes a GPL v3-only patch to a GPL v2-or-later program, the patched program is GPL v3-only. The unpatched program still exists, though. So, if someone else didn't like GPL v3, they could continue developing the GPL v2-or-later program, perhaps making the result GPL v2 only if they so desire.

Copyright © 2013, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds