|
|
Subscribe / Log in / New account

GCC drops its copyright-assignment requirement

GCC drops its copyright-assignment requirement

Posted Jun 1, 2021 22:46 UTC (Tue) by Wol (subscriber, #4433)
In reply to: GCC drops its copyright-assignment requirement by Lonjil
Parent article: GCC drops its copyright-assignment requirement

> and the FSF relicensing the code under GPLv4, are exactly equivalent. There are no differences what so ever.

Apart from the law saying they are COMPLETELY DIFFERENT, of course ...

Simple example: There's a bunch of code licenced GPL3+. I distribute it to my friends under GPL4. They distribute it to their friends under GPL3. ALL PERFECTLY LEGAL.

There's a different bunch of code, licenced GPL4+. I distribute it to my friends under GPL4. They distribute it to their friends under GPL3. THAT IS ILLEGAL.

NO FREE SOFTWARE LICENCE ALLOWS YOU TO RELICENCE SOMEONE ELSE'S CODE.

(In my first example, I CANNOT change the GPL3+ licence, which is why my friends can use the GPL3 licence. In the second example, GPL3 is not an option, not for me, not for my friends.)

Until you get your head around that fact you will continue making elementary legal blunders like this, unfortunately this meme is so embedded in the free/open software mentality that it's unlikely ever to go away. And for the most part, the implications are irrelevant, but if you want to do things right, you have to get things right from the ground up - you can't build a working superstructure on rotten foundations.

Cheers,
Wol


to post comments

GCC drops its copyright-assignment requirement

Posted Jun 2, 2021 5:05 UTC (Wed) by matthias (subscriber, #94967) [Link] (39 responses)

> Simple example: There's a bunch of code licenced GPL3+. I distribute it to my friends under GPL4. They distribute it to their friends under GPL3. ALL PERFECTLY LEGAL.

No, this is not legal. You got the code under a licence that explicitly allows you to give licenses under GPL3 or any later version. Thus you are allowed to distribute under GPL4. But your friends only got the code with a license allowing to distribute under GPL4. Thus they are not allowed to distribute under GPL3. If they want to distribute under GPL3 they first need to obtain a license allowing them to do so. Of course this is usually not a problem, as there will be enough GPL3+ copies flowing around. And if your friends only distribute code that was not modified by you, then (a) you cannot sue as your copyright is not involved and (b) it will be close to impossible to prove that they violated a license, because there are of course GPL3+ copies of the same code freely available.

Not all licenses to the same code have to be the same. What you can do with a piece of code is not determined by the license the original copyright owner gives to some random person, but the very license you obtained the code under. In the free software world these licenses are usually the same, but they do not have to.

> In my first example, I CANNOT change the GPL3+ licence, ...

What you cannot do is change the license terms you got the code under. So your copy of the code will still be GPL3+. But you can choose to distribute copies under GPL4 because the licence allows this. And the persons who get code from you under GPL4 are not allowed to change back to GPL3, because their license (obtained from you) does not allow this.

Cheers,
Matthias

GCC drops its copyright-assignment requirement

Posted Jun 2, 2021 5:47 UTC (Wed) by madscientist (subscriber, #16861) [Link] (7 responses)

> What you cannot do is change the license terms you got the code under.

That is not correct. What you cannot do is change the license terms in the code, full stop, *regardless* of where you got it from (unless the license itself allows this, which the GPL doesn't).

If you get code under a dual GPL/Apache license and you decide to distribute it following the terms of the GPL, the person who you distribute it to still has the exact same license on their copy of the code that you had. You can't change that unless you're the sole copyright owner for the code. The recipient can turn around and distribute it to someone else under the Apache license and that's perfectly fine.

GCC drops its copyright-assignment requirement

Posted Jun 2, 2021 6:11 UTC (Wed) by matthias (subscriber, #94967) [Link] (6 responses)

> What you cannot do is change the license terms in the code, full stop

What do you mean with changing license terms in the code? The license is not in the code but is distributed together with the code. The suggested phrasing of the FSF for GPL3+ licensed programs is:

>> This program is free software: you can redistribute it and/or modify
>> it under the terms of the GNU General Public License as published by
>> the Free Software Foundation, either version 3 of the License, or
>> (at your option) any later version.

This is part of the license I get. Just adding a copy of the GPL to the code folder does not assign any license to the code. It clearly states that I may distribute under any later version. Thus it is perfectly fine for me to distribute it under GPL4, exchange 3 by 4 in the above text and add a copy of GPL4 to the code. The text in the license (above) explicitly allows me to do this.

Going further, the suggested phrasing of the FSF also implies the the license terms are not in the code:
>> You should have received a copy of the GNU General Public License
>> along with this program. If not, see <http://www.gnu.org/licenses/>.

GCC drops its copyright-assignment requirement

Posted Jun 2, 2021 8:00 UTC (Wed) by nim-nim (subscriber, #34454) [Link] (2 responses)

For code licensed under a range of licenses (GPLv3+, foo or bar, etc) you are always allowed to release changes under a subset of the range (GPLv4+, bar, only, etc).

And, that is not easily revertible (downstream actors in the supply chain are stuck with your subsetting even if they don’t agree with it).

If you do not change anything downstream actors are also legally bound by your subsetting *but* can bypass it if they manage to source from higher in the supply chain.

Enlarging the licensing range is never legal unless you are the copyright holder of all the parts for which the range will be increased.

GCC drops its copyright-assignment requirement

Posted Jun 2, 2021 8:21 UTC (Wed) by Wol (subscriber, #4433) [Link] (1 responses)

> Enlarging the licensing range is never legal unless you are the copyright holder of all the parts for which the range will be increased.

REDUCING the licencing range is never legal/effective unless you are *A* copyright holder. In your scenario, you are not.

Cheers,
Wol

GCC drops its copyright-assignment requirement

Posted Jun 2, 2021 18:50 UTC (Wed) by Wol (subscriber, #4433) [Link]

Whoops. Sorry I didn't read your comment accurately. You said you released your changes under a restricted licence, so you are not a distributor but a modifier.

Cheers,
Wol

GCC drops its copyright-assignment requirement

Posted Jun 2, 2021 8:19 UTC (Wed) by Wol (subscriber, #4433) [Link] (2 responses)

> This is part of the license I get. Just adding a copy of the GPL to the code folder does not assign any license to the code. It clearly states that I may distribute under any later version. Thus it is perfectly fine for me to distribute it under GPL4, exchange 3 by 4 in the above text and add a copy of GPL4 to the code. The text in the license (above) explicitly allows me to do this.

NO IT DOES NOT. This looks like trolling to me!

The licence does NOT allow you to change the terms of the licence. The GRANT OF LICENCE allows you to distribute under GPL4, but if you are not the copyright holder you cannot change the LICENCE to GPL4+

The licence, and the grant of licence, are two different things!

Cheers,
Wol

GCC drops its copyright-assignment requirement

Posted Jun 2, 2021 13:13 UTC (Wed) by mathstuf (subscriber, #69389) [Link] (1 responses)

I think you're missing that the legal profession cares about the "color" of bits. It doesn't make sense to you or I, but it's something that matters there. If they get it through a "GPLv4-only" filter, they only have GPLv4 rights. If they go one step up (to where you got it), they'd get the same bits, but under a different "license color" and can then use the GPLv3 terms for the same bits. Most of the time, a defense of "I got it directly from upstream" would be a defense unless one actually keeps logs of how each byte got into their supply chain (versus verification that what is there is the same as some checkpoint).

GCC drops its copyright-assignment requirement

Posted Jun 2, 2021 16:28 UTC (Wed) by Wol (subscriber, #4433) [Link]

Except that it doesn't work that way.

You need to separate the licence itself, GPL3, or GPL4 - but most definitely not GPL3+ because there is no such thing - from the grant of licence.

All this stuff about "any later version" goes in the COPYING file, which you have no right to change unless you yourself have modified the software and have a personal copyright interest in the software.

If I distribute UNmodifed GPL3+ software to you, using the GPL4, that means you have the COPYING file which gives you permission to distribute under GPL3.

The lawyers can argue "color of bits" till the cows come home, but the fact remains that if I give you an UNmodified copy, you are in possession of a file, WRITTEN BY THE COPYRIGHT OWNER, that gives *you* permission to copy under the GPL3.

Oh - and even if I modify the software, and distribute it under GPL4, if I leave the COPYING file saying GPL3+, then I have given you permission to copy my code under GPL3 even though I used GPL4.

Cheers,
Wol

GCC drops its copyright-assignment requirement

Posted Jun 2, 2021 9:39 UTC (Wed) by farnz (subscriber, #17727) [Link] (13 responses)

It's worth calling out that when people say "distribute under licence X", what they mean is that they get their permission to distribute (that copyright requires) by following the terms set out in licence X.

So, when Wol says he distributes GPL3+ code to his friends under GPL4, what he means is that he takes code licenced under GPL3+, and ensures that he has permission to copy from the copyright holder by following the terms of GPL4. His friends still get the code with the GPL3+ licence, and when they distribute, they can ensure they have permission by following GPL3 terms instead, as long as Wol's compliance with GPL4 allows them to do that (e.g. if GPL4 changes the list of additional terms allowed under section 7, and Wol applies a term allowed under GPL4 but not GPL3).

The code itself remains under GPL3+ terms, even if Wol complies with GPL5 terms in his distribution of it - as long as you comply with the licence you have to it, Wol's licence terms don't matter. This can get tricky, because outside the Free Software world, Wol's licence may allow him to distribute code to you as long as your licence to distribute the code Wol gave you is restrictive.

GCC drops its copyright-assignment requirement

Posted Jun 2, 2021 12:45 UTC (Wed) by Wol (subscriber, #4433) [Link] (12 responses)

> as long as Wol's compliance with GPL4 allows them to do that (e.g. if GPL4 changes the list of additional terms allowed under section 7, and Wol applies a term allowed under GPL4 but not GPL3).

Bear in mind, I can ONLY apply extra GPL4 terms IF I MYSELF AM A COPYRIGHT HOLDER!

So if all I am doing is copying as allowed by the GPL4, I can NOT change the terms such that my recipients are prevented from copying as per GPL3.

Cheers,
Wol

GCC drops its copyright-assignment requirement

Posted Jun 2, 2021 13:53 UTC (Wed) by farnz (subscriber, #17727) [Link] (11 responses)

But the copyright holder has already said you can use GPL3, or a future GPL4. We don't know what the GPL4 looks like (because it doesn't exist yet), and it's entirely possible that clauses will change such that you can distribute under GPL4 and leave the recipient with something they can distribute under GPL4, but not GPL3 because of the changes in clauses (e.g. because a change to section 6 allows you to distribute object code under GPL4 in a way that GPL3 forbids, and the recipient does not take up their option to grab source code for GPL3 section 6 compliance within the GPL4 rules on that).

Indeed, you can get into a similar already with a GPL2+ program; if you use your rights under GPL3 section 6e to let someone torrent a binary you built from source stored at fsf.org, and then the FSF takes the source distribution down, your recipients can no longer distribute under GPL2 terms at all (no matching source available to offer). You distributed legally under GPL3 terms, but your recipients no longer have the access they need to distribute under GPL2 or 3 terms.

GCC drops its copyright-assignment requirement

Posted Jun 2, 2021 16:45 UTC (Wed) by Wol (subscriber, #4433) [Link] (10 responses)

All I'm saying is I can't *change* the terms of distribution from 3+ to 4+ just by using GPL4 myself. Unless I make a copyrightable change, I have no right to change the terms.

As for the FSF taking down the source, and thereby stopping you distributing the binary, I'm not sure ... so long as you distribute EXACTLY WAHT YOU RECEIVED, there is an argument that it is not your actions that "broke the licence" therefore you still have a licence under GPL3 to distribute. Someone else's actions have dropped you in it, you now need to find an alternative source for the source :-), and you can carry on distributing because you are sharing everything you have ...

At least one of the bugfixes to the GPL in version 3 was to prevent the actions of others retrospectively altering the terms of the licence as they applied to you ...

Cheers,
Wol

GCC drops its copyright-assignment requirement

Posted Jun 2, 2021 19:12 UTC (Wed) by farnz (subscriber, #17727) [Link] (9 responses)

You can't change the terms, but you *can* (depending on the text of GPL4) make it impossible for your downstreams to redistribute under GPL3 terms even though the code is GPL3+ licensed, by using a GPL4 term that results in them not having what they need to distribute under GPL3.

And in the GPL3 language, if your source server goes down, you must cease distribution of binaries until you find an alternate source - but you've got time to restore compliance and be retroactively covered. GPL4 could change that in interesting ways, and could open up ways to distribute in compliance with GPL4 but not GPL3 (e.g. you can distribute binaries even if the source server is down permanently if you are doing so non-commercially and received them with a link to the source server).

GCC drops its copyright-assignment requirement

Posted Jun 2, 2021 19:47 UTC (Wed) by Wol (subscriber, #4433) [Link] (8 responses)

> You can't change the terms, but you *can* (depending on the text of GPL4) make it impossible for your downstreams to redistribute under GPL3 terms even though the code is GPL3+ licensed, by using a GPL4 term that results in them not having what they need to distribute under GPL3.

Yes, but you're still missing my point - if I'm just copying and don't have copyright in the work, I can't add GPL4 terms. I have NO RIGHT to do so ... and I can't see any way of such a change being legal outwith a change in the law ...

Cheers,
Wol

GCC drops its copyright-assignment requirement

Posted Jun 3, 2021 8:56 UTC (Thu) by farnz (subscriber, #17727) [Link] (5 responses)

No, I get your point - the original copyright holder has added GPL4 terms by saying that it's licenced under GPL3+ terms, where 4 is one licence the original copyright holders chose via the "or any later version" language.

Because I can't change the terms, the people I distribute to still get the code under GPL3+ terms, even though I complied with GPL4 terms to get the code to them. However, it is possible that I pass on the code as-is (complete with GPL3+ terms) in a way that leaves the recipients able to comply with GPL4 for further distribution but not GPL3. The code is still GPL3+, and if another party gets involved to share the code, then they can use GPL3 terms, but they can't redistribute what they got from me under GPL3 terms because they have no way of meeting those terms.

This is more obvious with code dual-licenced under the original 4 clause BSD or GPLv2; if I comply with the GPLv2, the advertising clause doesn't kick in (because that's not a GPL term), but downstream recipients can add the required advertising and comply with the BSD terms instead of GPL. If, however, I distribute binaries only and comply with the 4 clause BSD licence, while you have the right to distribute under GPLv2 or 4-clause BSD licences, you can't exercise your GPLv2 rights without further intervention because you don't have the corresponding source to offer.

GCC drops its copyright-assignment requirement

Posted Jun 3, 2021 22:20 UTC (Thu) by Wol (subscriber, #4433) [Link] (4 responses)

Ah, I get it now.

In other words, my ability to distribute has been compromised by the action of others ... imho (as you see from my comments elsewhere) this is a bug, but there you go ...

Cheers,
Wol

GCC drops its copyright-assignment requirement

Posted Jun 4, 2021 8:37 UTC (Fri) by farnz (subscriber, #17727) [Link] (3 responses)

The interesting thing is that it's a bug that comes out of having multiple licences. Each of the individual licences the copyright holder offers you is set up such that if you have received the code under the licence, then you are in a position to distribute under that self-same licence (and is thus "bug-free" in this sense. The fun only comes in when licences with differing terms are on offer, and your upstream distributor can choose which terms to comply with; they can choose terms such that you don't have what you need to comply with alternative terms.

And, of course, a practical lawyer will not let you change your choice of terms if you can at all avoid it - if I gave you a binary under 4-clause BSD or GPLv2, and you got the "corresponding source" from elsewhere, how do you demonstrate that the source you have corresponds to the binary you have? At least if you got corresponding source from me, you have a legal argument around provenance and good faith action that will protect you from the worst consequences of a mismatch; if you get them via separate routes, then the consequences of a mismatch are all on you.

GCC drops its copyright-assignment requirement

Posted Jun 4, 2021 16:08 UTC (Fri) by nim-nim (subscriber, #34454) [Link] (2 responses)

It’s not a bug. AND is not the same thing as OR.

If you distribute things under X AND Y the clauses of X AND the clauses of Y apply simultaneously.

If you distribute things under X OR Y (as it the case with GPLx OR later), the clauses of X are totally independent from the clauses of Y, choosing one MAY invalidate the other, and there is NO reason for both to survive a distribution step.

Which is why X AND Y is a single license and X OR Y are two independent documents.

If you want X OR Y to survive distribution, you need a SEPARATE license that basically says “distribution of this material is subject to X OR Y with the aditionnal restriction that further distribution must also be subject to X o Y”.

Which would be tricky to do with the GPL because of its “no further restriction” clause.

GCC drops its copyright-assignment requirement

Posted Jun 4, 2021 16:16 UTC (Fri) by nim-nim (subscriber, #34454) [Link]

Also, this would be tricky for permissive licenses, because such a separate licensing document would turn any permissive license into a copyleft license, and void the possibility to integrate permissively licensed code in closed software.

Which is why, X OR Y does not survive distribution and it is likely pointless to try to make it survive distribution.

GCC drops its copyright-assignment requirement

Posted Jun 4, 2021 16:58 UTC (Fri) by rgmoore (✭ supporter ✭, #75) [Link]

Which would be tricky to do with the GPL because of its “no further restriction” clause.

As long as you are the original copyright holder, you are free to create whatever license you choose for your own software. You are, as you say above, effectively creating a new license, and that means you can add whatever terms you like. The problem with the "no further restriction" clause will only matter if you try to combine your code with someone else's code that's only under the GPL.

GCC drops its copyright-assignment requirement

Posted Jun 3, 2021 8:58 UTC (Thu) by nim-nim (subscriber, #34454) [Link] (1 responses)

For something released under GPL3+, you are allowed to (modify and) distribute under GPL3, GPL4, GPL5 or GPLwhatever.

If you distribute under conditions sufficient to satisfy GPL4, but insufficient to satisfy GPL3, you are in the clear.

Your downstream recipients can not force you to also satisfy GPL3. If distributing themselves under the GPL3 requires something you did not pass on (because GPL4 does not require it) they are also practically bound by GPL4.

That is why it is very dubious to argue you can use GPL3 “because it was originally released as GPL3+” without sourcing from someone that actually distributed as GPL3+, and most lawyers will have none of it. They know how easily things can go wrong when switching licensing. Also, while free software licenses will make sure to be transitive, there is no such transitiveness commitment with other free software licenses (as BSD-ists know very well).

Subsetting from the range of licenses allowed by your provider is always safe (for free software licenses that ensure transitiveness). Enlarging requires legal analysis.

GCC drops its copyright-assignment requirement

Posted Jun 3, 2021 9:17 UTC (Thu) by nim-nim (subscriber, #34454) [Link]

To be 100% correct, I should have written range of licenses given, not allowed, by your provider. Your are provided an authorization or a set of authorization (licenses) by your provider, you need this authorization to do stuff (including redistributing) with the software you received, you can not conjure authorizations you were not given without sourcing from someone who actually gives those to you.

Also , depending on the amount of differences between GPL3 and a future GPL4, it would not necessarily be unethical to change licensing documents to GPL4+ or GPL4 only if you know your distribution mode will never comply with the GPL3 (without any other change). Downstream users always have the choice to source higher in the delivery chain if they don’t like your choices.

International IP law is enough of a mess, simple and unambiguous is better than license tinkering.

GCC drops its copyright-assignment requirement

Posted Jun 2, 2021 19:40 UTC (Wed) by Wol (subscriber, #4433) [Link] (16 responses)

> And the persons who get code from you under GPL4 are not allowed to change back to GPL3, because their license (obtained from you) does not allow this.

Except that's called sub-licencing. And the GPL does not permit this.

Let's quote the GPL pre-amble. Okay, it's not black-letter law, but Judges won't look kindly on you breaking it ...

> For example, if you distribute copies of such a program, whether gratis or for a fee, you must pass on to the recipients the same freedoms that you received. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights.

You've just FAILED to pass on the right that you received - to distribute under GPLv3. NOT ALLOWED.

And this is actually made explicit in section 10

> 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. You are not responsible for enforcing compliance by third parties with this License.

YOUR downstream receives their licence from UPSTREAM, and NOT from you (unless, of course, you are upstream because it's your copyright). Which means if you try to change the licence from GPL3+ to GPL4+ well, that's not the licence that applies downstream ...

Cheers,
Wol

GCC drops its copyright-assignment requirement

Posted Jun 3, 2021 9:44 UTC (Thu) by nim-nim (subscriber, #34454) [Link] (15 responses)

> YOUR downstream receives their licence from UPSTREAM, and NOT from you (unless, of course, you are upstream because it's your copyright).

Except that this specific paragraph means, that someone receiving software under GPL3 only, automatically receives his GPL3 license from upstream *not* any other license.

The GPL3 does not ensure that the recipient of software originally licensed under MIT or GPL automatically gets its MIT license thanks to the GPL3 (that’s something the MIT license has to take care by itself).

If the FSF, for whatever reason, ignoring its past pledges, ever released a GPLx version, that did not contain this provision (and if the legal system let it pass notwithstanding estoppel) it would be perfectly legal to distribute GPL3+ software under this GPLx and the recipients of this distribution would receive *no* license from upstream as part of this distribution.

And because people have a problem understanding concepts they strongly wish not to exist, a less controversial event might be the disbanding of the FSF in favor of a Software Liberty Institute (SLI), with the last GPL4 version published by the FSF changed to

> The Software Liberty Institute may publish revised and/or new versions of the GNU General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns.

> Each version is given a distinguishing version number. If the Program specifies that a certain numbered version of the GNU General Public License “or any later version” applies to it, you have the option of following the terms and conditions either of that numbered version or of any later version published by the Software Liberty Institute. If the Program does not specify a version number of the GNU General Public License, you may choose any version ever published by the Software Liberty Institute.

And people receiving software under the GPL4+ would have no authorization to use GPL6 terms, should the FSF change its mind and publish a GPL6, without the SLI publishing a GPL5 first that restored "or later" understanding to apply to GPL versions published by the FSF.

GCC drops its copyright-assignment requirement

Posted Jun 3, 2021 22:27 UTC (Thu) by Wol (subscriber, #4433) [Link] (12 responses)

> > YOUR downstream receives their licence from UPSTREAM, and NOT from you (unless, of course, you are upstream because it's your copyright).

> Except that this specific paragraph means, that someone receiving software under GPL3 only, automatically receives his GPL3 license from upstream *not* any other license.

Except that the licence grant by upstream was "GPL3+". So you are NOT passing on what you received. NOT ALLOWED.

And the *evidence* of that grant is the COPYING file, which still says GPL3+. (And you can't edit the COPYING file, because then you are actively taking away your downstream's rights - SERIOUSLY not allowed!!!)

Cheers,
Wol

GCC drops its copyright-assignment requirement

Posted Jun 4, 2021 6:04 UTC (Fri) by matthias (subscriber, #94967) [Link] (11 responses)

> > > YOUR downstream receives their licence from UPSTREAM, and NOT from you (unless, of course, you are upstream because it's your copyright).
> > Except that this specific paragraph means, that someone receiving software under GPL3 only, automatically receives his GPL3 license from upstream *not* any other license.
> Except that the licence grant by upstream was "GPL3+". So you are NOT passing on what you received. NOT ALLOWED.
> And the *evidence* of that grant is the COPYING file, which still says GPL3+. (And you can't edit the COPYING file, because then you are actively taking away your downstream's rights - SERIOUSLY not allowed!!!)

You are only looking at the preamble and not the actual text of the GPL. If the preamble would be all that matters, there would be no need for the rest of the license. Actually, the GPL has a section which very specifically says what you have to do if you provide verbatim copies and which clarifies what is meant with the pass on of the rights you have received mentioned in the preamble:

> You may convey verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice; keep intact all notices stating that this License and any non-permissive terms added in accord with section 7 apply to the code; keep intact all notices of the absence of any warranty; and give all recipients a copy of this License along with the Program.
>
> You may charge any price or no price for each copy that you convey, and you may offer support or warranty protection for a fee.

So you have to keep intact all notices that the GPLv3 applies to the code. No need to keep intact notices that other licenses apply (e.g. GPL2 or Apache if dual licensed).

Do not read anything into the license which is not there. There are projects that dual license under GPL and a proprietary license that allows binary distribution without source. Do you want to say that a holder of such a proprietary license must pass on the right to distribute binary without the source if (s)he chooses to distribute the soure? Just because (s)he has received the right. This would actually be illegal.

The phrasing "you must pass on to the recipients the same freedoms that you received" refers to the freedoms granted by the license (GPLv3) and not to any freedoms received by any other means (e.g. a grant of an additional license). As you see with the example of the proprietary license this would otherwise lead to quite contradictonary results.

Cheers,
Matthias

GCC drops its copyright-assignment requirement

Posted Jun 7, 2021 16:18 UTC (Mon) by Wol (subscriber, #4433) [Link] (10 responses)

> The phrasing "you must pass on to the recipients the same freedoms that you received" refers to the freedoms granted by the license (GPLv3) and not to any freedoms received by any other means (e.g. a grant of an additional license). As you see with the example of the proprietary license this would otherwise lead to quite contradictonary results.

Except, as you may have noticed, I have changed my mind with respect to whether the GPL is a licence. *Legally*, it ISN'T. It is a list of terms that the distributor must comply with.

The LICENCE ITSELF is the statement in the COPYING file, which says "GPL2+", or "GPL3+" or whatever.

Alice grants a licence to her code.
Bob modifies the evidence.
Carol is given a copy by Bob (which as per version 2, or version 3, or whatever) grants Carol a licence from Alice ...

Bob can't sue, he's not got skin in the game (no copyrights).
Alice can't sue Carol, because the only EVIDENCE is Alice's grant of GPL*PLUS*.

And actually, Alice can probably sue Bob for faking the evidence ...

The only real complication is that Carol may, in *practical* terms, be unable to comply with some of her choice of available licences - to give the aforementioned example if Bob distributes a binary that is dual-licenced MIT/GPL, then Carol has the *right* to distribute it under the GPL, but not the *ability*.

> Do not read anything into the license which is not there. There are projects that dual license under GPL and a proprietary license that allows binary distribution without source. Do you want to say that a holder of such a proprietary license must pass on the right to distribute binary without the source if (s)he chooses to distribute the soure? Just because (s)he has received the right. This would actually be illegal.

And here, you're reading stuff into the licence that doesn't exist. Let's take Qt. I have a GPL licence to the source, and a licence that allows me to distribute binaries. Thing is, they are two SEPARATE licences. Trolltech have granted ANYONE a GPL licence. They have granted ME a binary licence. If I avail myself of the GPL licence, it doesn't force me to pass on any other licences I may have.

What you're missing, is that now I've clarified my thoughts (thanks :-), the "GPL2+" is NOT a COLLECTION of licences, it is a SINGLE LICENCE with a collection of alternative "terms and conditions". Once you get your head round the thought that "the GPL is not the licence itself, it is the terms of the licence", it all makes sense.

Remember, courts require *evidence*. The *only* evidence is Alice's statement that the licence is GPL2*PLUS*.

Cheers,
Wol

GCC drops its copyright-assignment requirement

Posted Jun 9, 2021 7:44 UTC (Wed) by matthias (subscriber, #94967) [Link] (9 responses)

> Except, as you may have noticed, I have changed my mind with respect to whether the GPL is a licence. *Legally*, it ISN'T. It is a list of terms that the distributor must comply with.

I noticed this and I agree with this.

> The LICENCE ITSELF is the statement in the COPYING file, which says "GPL2+", or "GPL3+" or whatever.

Actually, the license itself is an abstract thing that is described in the COPYING file.

> The LICENCE ITSELF is the statement in the COPYING file, which says "GPL2+", or "GPL3+" or whatever.
> Alice grants a licence to her code.
> Bob modifies the evidence.
> Carol is given a copy by Bob (which as per version 2, or version 3, or whatever) grants Carol a licence from Alice ...

This is fine. But is the license granted to Carol identical to the license granted to Bob?

> The only real complication is that Carol may, in *practical* terms, be unable to comply with some of her choice of available licences - to give the aforementioned example > if Bob distributes a binary that is dual-licenced MIT/GPL, then Carol has the *right* to distribute it under the GPL, but not the *ability*.

If Bob distributes according to MIT terms, then why should Carol have any right to distribute it under GPL? GPL terms do not apply at all in this case. Thus also the clause stating that Alice automatically grants a license to Carol does not apply.

> What you're missing, is that now I've clarified my thoughts (thanks :-), the "GPL2+" is NOT a COLLECTION of licences, it is a SINGLE LICENCE with a collection of alternative "terms and conditions". Once you get your head round the thought that "the GPL is not the licence itself, it is the terms of the licence", it all makes sense.

It is not really important whether we see GPL2+ as a collection of licenses (each with its own set of terms) or a collection of terms. In both cases, we have to determine the license given to Carol. In Section 0 of GPL3 it is clearly stated that "This License" anywhere in the GPL3 terms refers to GPL version 3 (not anything else). And in Section 10 it is stated that Alice grants "This License" to Carol. Thus if Bob is distributing according to terms of GPL3 (which Bob is allowed to do), the license granted from Alice to Carol is GPL Version 3, even if the license Bob has is of a different type (GPL2+). Of course, Alice is free to also grant version 2 and version >3, but this is not according to the terms of the GPL and not automatic.

And of course in Section 4 it is only required to keep intact the notices referring to "This Licese", i.e., GPL version 3. If other notices (dual licensing, version 2) are removed, this is not against the terms of GPL3 and thus allowed by GPL2+, as GPL2+ allows Bob to choose to distribute under the terms of GPL3.

> Remember, courts require *evidence*. The *only* evidence is Alice's statement that the licence is GPL2*PLUS*.

This is not the only evidence. Bob's statement that he distributed according to the terms of GPL3 is also evidence. And without the evidence that Bob distributed to Carol, there would be no evidence at all that Carol has any rights to the code. And taking both evidences together, we get that Bob is allowed to use terms of GPL3 and that the License granted from Alice to Carol is GPL3 (by the terms of GPL3 which have to be applied according to the choice of Bob).

Somewhere else in the thread, you said that this interpretation would be a nightmare, as all the different licenses have to be passed on individually. But in practice it will work without problems, because it is quite unlikely that someone just distributing the source will change the COPYING file. And if the COPYING file is unchanged, the source is distributed simultaneously under all the license terms stated in that file. Also if the code is only copied and not modified, Carol can always get the full set of license terms by getting a copy somewhere higher in the supply chain.

Problems arise when forks distribute under a more restricted set of license terms. This code cannot be used upstream without restricting those license terms as well. But thess problem are there anyway.

Best,
Matthias

GCC drops its copyright-assignment requirement

Posted Jun 9, 2021 11:58 UTC (Wed) by james (subscriber, #1325) [Link] (3 responses)

... And without the evidence that Bob distributed to Carol, there would be no evidence at all that Carol has any rights to the code...
I think that goes too far. The MIT license, for example, says:
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction...
So the mere fact that Carol has a copy of the Software means she has a license, regardless of who she got it from or what license they used.

Or if Alice, as copyright holder, published:

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
then that is Alice licensing it to Carol (assuming Carol gets to read it), right there. What Bob thought doesn't matter (assuming Bob has no rights over the software): he has nothing to license.

GCC drops its copyright-assignment requirement

Posted Jun 9, 2021 16:42 UTC (Wed) by Wol (subscriber, #4433) [Link] (1 responses)

> then that is Alice licensing it to Carol (assuming Carol gets to read it), right there. What Bob thought doesn't matter (assuming Bob has no rights over the software): he has nothing to license.

This is exactly my point. If Matthias agrees that the GPL text is not legally a licence, when it requires that the licence be passed on, it CAN NOT be referring to itself.

But more importantly, as I said, COURTS REQUIRE EVIDENCE. If the only evidence available is Alice's statement that she granted GPL2+, then that's what the court will agree with. And yes, Bob's thoughts don't matter, because Alice did not give him permission to speak on her behalf ...

Cheers,
Wol

GCC drops its copyright-assignment requirement

Posted Jun 9, 2021 23:27 UTC (Wed) by Wol (subscriber, #4433) [Link]

Except whoops, as I've realised elsewhere, this is simply saying that Carol gets the same rights as Bob used ...

Cheers,
Wol

GCC drops its copyright-assignment requirement

Posted Jun 9, 2021 20:50 UTC (Wed) by matthias (subscriber, #94967) [Link]

> What Bob thought doesn't matter (assuming Bob has no rights over the software): he has nothing to license.

If it is dual licensed by MIT, then Bob has rights. The MIT license explicitly grants Bob the right to sublicense. And if Bob sublicenses to Carol according to MIT than Carol never got a license from Alice and thus cannot claim the rights under GPL. Carol only gets the GPL license from Alice if someone distributes to Carol under GPL terms, because these terms state that Alice will automatically license according to GPL terms.

GCC drops its copyright-assignment requirement

Posted Jun 9, 2021 17:39 UTC (Wed) by Wol (subscriber, #4433) [Link] (4 responses)

> > The LICENCE ITSELF is the statement in the COPYING file, which says "GPL2+", or "GPL3+" or whatever.

> Actually, the license itself is an abstract thing that is described in the COPYING file.

Okay, but the COPYING file is the documentation that describes the licence.

> > The LICENCE ITSELF is the statement in the COPYING file, which says "GPL2+", or "GPL3+" or whatever.
> > Alice grants a licence to her code.
> > Bob modifies the evidence.
> > Carol is given a copy by Bob (which as per version 2, or version 3, or whatever) grants Carol a licence from Alice ...

> This is fine. But is the license granted to Carol identical to the license granted to Bob?

Carol has evidence (from Alice) that it is. Plus Alice did not give Bob permission to change it.

> > The only real complication is that Carol may, in *practical* terms, be unable to comply with some of her choice of available licences - to give the aforementioned example > if Bob distributes a binary that is dual-licenced MIT/GPL, then Carol has the *right* to distribute it under the GPL, but not the *ability*.

> If Bob distributes according to MIT terms, then why should Carol have any right to distribute it under GPL? GPL terms do not apply at all in this case. Thus also the clause stating that Alice automatically grants a license to Carol does not apply.

Because if it's DUAL-licenced, then Alice gave Carol those rights, and Bob does not have the right to change them. The fact that Carol only has a binary and cannot comply with the GPL is unfortunate, but she still has that right because she has the EVIDENCE that Alice gave her that right.

> What you're missing, is that now I've clarified my thoughts (thanks :-), the "GPL2+" is NOT a COLLECTION of licences, it is a SINGLE LICENCE with a collection of alternative "terms and conditions". Once you get your head round the thought that "the GPL is not the licence itself, it is the terms of the licence", it all makes sense.

> It is not really important whether we see GPL2+ as a collection of licenses (each with its own set of terms) or a collection of terms. In both cases, we have to determine the license given to Carol.

Actually, when we're arguing about the jots and tittles of the law, it's VERY important :-) Seriously. PJ would eat you alive for a statement like that ...

> In Section 0 of GPL3 it is clearly stated that "This License" anywhere in the GPL3 terms refers to GPL version 3 (not anything else). And in Section 10 it is stated that Alice grants "This License" to Carol.

Again, being pedantic, it does not. It says that Carol gets this licence from Alice, not Bob. That's actually a very important difference ...

> Thus if Bob is distributing according to terms of GPL3 (which Bob is allowed to do), the license granted from Alice to Carol is GPL Version 3, even if the license Bob has is of a different type (GPL2+). Of course, Alice is free to also grant version 2 and version >3, but this is not according to the terms of the GPL and not automatic.

And this is why that difference is important! Carol GETS her GPL3 licence from Alice, but Alice GRANTED her GPL2+. Clause 10 has nothing to say about any ADDITIONAL rights that may come along with the GPL3 licence, but the GPL actually has a lot to say about Bob being allowed to choose whether or not to pass them on. By default, the law says he can't choose what he's going to pass on because he's not allowed to change them. Plus, in fact, the pre-amble says he must pass them on because if he received GPL2+, he received the freedom to choose, and he must pass on all the freedoms he received, including the freedom to choose.

> And of course in Section 4 it is only required to keep intact the notices referring to "This Licese", i.e., GPL version 3. If other notices (dual licensing, version 2) are removed, this is not against the terms of GPL3 and thus allowed by GPL2+, as GPL2+ allows Bob to choose to distribute under the terms of GPL3.

Yup, GPL3 only talks about preserving itself. That's fine. But it operates WITHIN the law, and if Bob was not given permission to change Alice's grant (and he wasn't), then editing the COPYING file is called "tampering with the evidence", and it's illegal. Each version of the GPL *must* be self-contained - it can only refer to itself. But the licence Alice handed out is outwith the GPL - the GPL cannot refer to that licence because it doesn't know what that licence is, and crucially, it does NOT give anyone permission to *change* that licence.

> > Remember, courts require *evidence*. The *only* evidence is Alice's statement that the licence is GPL2*PLUS*.

> This is not the only evidence. Bob's statement that he distributed according to the terms of GPL3 is also evidence.

And what if Carol is woolly and doesn't have a clue where the CD came from with the program on it? All she knows is that a friend gave her the CD and it appears kosher, with all the licences, grants, etc intact.

> And without the evidence that Bob distributed to Carol, there would be no evidence at all that Carol has any rights to the code. And taking both evidences together, we get that Bob is allowed to use terms of GPL3 and that the License granted from Alice to Carol is GPL3 (by the terms of GPL3 which have to be applied according to the choice of Bob).

I'll say it again. The licence Carol RECIEVED from Alice included, AS A MINIMUM, the GPL3. But the licence GRANTED by Alice was GPL2+.

More woolly thinking. When discussing the law, jots and tittles matter. Whether permission is GIVEN or RECEIVED matters.

> Somewhere else in the thread, you said that this interpretation would be a nightmare, as all the different licenses have to be passed on individually. But in practice it will work without problems, because it is quite unlikely that someone just distributing the source will change the COPYING file.

Because they have no right to ...

> And if the COPYING file is unchanged, the source is distributed simultaneously under all the license terms stated in that file. Also if the code is only copied and not modified, Carol can always get the full set of license terms by getting a copy somewhere higher in the supply chain.

Except, for a collaborative project, SHE CAN'T. Take a project I've contributed to. LibreOffice. WHERE IS UPSTREAM??? Is it my PC, where I keep a copy of the source? I own some of the copyrights, so it's most definitely *A* definitive upstream. Is it Michael's PC? He seems to be lead developer, I'm sure he owns a load of copyrights, he's definitely *A* definitive upstream, but not for my code! That's the point - under your model THERE IS NO HIGHER AUTHORITY because Alice, Anne, Antonia, Anastasia, all have a valid claim to be upstream. What's definite, is that Bob is no authority at all!

> Problems arise when forks distribute under a more restricted set of license terms. This code cannot be used upstream without restricting those license terms as well. But thess problem are there anyway.

:-)

Cheers,
Wol

GCC drops its copyright-assignment requirement

Posted Jun 9, 2021 21:28 UTC (Wed) by matthias (subscriber, #94967) [Link] (3 responses)

>> If Bob distributes according to MIT terms, then why should Carol have any right to distribute it under GPL? GPL terms do not apply at all in this case. Thus also the clause stating that Alice automatically grants a license to Carol does not apply.
> Because if it's DUAL-licenced, then Alice gave Carol those rights, and Bob does not have the right to change them. The fact that Carol only has a binary and cannot comply with the GPL is unfortunate, but she still has that right because she has the EVIDENCE that Alice gave her that right.

Alice gave no rights to Carol, as Carol did not receive the code from Alice. According to MIT license, Bob has the right to sublicense to Carol. Thus if Bob distributes to Carol under the terms of MIT license (allowed because dual licensed to Bob), then Bob exercises his right to sublicense and the terms of GPL saying that Carol will get some license from Alice have no effect.

> > This is fine. But is the license granted to Carol identical to the license granted to Bob?
> Carol has evidence (from Alice) that it is. Plus Alice did not give Bob permission to change it.

Carol will not get evidence from Alice. She will get evidence from Bob saying that she can distribute according to GPL3. Carol will receive her GPL3 license from Alice, but all the evidence Carol gets is from Bob. Also Bob never changes a license given from Alice to Carol. Before Bob distributes to Carol, Carol does not have a license at all. As soon as Bob distributes to Carol according to GPL3 terms, the GPL3 terms come into effect that say that Carol will get a license under GPL3 terms from Alice. If you want to be pendantic than please do not speak of changing a license, but talk about the terms of the license that is newly created in the moment Carol receives the code.

>> Thus if Bob is distributing according to terms of GPL3 (which Bob is allowed to do), the license granted from Alice to Carol is GPL Version 3, even if the license Bob has is of a different type (GPL2+). Of course, Alice is free to also grant version 2 and version >3, but this is not according to the terms of the GPL and not automatic.
>And this is why that difference is important! Carol GETS her GPL3 licence from Alice, but Alice GRANTED her GPL2+.

No, Alice granted GPL2+ to Bob. And once Bob distributes according to GPL3 terms, the GPL3 specifies that Alice grants a GPL3 license to Carol. The license granted to Carol is thus not identical to the license granted to Bob. That is fine according to copyright law. Clearly I can create a license foo (GPL2+) that states every third person who will receive the code will get a license bar (GPL3).

> Clause 10 has nothing to say about any ADDITIONAL rights that may come along with the GPL3 licence, but the GPL actually has a lot to say about Bob being allowed to choose whether or not to pass them on. By default, the law says he can't choose what he's going to pass on because he's not allowed to change them. Plus, in fact, the pre-amble says he must pass them on because if he received GPL2+, he received the freedom to choose, and he must pass on all the freedoms he received, including the freedom to choose.

By default, Bob is not allowed to distribute at all and even if some license just says Bob is allowed to distribute, Bob is not allowed to pass any rights on (as long as not additionally stated). The GPL nowhere says that all freedoms must be passed on. Do not read to much into the preamble. The preamble only gives a very high-level description of what the GPL wants to achieve. These high-level ideas are phrased out very specifically in the GPL terms itself. These specific terms apply. And in these terms it only says the the freedoms according to GPL3 have to be passed on. Section 0 says that every reference of "This License" has to be replaced by GPL version 3. And (after this replacement), Section 10 clearly says that Carol is granted a GPL version 3 license from Alice in the moment Carol receives the code under the terms of GPL version 3. If there would be no clarification what "this license" should refer to, your interpretation might be valid. But the GPL is very specific that "This License"always means GPL version 3 (and not the GPL2+ license given to Bob in the COPYING file). Section 0 of the GPL clearly says that your interpretation what "this license" refers to is wrong.

> Yup, GPL3 only talks about preserving itself. That's fine. But it operates WITHIN the law, and if Bob was not given permission to change Alice's grant (and he wasn't),
Alice grant was only to Bob. Alice only grants to Carol once Carol gets a copy of the code. Thus it is impossible that Alice's grant to Carol is changed as it does not yet exist. Alice's grant to Carol is only because the terms of the GPL3 state that Alice gives a grant to Carol. And the terms of the GPL3 (which does not care about other licenses) specify that this new grant to Carol is of type GPL3. The COPYING file does not document the grant given from Alice to Carol, it documents the grant given from Alice to Bob.

> then editing the COPYING file is called "tampering with the evidence", and it's illegal. Each version of the GPL *must* be self-contained - it can only refer to itself. But the licence Alice handed out is outwith the GPL - the GPL cannot refer to that licence because it doesn't know what that licence is, and crucially, it does NOT give anyone permission to *change* that licence.

As said above, the license is not changed. The COPYING file Bob receives is the evidence that Alice granted rights according to GPL2+ to Bob. If Bob decides decides to distribute according to GPL3, he will change the COPYING file to make clear that he only distributes according to GPL3 terms and thus only a GPL3 license is granted from Alice to Carol, as this is what is stated in GPL3 Section 10.

Of course, Alice never explicitly gave out a license saying GPL3. But the terms of GPL3 (which Alice allows to apply to the code) state that Alice will grant a GPL version 3 license to anyone who receives the code according to the terms of GPL3. If Alice is not happy with that she should not allow to distribute under GPL3 in the first place.

Cheers,
Matthias

GCC drops its copyright-assignment requirement

Posted Jun 9, 2021 23:38 UTC (Wed) by Wol (subscriber, #4433) [Link] (1 responses)

> No, Alice granted GPL2+ to Bob. And once Bob distributes according to GPL3 terms, the GPL3 specifies that Alice grants a GPL3 license to Carol. The license granted to Carol is thus not identical to the license granted to Bob. That is fine according to copyright law. Clearly I can create a license foo (GPL2+) that states every third person who will receive the code will get a license bar (GPL3).

WORDS MATTER! Where in the GPL does it say that Alice GRANTS a licence TO Carol? It says that Carol GETS a licence FROM Alice. That's not the same thing at all! And seeing as the only licence Alice has granted is GPL2+, that is the licence Carol gets. For her to get anything else, she must have received that licence from Bob, which the GPL explicitly says DOES NOT HAPPEN.

Plus, how come Bob has not forwarded to Carol the right he had to choose ANY licence allowed by GPL2+? The GPL itself says that that is what the GPL seeks to enforce. And if the GPL explicitly states its intent, then a Judge is likely to say that is a requirement, pre-amble or no.

The wording of the GPL ensures that if Alice receives it under GPL3, she is guaranteed the right to distribute under GPL3, otherwise Bob is breaking the terms of the licence.

Cheers,
Wol

GCC drops its copyright-assignment requirement

Posted Jun 10, 2021 6:31 UTC (Thu) by matthias (subscriber, #94967) [Link]

> WORDS MATTER! Where in the GPL does it say that Alice GRANTS a licence TO Carol? It says that Carol GETS a licence FROM Alice. That's not the same thing at all!

No, it uses the word RECEIVES, again a word with a completely different meaning. Or not so different at all? How do you get a license? By a grant!

And the important thing is not whether Carol gets, receives, or is granted a license. The important hing is which license she gets. And the GPL version 3 is very specific about that: Carol gets a license GPL version 3.

> And seeing as the only licence Alice has granted is GPL2+, that is the licence Carol gets.

Why? Just because Alice did never grant before a license GPL3? How can you conclude that she will not in the future? She definitely has the right to do so. And the terms of her chosen license terms (GPL2+) state that exactly that will happen once the code is distributed under GPL3.

> For her to get anything else, she must have received that licence from Bob, which the GPL explicitly says DOES NOT HAPPEN.

No, she can receive that anything else from Alice. And the GPL says she will get it from Alice. No problem there.

> Plus, how come Bob has not forwarded to Carol the right he had to choose ANY licence allowed by GPL2+? The GPL itself says that that is what the GPL seeks to enforce.

It does not say this. The GPL3 (int the very license terms) only says that the freedoms according to the terms of GPL3 have to be forwarded.

> The wording of the GPL ensures that if Alice receives it under GPL3, she is guaranteed the right to distribute under GPL3, otherwise Bob is breaking the terms of the licence.

Probably, you mean Carol. I think, we agree on this. But I do not see how this is broken if Bob replace GPL2+ by GPL3. Carol can still distribute under GPL3.

> But in this case, Bob has *changed* *the* *licence*.

Again, Bob did not change any license. The licence Carol gets from Alice is specified by GPL3 and the existence of this license only starts, once Carol receives the code. How can you change something that does not yet exist?

> And again, where in the GPL does it say Alice GRANTS a licence? I've looked at clause 10 and it uses the word GET, which is a completely different word, with a completely different meaning.

See above. And did you really look at clause 10? How did you miss that it says RECEIVES and not GET? ;)

Best,
Matthias

GCC drops its copyright-assignment requirement

Posted Jun 9, 2021 23:41 UTC (Wed) by Wol (subscriber, #4433) [Link]

> As said above, the license is not changed. The COPYING file Bob receives is the evidence that Alice granted rights according to GPL2+ to Bob. If Bob decides decides to distribute according to GPL3, he will change the COPYING file to make clear that he only distributes according to GPL3 terms and thus only a GPL3 license is granted from Alice to Carol, as this is what is stated in GPL3 Section 10.

But in this case, Bob has *changed* *the* *licence*. This is called sub-licencing, which the GPL does not permit. And again, where in the GPL does it say Alice GRANTS a licence? I've looked at clause 10 and it uses the word GET, which is a completely different word, with a completely different meaning.

Cheers,
Wol

GCC drops its copyright-assignment requirement

Posted Jun 3, 2021 22:39 UTC (Thu) by Wol (subscriber, #4433) [Link] (1 responses)

> And people receiving software under the GPL4+ would have no authorization to use GPL6 terms, should the FSF change its mind and publish a GPL6, without the SLI publishing a GPL5 first that restored "or later" understanding to apply to GPL versions published by the FSF.

Except the "or later" wording is nothing whatsoever to do with any currently extant GPL licence.

I know I keep on banging on about the difference between the LICENCE, and the GRANT of licence, but the GPL licence itself is the work of the FSF. The *grant* of licence is the work of the copyright holder, and the FSF merely *suggests* that the copyright holder should use that wording.

So if *I* grant you permission to use "any version of the GPL version 3 or later", that has ABSOLUTELY NOTHING to do with the GPL itself.

And the demand of the GPL itself that you pass on all the rights that you received, requires that you pass on my grant of "v3 or later". That you personally chose v4 is totally irrelevant to the fact that you must pass on the v3 permissions. (I'm assuming that the GPL4 will contain the requirement to pass on all rights, but I think that is a fundamental tenet of the GPL - any version.)

Cheers,
Wol

GCC drops its copyright-assignment requirement

Posted Jun 7, 2021 6:56 UTC (Mon) by nim-nim (subscriber, #34454) [Link]

>Except the "or later" wording is nothing whatsoever to do with any currently extant GPL licence.

Excerpt from the GPL3

> Each version is given a distinguishing version number. If the Program specifies that a certain numbered version of the GNU General Public License “or any later version” applies to it,

So or later is defined in the license and is controlled by the program headers, and has it has already been explained to you the text of the GPLx only controls the headers of the GPLx (or any other license defined inside the GPLx text, open ended does not work because mandating something is available under license X is subject to that other license conditions, so the best you can do is allow the use of that other license text should the recipient want to).

The GPL has this property, should you want to avail yourself of any later… means ocus pocus, the COPYRIGHT text disappears and is replaced by the text of this other license, and so are ancillary elements like headers, otherwise the whole thing would not work.

And, the current GPL forgets to state what happens to the "or later" in headers in that case, the reasonable default is that it is invalidated like the rest (if it were an exception it should have been stated as an exception).


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