All ebuilds must specify a
LICENSE (note the American English
spelling) variable. The license names listed in this variable must
match files existing in the repository's
The value of this variable should include all licenses pertaining
to the files installed by the package. If some parts of the package
are installed only conditionally, or their license depends on the USE
flag combination, you can use USE conditionals in
LICENSE="LGPL-2.1+ tools? ( GPL-2+ )"
If the package sources include additional files that are not installed, their license should not be listed. However, if those files are used at build time, then the license must not impose any restrictions that could prevent users from building the software. Please also note that some licenses may impose additional restrictons, e.g. fetch and/or mirroring restriction.
If the application is multi-license (either of several licenses can be used) then use the following syntax:
LICENSE="|| ( foo bar )"
To establish the correct value of
LICENSE, you need to trace
the licenses of all installed files. Normally, the licenses of output
files (compiled executables, generated files) are implied
by the licenses of the relevant input files.
When looking for license information, the following should be considered:
LICENSE*files distributed with the package
The latter (more specific) options take precedence over the former.
COPYING* files are frequently included as hardcopies
of applicable licenses but the exact application of licenses and their
versions are specified elsewhere.
Please watch for license conflicts. If the license indicated by the package is incompatible with the licenses used by its sources (e.g. BSD/MIT package including GPL sources), please contact the licenses team for guidance. Do not add packages that seem to include license term violations.
FSF licenses (GPL, LGPL, AGPL, FDL) occur in two variants: the 'vN only'
and 'vN or later' variants. In Gentoo, the licenses of the latter variants
are denoted by appending
a plus sign (+) to their respective license notations of the former variant,
Determining the correct variant usually requires looking for copyright
notices in the code. For example, the following copyright notice
* This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License as * published by the Free Software Foundation; either version 2 of * the License, or (at your option) any later version.
If your package's license is not already in the tree, you must add the license before committing the package. When adding the license, use a plain text file (UTF-8 encoded) if at all possible. Some licenses are PDF files rather than plain text — this should only be done if we are legally required to do so. Finally you need to check if your license should be added to a license group as listed in $PORTDIR/profiles/license_groups. For more information see the GLEP 23.
It is not normally necessary to mail the
gentoo-dev list or
email@example.com before adding a new license. You should
only do so if the license could be considered 'questionable' or if
you are unsure as to the meaning of any part of it.