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}/COPYINGFor the predefined licenses, the default permissions are
dist-mirror dist-sell pkg-mirror pkg-sell
auto-accept.
Permissions. use none if empty.
dist-mirrorRedistribution of the distribution files is
permitted. The distribution files will be added to the
FreeBSD MASTER_SITE_BACKUP
CDN.
no-dist-mirrorRedistribution 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-sellSelling of distribution files is permitted. The distribution files will be present on the installer images.
no-dist-sellSelling of distribution files is prohibited. This
is equivalent to setting NO_CDROM.
pkg-mirrorFree redistribution of package is permitted. The package will be distributed on the FreeBSD package CDN https://pkg.freebsd.org/.
no-pkg-mirrorFree 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-sellSelling of package is permitted. The package will be present on the installer images.
no-pkg-sellSelling of package is prohibited. This is
equivalent to setting NO_CDROM.
The package will not be present on
the installer images.
auto-acceptLicense 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-acceptLicense 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
permissionno- is
present the
permissionno-
will cancel
permission.permission
When
is
not present, it is considered to be a
permissionno-.permission
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-acceptRead 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-acceptWhen 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 permissionspermissions. 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.
FSFFree Software Foundation Approved, see the FSF Licensing & Compliance Team.
GPLGPL Compatible
OSIOSI Approved, see the Open Source Initiative Open Source Licenses page.
COPYFREEComply with Copyfree Standard Definition, see the Copyfree Licenses page.
FONTSFont licenses
Full name of the license.
LICENSE_NAMELICENSE= UNRAR
LICENSE_NAME= UnRAR License
LICENSE_FILE= ${WRKSRC}/license.txt
LICENSE_PERMS= dist-mirror dist-sell pkg-mirror pkg-sell auto-acceptFull 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_TEXTLICENSE= 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-acceptThe distribution files to which the licenses apply. Defaults to all the distribution files.
LICENSE_DISTFILESUsed 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.zipSet 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}/CopyingWhen 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>.