As I said in another post, you're confusing the licence *grant* with the licence *itself*.Hi Anthony!On Sun, 13 Dec 2009 01:24:36 +0000, "Anthony W. Youngman" <firstname.lastname@example.org> wrote:Well, the GPL does allow relicensing to newer versions of the GPL...IT DOESN'T, ACTUALLY !!! Read what the GPL says, CAREFULLY. Let's say I write a load of code, and release it with a notice saying "this code is licenced as 'GPL version 2 or later' ".Typical dual-license scenario, good. Could you please elaborate some more how both licenses propagates in this case? This seems to be a very common notion but it's not clear to me.What this give YOU is the right to redistribute the code according to the terms of the GPL v3. BUT - READ THE GPL - the people to whom you give the code get their licence from ME, NOT YOU.Right, this is section 6 of GPLv2 of section 10 of GPLv3. Let's quote the latter: 10. Automatic Licensing of Downstream Recipients. Each time you convey a covered work, the recipient automatically receives a license from the original licensors, to run, modify and propagate that work, subject to this License. [...]And I granted the licence as "v2 or later".The text of the GPL says "subject to this License", i.e. GPLv3, not "subject to all Licenses". So I don't see how your conclusion follows.
Let's say I write some software and - as I would - I stick a notice that says "this software is licenced v2 or v3". That is my grant.
You now look at the code. You like v3, so you say "v3 is my licence" and distribute it as v3. Your recipients also get *my* grant, so any one of them can say "actually, I like v *2* so I'll take that as my licence".
Now let's say you write some code, add it to my work to make a derivative work and, being a trusting bloke your grant says your code is "v3 or later".
You can choose to distribute the code under v2 or v3, because you need to comply with my grant for my code. You can do what you like with your own code.
Your recipients, now, can ONLY distribute under "V3 ONLY". They can choose v2 for my code, but that won't let them distribute yours, so they can't distribute the derivative work under v2. They can choose v4 (when it comes out) for your code, but that won't let them distribute mine, so they can't use that for the derivative work. They CAN choose v3 which is valid for both your code, and mine, so the project COPYING file should say "the only licence valid for the work as a whole is v3, but individual parts have their own licence and may be copied under a different licence, if appropriate".
Cheers, Wol -- Anthony W. Youngman - email@example.com