Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 935753 - Ambiguous GPL-{1,2,3}, LGPL-{2,2.1,3}, AGPL-3 shouldn't be valid for LICENSE
Summary: Ambiguous GPL-{1,2,3}, LGPL-{2,2.1,3}, AGPL-3 shouldn't be valid for LICENSE
Status: RESOLVED INVALID
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Other
: Normal normal
Assignee: Licenses team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2024-07-08 15:35 UTC by ganooslashlinus
Modified: 2024-07-08 16:13 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description ganooslashlinus 2024-07-08 15:35:24 UTC
I've realized that most ebuilds for software under a GPL-family license have a wrong LICENSE due to how easy it is to not check and write GPL-2 or GPL-3 etc in the LICENSE.

Although most developers do license -or-later, certain ones love to license -only for the strangest of reasons.

The only solution to this issue I can see is to make `ebuild xx.ebuild test` throw a warning and eventually an error if either -only or -or-later (+) aren't explicitly set (this may be non-trivial to find out, but any software of uncertain license should not be distributed until certainty is achieved).

These files would also need to be added to licenses;
AGPL-3-only:
GNU Affero General Public License, version 3 only.
See AGPL-3 for the full text of this license.

GPL-1-only:
GNU General Public License, version 1 only.
See GPL-1 for the full text of this license.

GPL-2-only:
GNU General Public License, version 2 only.
See GPL-2 for the full text of this license.

GPL-3-only:
GNU General Public License, version 3 only.
See GPL-3 for the full text of this license.

LGPL-2-only:
GNU Library General Public License, version 2 only.
See LGPL-2 for the full text of this license.

LGPL-2.1-only:
GNU Lesser General Public License, version 2.1 only.
See LGPL-2.1 for the full text of this license.

LGPL-3-only:
GNU Lesser General Public License, version 3 only.
See LGPL-3 for the full text of this license.


Also, the Gentoo Copyright policy appears to need an update.

If you got to https://devmanual.gentoo.org/general-concepts/copyright-policy/index.html it lists;
...
Every Gentoo project must abide by the Gentoo Social Contract and release its work under one or more of the following licenses:
    The GNU General Public License, version 2 or later (GPL-2+) 
...

But if you look at every single ebuild you see;
# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
As a result, it is ambiguous if many Gentoo files are licensed under GPLv2-only or GPLv2-or-later!

That needs to be updated to either;
# Distributed under the terms of the GNU General Public License v2 or (at your option) any later version
or
# Distributed under the terms of the GNU General Public License v2 only


I'm happy to go make all the necessary changes and send patches in, but I need to be linked to the relevant files where the changes are required.
Comment 1 ganooslashlinus 2024-07-08 16:03:21 UTC
I've been receiving complaints about license name churn already - but it only needs to be finally done right once and really the tooling should be designed to not care if some names are added.

Alternately, maybe a prelude could be added to each non-+ license text to mitigate the ambiguity like;
GNU General Public License, version 3 only.
See below for the full text of this license.
---
Comment 2 Ulrich Müller gentoo-dev 2024-07-08 16:13:49 UTC
(In reply to ganooslashlinus from comment #0)
> These files would also need to be added to licenses;
> [...]
> 
> GPL-2-only:
> GNU General Public License, version 2 only.
> See GPL-2 for the full text of this license.
> [...]

There is no such thing as a "GPL-2-only" license. If an ebuild specifies LICENSE="GPL-2" then this indicates that the software is licensed under the GNU General Public License, version 2. So, if you find a package that says LICENSE="GPL-2" but the upstream license is really GPL-2+, then please report it as a bug.

I am aware that some ebuilds are mislabelled. I've seen the following at least:
- GPL-2+ but ebuild says GPL-2
- GPL-2 but ebuild says GPL-2+
- GPL-3+ but ebuild says GPL-2+

Inventing new license labels won't help fixing these mistakes. One must look into the package in either case.

> Also, the Gentoo Copyright policy appears to need an update.
> 
> If you got to
> https://devmanual.gentoo.org/general-concepts/copyright-policy/index.html it
> lists;
> ...
> Every Gentoo project must abide by the Gentoo Social Contract and release
> its work under one or more of the following licenses:
>     The GNU General Public License, version 2 or later (GPL-2+) 
> ...

It continues with "c. A license approved as GPL compatible by the Free Software Foundation" which you've conveniently omitted. Certainly the GPL-2 qualifies?

> But if you look at every single ebuild you see;
> # Copyright 1999-2022 Gentoo Authors
> # Distributed under the terms of the GNU General Public License v2
> As a result, it is ambiguous if many Gentoo files are licensed under
> GPLv2-only or GPLv2-or-later!

They are licensed under the GNU General Public License, version 2. Again, no ambiguity there.