From 92bb5e10171165b681c3ec526d90a1508e6dc9fa Mon Sep 17 00:00:00 2001 From: Ulrich Müller Date: Sun, 24 Jul 2022 19:15:42 +0200 Subject: other-metadata: Sync with the updated LICENSE policy in the devmanual MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit See commit 4a74d85 in the proj/devmanual repository: By the FSF's definition (see for example GPL-3): "The 'Corresponding Source' for a work in object code form means all the source code needed to generate, install, and (for an executable work) run the object code and to modify the work, including scripts to control those activities." It makes much sense to apply this as a general definition. Applying it only to GPL licensed packages would mean: - We would need another case distinction, making the rules for LICENSE even more complicated. - As an example, consider a MIT licensed package with a CDDL licensed (i.e., GPL incompatible) build script: If that package was a library, then it couldn't be linked against a GPL licensed package, whereas a LICENSE variable listing only MIT would falsely indicate that it could. Closes: https://bugs.gentoo.org/860552 Signed-off-by: Ulrich Müller --- other-metadata.rst | 19 ++++++++----------- 1 file changed, 8 insertions(+), 11 deletions(-) diff --git a/other-metadata.rst b/other-metadata.rst index d79ef6f..d3c98fd 100644 --- a/other-metadata.rst +++ b/other-metadata.rst @@ -105,10 +105,12 @@ LICENSE :Source: QA :Reported: no -The ``LICENSE`` variable must explicitly list licenses for all files -installed by the package. If some of the applicable licenses are -conditional to USE flags, appropriate USE conditionals need to -be expressed in the variable. +The ``LICENSE`` variable must explicitly list all licenses pertaining +to the "corresponding source" of the files installed by the package. +This includes all their source code, but also all scripts used to +control compilation and installation. If some of the applicable +licenses are conditional to USE flags, appropriate USE conditionals +need to be expressed in the variable. If a package bundles any dependencies that are either installed, statically linked or in any other way combined with installed files, @@ -116,8 +118,8 @@ the licenses of these dependencies need to be listed as well. This is not presently required when statically linking to dependencies installed by separate packages in the repository. -The licenses for files that are not installed but that are used at build -time are not listed explicitly. +The licenses for files that are neither installed nor used at build +time shall not be listed. *Rationale*: the primary purpose of the license support in the package manager is to provide the users with ability to decide on acceptable @@ -137,11 +139,6 @@ non-trivial to implement and the package manager already verifies the license while building dependencies (but not when installing binary packages). -The ebuild format does not provide a separate variable to list licenses -needed only at build time. So far it has not been considered important -enough to have one, as the relevant files exist only temporarily -on the user's system and do not affect the runtime use of packages. - .. Note:: Please remember to include the licenses of support files provided by the ebuild, e.g. init.d scripts (usually GPL-2). -- cgit v1.2.3-65-gdbad