commit:     92bb5e10171165b681c3ec526d90a1508e6dc9fa
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Sun Jul 24 17:15:42 2022 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Mon Jul 25 16:08:46 2022 +0000
URL:        https://gitweb.gentoo.org/proj/policy-guide.git/commit/?id=92bb5e10

other-metadata: Sync with the updated LICENSE policy in the devmanual

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 <ulm <AT> gentoo.org>

 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).

Reply via email to