每个port必须记录其可用的许可证。如果它不是一个 OSI 批准的许可证,还必须记录任何关于重新分发的限制。
LICENSE
对于许可证的简称或适用的多个许可证。
如果它是预定义许可证列表中列出的许可证之一,则只能设置 LICENSE_FILE 和 LICENSE_DISTFILES 变量。
如果这是未在ports框架中定义的许可证(请参阅预定义许可证列表),则必须设置 LICENSE_PERMS 和 LICENSE_NAME ,以及 LICENSE_FILE 或 LICENSE_TEXT 。 LICENSE_DISTFILES 和 LICENSE_GROUPS 也可以设置,但不是必需的。
预定义的许可证显示在预定义许可证列表中。当前列表始终可在 Mk/bsd.licenses.db.mk 中找到。
示例 28。最简单的用法,预定义许可证
当某些软件的 README 中写着"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."但没有提供许可证文件时,请使用以下内容:
软件提供许可文件时,请使用此文件:
对于预定义许可证, 默认权限为 dist-mirror dist-sell pkg-mirror pkg-sell auto-accept 。
表 7。预定义许可证列表
简称 | 名称 | 组别 | 权限 |
---|---|---|---|
权限。如果为空使用 none 。
许可权限列表
dist-mirror 允许重新分发分发文件。 分发文件将被添加到 FreeBSD MASTER_SITE_BACKUP CDN 中。
no-dist-mirror 禁止重新分发分发文件。 这相当于设置 RESTRICTED 。分发文件将不会被添加到 FreeBSD MASTER_SITE_BACKUP CDN 中。
dist-sell 允许销售发行文件。发行文件将出现在安装程序镜像上。
no-dist-sell 禁止销售发行文件。这相当于设置 NO_CDROM 。
pkg-mirror 允许免费重新分发软件包。该软件包将通过 FreeBSD 软件包 CDN https://pkg.freebsd.org/进行分发。
禁止自由再发行软件包。相当于设置 NO_PACKAGE 。软件包将不会从 FreeBSD 软件包 CDN https://pkg.freebsd.org/分发。
允许销售软件包。该软件包将出现在安装程序映像上。
禁止销售软件包。这相当于设置 NO_CDROM 。该软件包将不会出现在安装程序映像上。
默认情况下, auto-accept 许可证已被接受。仅当用户定义了 LICENSES_ASK 才会显示提示要接受许可证。除非许可证规定用户必须接受许可证条款,否则请使用此选项。
默认情况下, no-auto-accept 许可证未被接受。用户将被要求始终确认接受此许可证。如果许可证规定用户必须接受其条款,则必须使用此选项。
当同时存在 permission 和 no-permission 时, no-permission 将取消 permission 。
当 permission 不存在时,视为 no-permission 。
示例 29. 非标准许可证
阅读许可协议的条款,并利用可用的许可进行翻译。
实例 30. 标准和非标准许可证
阅读许可证条款,并使用可用权限表达这些。如有疑问,请在 FreeBSD ports 邮件列表上寻求指导。
当混合 GPLv2 和 UNKNOWN 许可证的权限时,port 将以 dist-mirror dist-sell pkg-mirror pkg-sell auto-accept dist-mirror no-dist-sell pkg-mirror no-pkg-sell auto-accept 结束。 no-permissions 取消权限。所得到的权限列表是 dist-mirror pkg-mirror auto-accept。分发文件和软件包将不会在安装镜像上可用。
许可组所属的组
预定义许可组列表
FSF
自由软件基金会批准,请查看 FSF 许可及合规团队。
GPL
GPL 兼容
OSI
OSI 批准,请查看开放源代码组织开源许可证页面。
COPYFREE
遵守 Copyfree 标准定义,请参见 Copyfree 许可证页面。
FONTS
字体许可证
授权的完整名称。
示例 31. LICENSE_NAME
包含许可证文本的文件的完整路径,通常是 ${WRKSRC}/some/file。如果文件不在 distfile 中,并且其内容太长而无法放入 LICENSE_TEXT 中,则将其放入 ${FILESDIR} 中的新文件中。
示例 32. LICENSE_FILE
用作许可证的文本。在许可证不在分发文件中且其文本较短时非常有用。
示例 33. LICENSE_TEXT
适用许可证的发行文件。默认适用于所有发行文件。
示例 34. LICENSE_DISTFILES
当发行文件不全都具有相同的许可证时使用。例如,一个具有代码许可证,另一个具有一些不能重新分发的艺术作品时:
LICENSE_COMB
设置为 multi 如果所有许可证适用。如果有任何许可证适用,则设置为 dual 。默认为 single 。
示例 35。双重许可证
当一个port说"本软件可以根据 GNU 通用公共许可证或艺术许可证进行分发"时,这意味着可以使用任一许可证。使用这个:
如果提供许可文件,请使用此选项:
示例 36. 多个许可证
当port的一部分具有一个许可证,而另一部分具有不同的许可证时,请使用 multi :
AGPLv3
GNU Affero General Public License version 3
FSF GPL OSI
(默认)
AGPLv3+
GNU Affero General Public License version 3 (或更高)
FSF GPL OSI
(默认)
APACHE10
Apache 许可证 1.0
FSF
(默认)
APACHE11
Apache 许可证 1.1
FSF OSI
(默认)
APACHE20
Apache 许可证 2.0
FSF OSI
(默认)
ART10
艺术许可证版本 1.0
OSI
(默认)
ART20
艺术许可证版本 2.0
FSF GPL OSI
(默认)
ARTPERL10
艺术许可证(perl)版本 1.0
OSI
(默认)
BSD
BSD 许可证通用版本(已弃用)
FSF OSI COPYFREE
(默认)
BSD2CLAUSE
BSD 2 条款“简化”许可证
FSF OSI COPYFREE
(默认)
BSD3CLAUSE
BSD 三条款“新”或“修订”许可证
FSF OSI COPYFREE
(默认)
BSD4CLAUSE
BSD 四条款“原始”或“旧”许可证
FSF
(默认)
BSL
Boost 软件许可证
FSF OSI COPYFREE
(默认)
CC-BY-1.0
知识共享 署名 1.0
(默认)
CC-BY-2.0
知识共享 署名 2.0
(默认)
CC-BY-2.5
知识共享 署名-相同方式共享 2.5
(默认)
CC-BY-3.0
知识共享 署名 3.0
(默认)
CC-BY-4.0
知识共享 署名 4.0
(默认)
CC-BY-NC-1.0
创作共用署名-非商业性使用 1.0
dist-mirror<code>pkg-mirror</code>auto-accept
CC-BY-NC-2.0
创作共用署名-非商业性使用 2.0
dist-mirror<code>pkg-mirror</code>auto-accept
CC-BY-NC-2.5
知识共享署名-非商业性使用 2.5
dist-mirror<code>pkg-mirror</code>auto-accept
CC-BY-NC-3.0
知识共享署名-非商业性使用 3.0
dist-mirror<code>pkg-mirror</code>auto-accept
CC-BY-NC-4.0
知识共享署名-非商业性使用 4.0
dist-mirror<code>pkg-mirror</code>auto-accept
CC-BY-NC-ND-1.0
创作共用 署名-非商业性使用-禁止演绎 1.0
dist-mirror<code>pkg-mirror</code>auto-accept
CC-BY-NC-ND-2.0
创作共用 署名-非商业性使用-禁止演绎 2.0
dist-mirror<code>pkg-mirror</code>auto-accept
CC-BY-NC-ND-2.5
创作共用 署名-非商业性使用-禁止演绎 2.5
dist-mirror<code>pkg-mirror</code>auto-accept
CC-BY-NC-ND-3.0
知识共享 署名 非商业性 使用 禁止演绎 3.0
dist-mirror<code>pkg-mirror</code>auto-accept
CC-BY-NC-ND-4.0
知识共享 署名 非商业性 使用 禁止演绎 4.0
dist-mirror<code>pkg-mirror</code>auto-accept
CC-BY-NC-SA-1.0
知识共享 署名 非商业性 使用 禁止演绎 相同方式共享 1.0
dist-mirror<code>pkg-mirror</code>auto-accept
CC-BY-NC-SA-2.0
创作共用署名-非商业性使用-相同方式共享 2.0
dist-mirror<code>pkg-mirror</code>auto-accept
CC-BY-NC-SA-2.5
创作共用署名-非商业性使用-相同方式共享 2.5
dist-mirror<code>pkg-mirror</code>auto-accept
CC-BY-NC-SA-3.0
创作共用署名-非商业性使用-相同方式共享 3.0
dist-mirror<code>pkg-mirror</code>auto-accept
CC-BY-NC-SA-4.0
知识共享 署名-非商业性使用-相同方式共享 4.0 国际许可协议
dist-mirror<code>pkg-mirror</code>auto-accept
CC-BY-ND-1.0
知识共享 署名-禁止演绎 1.0 国际许可协议
(默认)
CC-BY-ND-2.0
创作共用 姓名表示 禁止演绎 2.0
(默认)
CC-BY-ND-2.5
创作共用 姓名表示 禁止演绎 2.5
(默认)
CC-BY-ND-3.0
署名-禁止演绎 3.0 国际 (Creative Commons Attribution No Derivatives 3.0)
(默认)
CC-BY-ND-4.0
创作共用署名禁止演绎 4.0
(默认)
CC-BY-SA-1.0
创作共用署名相同方式共享 1.0
(默认)
CC-BY-SA-2.0
创建共享署名-相同方式共享 2.0
(默认)
CC-BY-SA-2.5
创作共用署名-相同方式共享 2.5
(默认)
CC-BY-SA-3.0
创作共用署名-相同方式共享 3.0
(默认)
CC-BY-SA-4.0
创作共用署名-相同方式共享 4.0
(默认)
CC0-1.0
创作共用 CC0 1.0 通用
FSF GPL COPYFREE
(默认)
CDDL
通用开发和分发许可证
FSF OSI
(默认)
CPAL-1.0
通用公共署名许可证
FSF OSI
(默认)
ClArtistic
阐明艺术许可证
FSF GPL OSI
(默认)
EPL
Eclipse 公共许可证
FSF OSI
(默认)
GFDL
GNU 自由文档许可证
FSF
(默认)
GMGPL
GNAT 修改后的通用公共许可证
FSF GPL OSI
(默认)
GPLv1
GNU 通用公共许可证第 1 版
FSF GPL OSI
(默认)
GPLv1+
GNU 通用公共许可证 版本 1(或更高版本)
FSF GPL OSI
(默认)
GPLv2
GNU 通用公共许可证第 2 版
FSF GPL OSI
(默认)
GPLv2+
GNU 通用公共许可证第 2 版(或更高版本)
FSF GPL OSI
(默认)
GPLv3
GNU 通用公共许可证第 3 版
FSF GPL OSI
(默认)
GPLv3+
GNU 通用公共授权协议 版本 3(或更高)
FSF GPL OSI
(默认)
GPLv3RLE
GNU GPL 版本 3 运行库例外
FSF GPL OSI
(默认)
GPLv3RLE+
GNU GPL 第 3 版运行库异常(或更高)
FSF GPL OSI
(默认)
ISCL
互联网系统联盟许可证
FSF GPL OSI COPYFREE
(默认)
LGPL20
GNU 图书馆通用公共许可证版本 2.0
FSF GPL OSI
(默认)
LGPL20+
GNU 图书馆通用公共许可证版本 2.0(或更高版本)
FSF GPL OSI
(默认)
LGPL21
GNU Lesser General Public License version 2.1
FSF GPL OSI
(默认)
LGPL21+
GNU Lesser General Public License version 2.1(或更高版本)
FSF GPL OSI
(默认)
LGPL3
GNU Lesser General Public License 版本 3
FSF GPL OSI
(默认)
LGPL3+
GNU 较宽松通用公共许可证版本 3(或更高版本)
FSF GPL OSI
(默认)
LPPL10
LaTeX 项目公共许可证版本 1.0
FSF OSI
dist-mirror dist-sell
LPPL11
LaTeX 项目公共许可证版本 1.1
FSF OSI
dist-mirror dist-sell
LPPL12
LaTeX 项目公共许可证版本 1.2
FSF OSI
dist-mirror dist-sell
LPPL13
LaTeX 项目公共许可证版本 1.3
FSF OSI
dist-mirror dist-sell
LPPL13a
LaTeX 项目公共许可证版本 1.3a
FSF OSI
dist-mirror dist-sell
LPPL13b
LaTeX 项目公共许可证版本 1.3b
FSF OSI
dist-mirror dist-sell
LPPL13c
LaTeX 项目公共许可证版本 1.3c
FSF OSI
dist-mirror dist-sell
MIT
MIT 许可证 / X11 许可证
COPYFREE FSF GPL OSI
(默认)
MPL10
Mozilla 公共许可证版本 1.0
FSF OSI
(默认)
MPL11
Mozilla 公共许可证版本 1.1
FSF OSI
(默认)
MPL20
Mozilla 公共许可证版本 2.0
FSF OSI
(默认)
NCSA
伊利诺伊大学/NCSA 开源许可证
COPYFREE FSF GPL OSI
(默认)
NONE
未指定许可证
none
OFL10
SIL 开放字体许可证版本 1.0 (https://scripts.sil.org/OFL/)
FONTS
(默认)
OFL11
SIL 开源字体许可证第 1.1 版(https://scripts.sil.org/OFL/)
FONTS
(默认)
OWL
开放作品许可证 (owl.apotheon.org)
COPYFREE
(默认)
OpenSSL
OpenSSL 许可证
FSF
(默认)
PD
公共领域
GPL COPYFREE
(默认)
PHP202
PHP 许可证 版本 2.02
FSF OSI
(默认)
PHP30
PHP 许可证 版本 3.0
FSF OSI
(默认)
PHP301
PHP 许可证版本 3.01
FSF OSI
(默认)
PSFL
Python 软件基金会许可协议
FSF GPL OSI
(默认)
PostgreSQL
PostgreSQL 许可协议
FSF GPL OSI COPYFREE
(默认)
RUBY
Ruby 许可证
FSF
(默认)
UNLICENSE
无许可证
COPYFREE FSF GPL
(默认)
WTFPL
你想干什么都行公共许可证第 2 版
GPL FSF COPYFREE
(默认)
WTFPL1
做你他妈想做的公共许可证版本 1
GPL FSF COPYFREE
(默认)
ZLIB
zlib 许可证
GPL FSF OSI
(默认)
ZPL21
Zope 公共许可证版本 2.1
GPL OSI
(默认)
一些缺失的权限将会阻止 port(以及所有依赖它的 ports)可被软件包用户使用: 没有 auto-accept 权限的 port 永远不会被构建,并且所有依赖它的 ports 将被忽略。 没有 pkg-mirror 许可的port将在构建后被移除,以及所有依赖于它的ports,它们最终将被分发。