Licenses vary, and some of them place restrictions on how the application can be
packaged, whether it can be sold for profit, and so on.
Important: It is your responsibility as a porter to read the licensing terms of
the software and make sure that the FreeBSD project will not be held accountable for
violating them by redistributing the source or compiled binaries either via FTP/HTTP or
CD-ROM. If in doubt, please contact the FreeBSD
ports mailing list.
In situations like this, the variables described in the following sections can be
set.
This variable indicates that we may not generate a binary package of the application.
For instance, the license may disallow binary redistribution, or it may prohibit
distribution of packages created from patched sources.
However, the port's DISTFILES may be freely mirrored on
FTP/HTTP. They may also be distributed on a CD-ROM (or similar media) unless NO_CDROM is set as well.
NO_PACKAGE should also be used if the binary package is not
generally useful, and the application should always be compiled from the source code. For
example, if the application has configuration information that is site specific hard
coded in to it at compile time, set NO_PACKAGE.
NO_PACKAGE should be set to a string describing the reason
why the package should not be generated.
This variable alone indicates that, although we are allowed to generate binary
packages, we may put neither those packages nor the port's DISTFILES onto a CD-ROM (or similar media) for resale. However, the
binary packages and the port's DISTFILES will still be available
via FTP/HTTP.
If this variable is set along with NO_PACKAGE, then only the
port's DISTFILES will be available, and only via FTP/HTTP.
NO_CDROM should be set to a string describing the reason why
the port cannot be redistributed on CD-ROM. For instance, this should be used if the
port's license is for ``non-commercial'' use only.
Set this variable alone if the application's license permits neither mirroring the
application's DISTFILES nor distributing the binary package in
any way.
NO_CDROM or NO_PACKAGE should not be
set along with RESTRICTED since the latter variable implies the
former ones.
RESTRICTED should be set to a string describing the reason
why the port cannot be redistributed. Typically, this indicates that the port contains
proprietary software and that the user will need to manually download the DISTFILES, possibly after registering for the software or agreeing
to accept the terms of an EULA.
When RESTRICTED or NO_CDROM is set,
this variable defaults to ${DISTFILES} ${PATCHFILES},
otherwise it is empty. If only some of the distribution files are restricted, then set
this variable to list them.
Note that the port committer should add an entry to /usr/ports/LEGAL for every listed distribution file, describing
exactly what the restriction entails.