Licence GPL-3.0-only is not available #407

Open
opened 1 year ago by crts · 10 comments
crts commented 1 year ago

I am creating a new repository and select "GPL-3.0-only" as licence. However, the repository is created with the "GPL-3.0-or-later" licence, i.e., it has the "or later" clause in it.

How/Where can I get the "GPL-3.0-only" licence, the one without the "or later" clause?


Maintainer Edit: Current Status

  • the only/or-later clause is not part of the licence text, so the repo must indicate which version to choose
  • users need to be informed about this
  • similar licences should be excluded to avoid this behaviour, or
  • the default licence header (available in SPDX information to the generator) should be included in the README so the licence is also correctly applied to the repo
I am creating a new repository and select "GPL-3.0-only" as licence. However, the repository is created with the "GPL-3.0-or-later" licence, i.e., it has the "or later" clause in it. How/Where can I get the "GPL-3.0-only" licence, the one without the "or later" clause? --- ## Maintainer Edit: Current Status - the only/or-later clause is not part of the licence text, so the repo must indicate which version to choose - users need to be informed about this - similar licences should be excluded to avoid this behaviour, or - the default licence header (available in SPDX information to the generator) should be included in the README so the licence is also correctly applied to the repo
Collaborator

Wow, indeed: The license files are available, but do not differ (so the -only license has got the same text as the -or-later version):

16:10:08 fralix ~/—/gitea/options/license codeberg: diff GPL-3.0-only GPL-3.0-or-later 
16:10:15 fralix ~/—/gitea/options/license codeberg: 

Can you report this issue upstream at https://github.com/go-gitea/gitea/issues and ideally check if the issue is still present and if there are other licenses affected?
This would help a lot.

In the meantime, you can of course update / edit your license manually by simply editing the file accordingly.

Wow, indeed: The license files are available, but do not differ (so the -only license has got the same text as the -or-later version): ~~~ 16:10:08 fralix ~/—/gitea/options/license codeberg: diff GPL-3.0-only GPL-3.0-or-later 16:10:15 fralix ~/—/gitea/options/license codeberg: ~~~ Can you report this issue upstream at https://github.com/go-gitea/gitea/issues and ideally check if the issue is still present and if there are other licenses affected? This would help a lot. In the meantime, you can of course update / edit your license manually by simply editing the file accordingly.
fnetX added the
gitea-related
bug
labels 1 year ago
crts commented 1 year ago
Poster

Unfortunately, I do not have a github account so I cannot report it.
I am not sure about the legal implications if I manually edit the licence. What If I miss something? There are several "or later" references.

Quite curious to know how many developers published their software under the wrong licence because of this issue.

Unfortunately, I do not have a github account so I cannot report it. I am not sure about the legal implications if I manually edit the licence. What If I miss something? There are several "or later" references. Quite curious to know how many developers published their software under the wrong licence because of this issue.
Collaborator

Okay, no problem, I'll take care of the report then.

Well from a legal point of view, you are responsible for your license. I mean, in this case, you are also not safe if you rely on the software to produce a correct license :-)

You should be somewhat safe if you copy the correct license text from the coressponding website into a file.

Okay, no problem, I'll take care of the report then. Well from a legal point of view, you are responsible for your license. I mean, in this case, you are also not safe if you rely on the software to produce a correct license :-) You should be somewhat safe if you copy the correct license text from the coressponding website into a file.
Collaborator

Hmm, I did some research on the terms of licence versions. It appears to me as if not the licence itself is actually modified, but that you need to adapt your licence header. Compare GPL-3.0-only to GPL-3.0-or-later on SPDX for example. The only difference is the standard licence header at the very bottom of the page, which should not be included in the licence itself, but in your software headers or another place.

So the included licence text is apparently shared between the versions and you have to refer to them. So the included licence text is absolutely correct AFAICT.
It's somewhat confusing to have the versions in the list for the same files, though.

Please give some feedback, if I'm right here.

Oh and I did a check which files are identical in options/license (grouped)
options/license/LGPL-3.0-or-later       
options/license/LGPL-3.0-only

options/license/AGPL-1.0-or-later
options/license/AGPL-1.0-only

options/license/GPL-2.0-only
options/license/GPL-2.0-or-later

options/license/OFL-1.0-RFN
options/license/OFL-1.0-no-RFN
options/license/OFL-1.0

options/license/LGPL-2.0-or-later
options/license/LGPL-2.0-only

options/license/GFDL-1.2-invariants-only
options/license/GFDL-1.2-invariants-or-later
options/license/GFDL-1.2-only
options/license/GFDL-1.2-no-invariants-or-later
options/license/GFDL-1.2-no-invariants-only
options/license/GFDL-1.2-or-later

options/license/CAL-1.0-Combined-Work-Exception
options/license/CAL-1.0

options/license/MPL-2.0-no-copyleft-exception
options/license/MPL-2.0

options/license/LGPL-2.1-or-later
options/license/LGPL-2.1-only

options/license/GFDL-1.3-only
options/license/GFDL-1.3-invariants-only
options/license/GFDL-1.3-no-invariants-only
options/license/GFDL-1.3-invariants-or-later
options/license/GFDL-1.3-or-later
options/license/GFDL-1.3-no-invariants-or-later

options/license/GPL-3.0-or-later
options/license/GPL-3.0-only

options/license/OFL-1.1-no-RFN
options/license/OFL-1.1-RFN
options/license/OFL-1.1

options/license/GPL-1.0-or-later
options/license/GPL-1.0-only

options/license/AGPL-3.0-or-later
options/license/AGPL-3.0-only

options/license/GFDL-1.1-or-later
options/license/GFDL-1.1-invariants-or-later
options/license/GFDL-1.1-no-invariants-or-later
options/license/GFDL-1.1-no-invariants-only
options/license/GFDL-1.1-invariants-only
options/license/GFDL-1.1-only

Thank you for spotting this, though.

Hmm, I did some research on the terms of licence versions. It appears to me as if not the licence itself is actually modified, but that you need to adapt your licence header. Compare [GPL-3.0-only](https://spdx.org/licenses/GPL-3.0-only.html) to [GPL-3.0-or-later](https://spdx.org/licenses/GPL-3.0-or-later.html) on SPDX for example. The only difference is the standard licence header at the very bottom of the page, which should not be included in the licence itself, but in your software headers or another place. So the included licence text is apparently shared between the versions and you have to refer to them. So the included licence text is absolutely correct AFAICT. It's somewhat confusing to have the versions in the list for the same files, though. Please give some feedback, if I'm right here. <details><summary>Oh and I did a check which files are identical in options/license (grouped)</summary> ~~~ options/license/LGPL-3.0-or-later options/license/LGPL-3.0-only options/license/AGPL-1.0-or-later options/license/AGPL-1.0-only options/license/GPL-2.0-only options/license/GPL-2.0-or-later options/license/OFL-1.0-RFN options/license/OFL-1.0-no-RFN options/license/OFL-1.0 options/license/LGPL-2.0-or-later options/license/LGPL-2.0-only options/license/GFDL-1.2-invariants-only options/license/GFDL-1.2-invariants-or-later options/license/GFDL-1.2-only options/license/GFDL-1.2-no-invariants-or-later options/license/GFDL-1.2-no-invariants-only options/license/GFDL-1.2-or-later options/license/CAL-1.0-Combined-Work-Exception options/license/CAL-1.0 options/license/MPL-2.0-no-copyleft-exception options/license/MPL-2.0 options/license/LGPL-2.1-or-later options/license/LGPL-2.1-only options/license/GFDL-1.3-only options/license/GFDL-1.3-invariants-only options/license/GFDL-1.3-no-invariants-only options/license/GFDL-1.3-invariants-or-later options/license/GFDL-1.3-or-later options/license/GFDL-1.3-no-invariants-or-later options/license/GPL-3.0-or-later options/license/GPL-3.0-only options/license/OFL-1.1-no-RFN options/license/OFL-1.1-RFN options/license/OFL-1.1 options/license/GPL-1.0-or-later options/license/GPL-1.0-only options/license/AGPL-3.0-or-later options/license/AGPL-3.0-only options/license/GFDL-1.1-or-later options/license/GFDL-1.1-invariants-or-later options/license/GFDL-1.1-no-invariants-or-later options/license/GFDL-1.1-no-invariants-only options/license/GFDL-1.1-invariants-only options/license/GFDL-1.1-only ~~~ </details> Thank you for spotting this, though.
crts commented 1 year ago
Poster

So the included licence text is apparently shared between the versions and you have to refer to them. So the included licence text is absolutely correct AFAICT.
It's somewhat confusing to have the versions in the list for the same files, though.

Please give some feedback, if I'm right here.

I am not a lawyer and I do not know how reliable spdx is, in this regard. However, clause 14. of the licence seems to support that assessment (emphasis by me):

  1. Revised Versions of this License.
    The Free Software Foundation 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 Free Software Foundation. If the Program does not specify a version number of the GNU General Public License, you may choose any version ever published by the Free Software Foundation.

If the Program specifies that a proxy can decide which future versions of the GNU General Public License can be used, that proxy's public statement of acceptance of a version permanently authorizes you to choose that version for the Program.

Later license versions may give you additional or different permissions. However, no additional obligations are imposed on any author or copyright holder as a result of your choosing to follow a later version.

I find it odd, though, that I did not find a similar explanation on fsf.org. I will keep looking just in case I overlooked something. I would have also expected that there would be a version with a modified How to Apply These Terms to Your New Programs section in the GPLv3-only version.

Regardless, if there is an GPLv3-only option in Gitea then it should at least provide a modified licence header to avoid such misunderstandings.

Thanks for investigating this issue.

> So the included licence text is apparently shared between the versions and you have to refer to them. So the included licence text is absolutely correct AFAICT. > It's somewhat confusing to have the versions in the list for the same files, though. > > Please give some feedback, if I'm right here. I am not a lawyer and I do not know how reliable spdx is, in this regard. However, clause 14. of the licence seems to support that assessment (emphasis by me): > 14. Revised Versions of this License. > The Free Software Foundation 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 Free Software Foundation.** If the Program does not specify a version number of the GNU General Public License, you may choose any version ever published by the Free Software Foundation. > > If the Program specifies that a proxy can decide which future versions of the GNU General Public License can be used, that proxy's public statement of acceptance of a version permanently authorizes you to choose that version for the Program. > > Later license versions may give you additional or different permissions. However, no additional obligations are imposed on any author or copyright holder as a result of your choosing to follow a later version. > I find it odd, though, that I did not find a similar explanation on fsf.org. I will keep looking just in case I overlooked something. I would have also expected that there would be a version with a modified **How to Apply These Terms to Your New Programs** section in the GPLv3-only version. Regardless, if there is an GPLv3-only option in Gitea then it should at least provide a modified licence header to avoid such misunderstandings. Thanks for investigating this issue.
6543 commented 1 year ago
Collaborator

@crts gitea do not maintain licenses. they get updated automaticaly form spdx

if you are interested in the generation script: https://github.com/go-gitea/gitea/blob/master/build/generate-licenses.go

If there are problems with Licence itselve this is should be reported back to https://github.com/spdx/spdx-spec

@crts gitea do not maintain licenses. they get updated automaticaly form spdx if you are interested in the generation script: https://github.com/go-gitea/gitea/blob/master/build/generate-licenses.go If there are problems with Licence itselve this is should be reported back to https://github.com/spdx/spdx-spec
crts commented 1 year ago
Poster

After some further research this is the closest official practical guide I found:
https://www.gnu.org/licenses/gpl-howto.html

In the section The license notices is says:

To use a different set of GPL versions, you would modify the end of the first long paragraph. For instance, to license under version 2 or later, you would replace “3” with “2”.

Piecing it all together it is most probably as @fnetX already stated, that only the licence notice should to be modified. However, the FSF discourages the omission of the "or later" clause, which is why they do not give an explicit example for that case.

I still think that this is a bug. If someone sees the option GPL-v3-only then one may conclude that choosing this option will provide some assistance in publishing under GPL-v3-only - it does not, though, and it has been misleading in this regard. A template licence notice should be provided when this option is selected, ideally alongside some instructions that clearly state that the licence notice should be included as a header in every source file.

After some further research this is the closest official practical guide I found: https://www.gnu.org/licenses/gpl-howto.html In the section **The license notices** is says: > To use a different set of GPL versions, you would modify the end of the first long paragraph. For instance, to license under version 2 or later, you would replace “3” with “2”. Piecing it all together it is most probably as @fnetX already stated, that only the licence notice should to be modified. However, the FSF discourages the omission of the "or later" clause, which is why they do not give an explicit example for that case. I still think that this is a bug. If someone sees the option GPL-v3-only then one may conclude that choosing this option will provide some assistance in publishing under GPL-v3-only - it does not, though, and it has been misleading in this regard. A template licence notice should be provided when this option is selected, ideally alongside some instructions that clearly state that the licence notice should be included as a header in every source file.
Collaborator

gitea do not maintain licenses. they get updated automaticaly form spdx

&

I still think that this is a bug. If someone sees the option GPL-v3-only then one may conclude that choosing this option will provide some assistance in publishing under GPL-v3-only

I think, a feature request could be about including only a "GPL-3.0" licence file instead of the two (identical) versions. That would also make the list of available licences much shorter and clearer and would avoid a confusion, because people will more likely understand, that they just included the licence text and have to state any other information by themselves.

> gitea do not maintain licenses. they get updated automaticaly form spdx & > I still think that this is a bug. If someone sees the option GPL-v3-only then one may conclude that choosing this option will provide some assistance in publishing under GPL-v3-only I think, a feature request could be about including only a "GPL-3.0" licence file instead of the two (identical) versions. That would also make the list of available licences much shorter and clearer and would avoid a confusion, because people will more likely understand, that they just included the licence text and have to state any other information by themselves.
fnetX removed the
bug
label 1 year ago
Collaborator

Opened a feature request for exlusion of similar licences upstream: https://github.com/go-gitea/gitea/issues/14909

Opened a feature request for exlusion of similar licences upstream: https://github.com/go-gitea/gitea/issues/14909
fnetX added the
upstream
label 1 year ago
fnetX added the
contribution welcome
label 12 months ago

After some further research this is the closest official practical guide I found:
https://www.gnu.org/licenses/gpl-howto.html

In the section The license notices is says:

To use a different set of GPL versions, you would modify the end of the first long paragraph. For instance, to license under version 2 or later, you would replace “3” with “2”.

Piecing it all together it is most probably as @fnetX already stated, that only the licence notice should to be modified. However, the FSF discourages the omission of the "or later" clause, which is why they do not give an explicit example for that case.

I still think that this is a bug. If someone sees the option GPL-v3-only then one may conclude that choosing this option will provide some assistance in publishing under GPL-v3-only - it does not, though, and it has been misleading in this regard. A template licence notice should be provided when this option is selected, ideally alongside some instructions that clearly state that the licence notice should be included as a header in every source file.

I also did some research and came to the same conclusion as you.

This is how the <copyright notice + license notice> header looks like in my one-file program:

6aecbee94e/codeberg-pages-downloader.sh (L2-L16)

Line 4 is optional:

6aecbee94e/codeberg-pages-downloader.sh (L4)

"SPDX Identifier: GPL-2.0-only" can also be used on Line 4 instead of "This program is licensed under GPL-2.0-only".

> After some further research this is the closest official practical guide I found: > https://www.gnu.org/licenses/gpl-howto.html > > In the section **The license notices** is says: > > > To use a different set of GPL versions, you would modify the end of the first long paragraph. For instance, to license under version 2 or later, you would replace “3” with “2”. > > Piecing it all together it is most probably as @fnetX already stated, that only the licence notice should to be modified. However, the FSF discourages the omission of the "or later" clause, which is why they do not give an explicit example for that case. > > I still think that this is a bug. If someone sees the option GPL-v3-only then one may conclude that choosing this option will provide some assistance in publishing under GPL-v3-only - it does not, though, and it has been misleading in this regard. A template licence notice should be provided when this option is selected, ideally alongside some instructions that clearly state that the licence notice should be included as a header in every source file. > I also did some research and came to the same conclusion as you. This is how the <copyright notice + license notice> header looks like in my one-file program: https://codeberg.org/alex9/codeberg-pages-downloader/src/commit/6aecbee94e200be86ebff49806940fbf0afecb49/codeberg-pages-downloader.sh#L2-L16 Line 4 is optional: https://codeberg.org/alex9/codeberg-pages-downloader/src/commit/6aecbee94e200be86ebff49806940fbf0afecb49/codeberg-pages-downloader.sh#L4 "SPDX Identifier: GPL-2.0-only" can also be used on Line 4 instead of "This program is licensed under GPL-2.0-only".
Sign in to join this conversation.
No Milestone
No Assignees
4 Participants
Notifications
Due Date

No due date set.

Dependencies

This issue currently doesn't have any dependencies.

Loading…
There is no content yet.