Each port must document the license under which it is available. If it is not an OSI approved license it must also document any restrictions on redistribution.
A short name for the license or licenses if more than one license apply.
If it is one of the licenses listed in Table 5.7, “Predefined License List”, only
LICENSE_FILE
and
LICENSE_DISTFILES
variables can be
set.
If this is a license that has not been defined in the
ports framework (see Table 5.7, “Predefined License List”),
the LICENSE_PERMS
and
LICENSE_NAME
must be set, along with either
LICENSE_FILE
or
LICENSE_TEXT
.
LICENSE_DISTFILES
and
LICENSE_GROUPS
can also be set, but are not
required.
The predefined licenses are shown in
Table 5.7, “Predefined License List”. The current list is
always available in
Mk/bsd.licenses.db.mk
.
When the README
of some software
says “This software is under the terms of the GNU
Lesser General Public License as published by the Free
Software Foundation; either version 2.1 of the License, or
(at your option) any later version.” but does not
provide the license file, use this:
LICENSE= LGPL21+
When the software provides the license file, use this:
LICENSE= LGPL21+ LICENSE_FILE= ${WRKSRC}/COPYING
For the predefined licenses, the default permissions are
dist-mirror dist-sell pkg-mirror pkg-sell
auto-accept
.
Permissions. use none
if empty.
dist-mirror
Redistribution of the distribution files is
permitted. The distribution files will be added to the
FreeBSD MASTER_SITE_BACKUP
CDN.
no-dist-mirror
Redistribution of the distribution files is
prohibited. This is equivalent to setting RESTRICTED
.
The distribution files will not be
added to the FreeBSD MASTER_SITE_BACKUP
CDN.
dist-sell
Selling of distribution files is permitted. The distribution files will be present on the installer images.
no-dist-sell
Selling of distribution files is prohibited. This
is equivalent to setting NO_CDROM
.
pkg-mirror
Free redistribution of package is permitted. The package will be distributed on the FreeBSD package CDN https://pkg.freebsd.org/.
no-pkg-mirror
Free redistribution of package is prohibited.
Equivalent to setting NO_PACKAGE
.
The package will not be distributed
from the FreeBSD package
CDN https://pkg.freebsd.org/.
pkg-sell
Selling of package is permitted. The package will be present on the installer images.
no-pkg-sell
Selling of package is prohibited. This is
equivalent to setting NO_CDROM
.
The package will not be present on
the installer images.
auto-accept
License is accepted by default. Prompts to accept a
license are not displayed unless the user has defined
LICENSES_ASK
. Use this unless the
license states the user must accept the terms of the
license.
no-auto-accept
License is not accepted by default. The user will always be asked to confirm the acceptance of this license. This must be used if the license states that the user must accept its terms.
When both
and
permission
no-
is
present the
permission
no-
will cancel
permission
.permission
When
is
not present, it is considered to be a
permission
no-
.permission
Some missing permissions will prevent a port (and all ports depending on it) from being usable by package users:
A port without the auto-accept
permission will never be be built and all the ports
depending on it will be ignored.
A port without the pkg-mirror
permission will be removed, as well as all the ports
depending on it, after the build and they will ever end up
being distributed.
Read the terms of the license and translate those using the available permissions.
LICENSE= UNKNOWN LICENSE_NAME= unknown LICENSE_TEXT= This program is NOT in public domain.\ It can be freely distributed for non-commercial purposes only. LICENSE_PERMS= dist-mirror no-dist-sell pkg-mirror no-pkg-sell auto-accept
Read the terms of the license and express those using the available permissions. In case of doubt, please ask for guidance on the FreeBSD ports mailing list.
LICENSE= WARSOW GPLv2 LICENSE_COMB= multi LICENSE_NAME_WARSOW= Warsow Content License LICENSE_FILE_WARSOW= ${WRKSRC}/docs/license.txt LICENSE_PERMS_WARSOW= dist-mirror pkg-mirror auto-accept
When the permissions of the GPLv2 and the UNKNOWN
licenses are mixed, the port ends up with
dist-mirror dist-sell pkg-mirror pkg-sell
auto-accept dist-mirror no-dist-sell pkg-mirror
no-pkg-sell auto-accept
. The
no-
cancel the permissions
permissions
. The
resulting list of permissions are dist-mirror
pkg-mirror auto-accept
. The distribution
files and the packages will not be available on the
installer images.
Groups the license belongs.
FSF
Free Software Foundation Approved, see the FSF Licensing & Compliance Team.
GPL
GPL Compatible
OSI
OSI Approved, see the Open Source Initiative Open Source Licenses page.
COPYFREE
Comply with Copyfree Standard Definition, see the Copyfree Licenses page.
FONTS
Font licenses
Full name of the license.
LICENSE_NAME
LICENSE= UNRAR LICENSE_NAME= UnRAR License LICENSE_FILE= ${WRKSRC}/license.txt LICENSE_PERMS= dist-mirror dist-sell pkg-mirror pkg-sell auto-accept
Full path to the file containing the license text, usually
${WRKSRC}/some/file
. If the file is not
in the distfile, and its content is too long to be put in
LICENSE_TEXT
,
put it in a new file in
${FILESDIR}
.
Text to use as a license. Useful when the license is not in the distribution files and its text is short.
LICENSE_TEXT
LICENSE= UNKNOWN LICENSE_NAME= unknown LICENSE_TEXT= This program is NOT in public domain.\ It can be freely distributed for non-commercial purposes only,\ and THERE IS NO WARRANTY FOR THIS PROGRAM. LICENSE_PERMS= dist-mirror no-dist-sell pkg-mirror no-pkg-sell auto-accept
The distribution files to which the licenses apply. Defaults to all the distribution files.
LICENSE_DISTFILES
Used when the distribution files do not all have the same license. For example, one has a code license, and another has some artwork that cannot be redistributed:
MASTER_SITES= SF/some-game DISTFILES= ${DISTNAME}${EXTRACT_SUFX} artwork.zip LICENSE= BSD3CLAUSE ARTWORK LICENSE_COMB= dual LICENSE_NAME_ARTWORK= The game artwork license LICENSE_TEXT_ARTWORK= The README says that the files cannot be redistributed LICENSE_PERMS_ARTWORK= pkg-mirror pkg-sell auto-accept LICENSE_DISTFILES_BSD3CLAUSE= ${DISTNAME}${EXTRACT_SUFX} LICENSE_DISTFILES_ARTWORK= artwork.zip
Set to multi
if all licenses apply.
Set to dual
if any license applies.
Defaults to single
.
When a port says “This software may be distributed under the GNU General Public License or the Artistic License”, it means that either license can be used. Use this:
LICENSE= ART10 GPLv1 LICENSE_COMB= dual
If license files are provided, use this:
LICENSE= ART10 GPLv1 LICENSE_COMB= dual LICENSE_FILE_ART10= ${WRKSRC}/Artistic LICENSE_FILE_GPLv1= ${WRKSRC}/Copying
When part of a port has one license, and another part
has a different license, use
multi
:
LICENSE= GPLv2 LGPL21+ LICENSE_COMB= multi
All FreeBSD documents are available for download at https://download.freebsd.org/ftp/doc/
Questions that are not answered by the
documentation may be
sent to <freebsd-questions@FreeBSD.org>.
Send questions about this document to <freebsd-doc@FreeBSD.org>.