I think the problem arises from the desire to produce a rigorous general definition of the “later” – while I (and others) believe that no such thing is possible. It would have been great if it were so, but unfortunately we deal with human language as the primary form of expression (license texts are in English). This reminds me of the joke that a software specified requirements “Windows 98 or better” and people complained it didn’t run on Linux… 😉
I think that whether GPLv4 (if such thing ever exists) will be considered a “later” version of GPLv3 is something that will be determined only once all the details are known. After all, GPLv3 (in section 14) also allows for a work to specify that a proxy can decide which future versions of the GNU General Public License can be used – and in that case you will have to rely on that proxy's public statement of acceptance of a version. Feel free to peruse the collection of “or later” clauses in various licenses that the Legal Team has amassed in https://wiki.spdx.org/view/Legal_Team/later-version-clauses -- zvr From: [email protected] <[email protected]> On Behalf Of Vladimir Sitnikov Sent: Monday, 24 June, 2019 16:32 To: Zavras, Alexios <[email protected]>; [email protected] Subject: Re: [spdx-tech] "Or later" operator is not well defined Alexios>The same way that in Unicode the sequence of [U+03C0 GREEK SMALL LETTER PI] and [U+0301 COMBINING ACUTE ACCENT] is permitted (syntactically valid) but meaningless (semantically invalid), in SPDX license expression grammar you can have “MIT+”. I am sure you are aware of Unicode Normalization Forms (see https://unicode.org/reports/tr15/ ) I am sure you are aware that SPDX misses "normalization forms". It looks like you are using MIT+ example as a way to tell that "SPDX does not need any definition of or-later operator". I agree MIT+ does not make much sense, and it would hardly be used in the real life. In case MIT+ happens in a real code, then it would be better that software would just fail and ask a human. However, GPL-2.0+ could easily be present in the real life, and it is really sad SPDX provides no clue to interpret that. Alexios>If you’re start disallowing “MIT+”, where will you stop? Is “GPL-2.0-only AND GPL-3.0-only” a semantically meaningful expression? I don't really care. What I care is the way to mechanically interpret "or later" expression. For instance: "GPL-2.0-only AND GPL-3.0-only". This expression falls under "category X" for ASF policy (https://www.apache.org/legal/resolved.html) because GPL-2.0-only is "category X", and "GPL-3.0-only" is "category X". "X and X" produces X which means that dependency can't be used in ASF projects. I don't need to know if the expression makes sense or not. I can just mechanically evaluate the expression and check if it is "category A, B or X" However, "or-later" breaks that. I can't really do the check of "GPL-2.0+" because the standard provides no meaning to "or-later". Alexios>If your question was specifically about the equivalence of “GPL-2.0+” and “GPL-2.0-or-later”, this is not stated explicitly anywhere, since it is implied by the definition of the operator. I'm afraid you are wrong here. SPDX standard does not specify what "a version" of a license is. SDPX standard does not specify the way to compare versions, so there is NO way to tell which version is "later" There can be no "implied" definition. The definition has to be in the standard. Vladimir Intel Deutschland GmbH Registered Address: Am Campeon 10-12, 85579 Neubiberg, Germany Tel: +49 89 99 8853-0, www.intel.de Managing Directors: Christin Eisenschmid, Gary Kershaw Chairperson of the Supervisory Board: Nicole Lau Registered Office: Munich Commercial Register: Amtsgericht Muenchen HRB 186928 -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#3723): https://lists.spdx.org/g/Spdx-tech/message/3723 Mute This Topic: https://lists.spdx.org/mt/32049933/21656 Group Owner: [email protected] Unsubscribe: https://lists.spdx.org/g/Spdx-tech/unsub [[email protected]] -=-=-=-=-=-=-=-=-=-=-=-
