#44 Migrate to SPDX license
Closed 4 months ago by pmatilai. Opened a year ago by msuchy.
rpms/ msuchy/rpm spdx  into  rawhide

file modified
+3 -9
@@ -1,4 +1,3 @@ 

- 

  # run internal testsuite?

  # fakechroot is severely broken beyond fedora 33, disable...

  %if 0%{?fedora} > 33 || 0%{?rhel} > 8
@@ -43,6 +42,7 @@ 

  Version: %{rpmver}

  Release: %{?snapver:0.%{snapver}.}%{baserelease}%{?dist}

  Url: http://www.rpm.org/

+ License: GPL-2.0-or-later

  Source0: http://ftp.rpm.org/releases/%{srcdir}/rpm-%{srcver}.tar.bz2

  

  Source10: rpmdb-rebuild.service
@@ -50,10 +50,6 @@ 

  Source20: rpmdb-migrate.service

  Source21: rpmdb_migrate

  

- # Partially GPL/LGPL dual-licensed and some bits with BSD

- # SourceLicense: (GPLv2+ and LGPLv2+ with exceptions) and BSD

- License: GPLv2+

- 

  Requires: coreutils

  Requires: popt%{_isa} >= 1.10.2.1

  Requires: curl
@@ -170,7 +166,7 @@ 

  

  %package libs

  Summary:  Libraries for manipulating RPM packages

- License: GPLv2+ and LGPLv2+ with exceptions

+ License:  GPL-2.0-or-later OR LGPL-2.1-or-later

  Requires(meta): %{name} = %{version}-%{release}

  %if %{with sequoia}

  # >= 1.4.0 required for pgpVerifySignature2() and pgpPrtParams2()
@@ -182,7 +178,6 @@ 

  

  %package build-libs

  Summary:  Libraries for building RPM packages

- License: GPLv2+ and LGPLv2+ with exceptions

  Requires: rpm-libs%{_isa} = %{version}-%{release}

  

  %description build-libs
@@ -190,7 +185,6 @@ 

  

  %package sign-libs

  Summary:  Libraries for signing RPM packages

- License: GPLv2+ and LGPLv2+ with exceptions

  Requires: rpm-libs%{_isa} = %{version}-%{release}

  Requires: %{_bindir}/gpg2

  
@@ -199,7 +193,7 @@ 

  

  %package devel

  Summary:  Development files for manipulating RPM packages

- License: GPLv2+ and LGPLv2+ with exceptions

+ License:  GPL-2.0-or-later OR LGPL-2.1-or-later

  Requires: %{name} = %{version}-%{release}

  Requires: %{name}-libs%{_isa} = %{version}-%{release}

  Requires: %{name}-build-libs%{_isa} = %{version}-%{release}

This follows https://github.com/rpm-software-management/rpm/issues/2511
and moves the license string to only one place. No need to repeat it in subpackages.

I did not include a changelog entry as there are five other PR waiting in a queue, and that would conflict with them.

rebased onto 1ba19c9

a year ago

rebased onto 105884b

a year ago

Why is the devel package "GPL-2.0-or-later OR LGPL-2.1-or-later"? It contains files from include/rpm and those are "GPL-2.0-or-later". It also contains files from other directories that are not "OR LGPL-2.1-or-later".

I also wonder why plugins are GPL-or-LGPL? Is it because they include a header from lib/? In that case we should probably move the header (upstream) instead, because there's no intention of having the plugins LGPL'ed.

Why is the devel package "GPL-2.0-or-later OR LGPL-2.1-or-later"? It contains files from include/rpm and those are "GPL-2.0-or-later". It also contains files from other directories that are not "OR LGPL-2.1-or-later".

??? in the devel package I actually removed the License tag. So the devel package should be under the same license as the main package. That is GPL-2.0-or-later

I also wonder why plugins are GPL-or-LGPL? Is it because they include a header from lib/?

Yes. If I am interpreting COPYING correctly, then lib/* is under "GPL-2.0-or-later OR LGPL-2.1-or-later" So the plugins should be either under this license or "GPL-2.0-or-later AND (GPL-2.0-or-later OR LGPL-2.1-or-later)" - not sure which one, but I think it does not matter too much either.

in the devel package I actually removed the License tag. So the devel package should be under the same license as the main package. That is GPL-2.0-or-later

OK. I don't recall what I wrote what I wrote. It has been 3 months.

The plugins, and librpmbuild and librpmsign, which are explicitly not under the LGPL exception, are merely linking to librpm, just using some internal-only interfaces at that. I fail to see how linking to an (optionally) LGPL library can force that more relaxed library on anything. The other way around, yes.

I don't understand or agree so I can't merge this. If somebody else thinks they know better and pushes the button, be my guest, I'm not going to touch it.

To elaborate a bit, the intent of the exception is explicitly stated in the license:

This alternative is provided to enable applications to be linked against
the RPM library (commonly called librpm) without forcing such applications
to be distributed under the GPL.

In my layman terms, that means librpm and anything required to link to it are available as GPL/LGPL dual license, everything else is GPL only, and never mind the bollocks [1]. That is why this all seems so wrong to me. Mind you, many of the existing License tags are wrong under the same principle, a whole pile of sub-packages has gotten split off with copy-pasted licenses.

[1] Such as forgetting to update the license while reorganizing the repository, the most recent such cases being moving all public headers under include/ directory (which now contains files with two different licenses) and rpmhash.* moving from lib/ to misc/.

So, to put the intent of the license into practictise would be simply:

For the main rpm package:
License: GPL-2.0-or-later

For rpm-libs and rpm-devel:
License: GPL-2.0-or-later OR LGPL-2.1-or-later

...and delete all the rest to let them inherit the main license. Allegedly rpm-devel has both kinds of licenses but that's a moot point, the headers themselves aren't interesting, the libraries are.

rebased onto 7376b5a

7 months ago

This was conflicting on a whitespace issue so I applied manually. Thanks!

Pull-Request has been closed by pmatilai

7 months ago

This was conflicting on a whitespace issue so I applied manually. Thanks!

I don't think this was ever applied at all (or it was reverted). The License tags in the rawhide spec file are not SPDX.

Pull-Request has been reopened by churchyard

5 months ago

Reopening to avoid being forgotten.

Oh, this was only ever applied to the F39 branch apparently. We should apply it to rawhide as well then.

Ugh, case of me driving with half lights then. Cherry-picked to rawhide now, and thanks @churchyard for noticing + kicking.

Pull-Request has been closed by pmatilai

4 months ago
Metadata