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.
It is the responsibility of 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 next 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.
If the
	binary package is not generally useful, and the application
	must always be compiled from the source code, use
	NO_PACKAGE.  For
	example, if the application has configuration information
	that is site specific hard coded into it at compile time,
	set NO_PACKAGE.
Set NO_PACKAGE to a string
	describing the reason why the package cannot 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.
Set NO_CDROM to a string
	describing the reason why the port cannot be redistributed
	on CD-ROM.  For instance, use this if the port's
	license is for “non-commercial” use
	only.
Files defined in NOFETCHFILES
	are not fetchable from any of
	MASTER_SITES.  An example of such a file
	is when the file is supplied on CD-ROM by the vendor.
Tools which check for the availability of these files
	on MASTER_SITES have to ignore these
	files and not report about them.
Set this variable alone if the application's license
	permits neither mirroring the application's
	DISTFILES nor distributing the binary
	package in any way.
Do not set NO_CDROM or
	NO_PACKAGE along with
	RESTRICTED, since the latter variable
	implies the former ones.
Set RESTRICTED 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.
If the port has legal concerns not addressed by the
	above variables, set LEGAL_TEXT
	to a string explaining the concern.  For
	example, if special permission was obtained for FreeBSD to
	redistribute the binary, this variable must indicate
	so.
A port which sets any of the above variables must also
	be added to /usr/ports/LEGAL.  The
	first column is a glob which matches the restricted
	distfiles.  The second column is the port's origin.  The
	third column is the output of
	make -VLEGAL.
The preferred way to state "the distfiles for this port must be fetched manually" is as follows:
.if !exists(${DISTDIR}/${DISTNAME}${EXTRACT_SUFX})
IGNORE=	may not be redistributed because of licensing reasons. Please visit some-website to accept their license and download ${DISTFILES} into ${DISTDIR}
.endifThis both informs the user, and sets the proper metadata on the user's machine for use by automated programs.
Note that this stanza must be preceded by an inclusion
	of bsd.port.pre.mk.
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>.