5.8.许可证
最后更新于
这有帮助吗?
最后更新于
这有帮助吗?
每个 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 文件中写道“本软件根据自由软件基金会发布的 GNU 较宽松公共许可证(LGPL)条款进行许可;可以选择版本 2.1 或(根据你的选择)任何更高版本。”但没有提供许可证文件时,可以使用以下内容:
当软件提供许可证文件时,使用以下内容:
对于预定义的许可证,默认权限为 dist-mirror dist-sell pkg-mirror pkg-sell auto-accept
。
表 7. 预定义许可证列表
表 7. 预定义许可证列表
AGPLv3
GNU Affero General Public License 版本 3
FSF GPL OSI
(默认)
AGPLv3+
GNU Affero General Public License 版本 3(或更高版本)
FSF GPL OSI
(默认)
APACHE10
Apache License 1.0
FSF
(默认)
APACHE11
Apache License 1.1
FSF OSI
(默认)
APACHE20
Apache License 2.0
FSF OSI
(默认)
ART10
Artistic License 版本 1.0
OSI
(默认)
ART20
Artistic License 版本 2.0
FSF GPL OSI
(默认)
ARTPERL10
Artistic License (perl) 版本 1.0
OSI
(默认)
BSD
BSD 许可证通用版本(已弃用)
FSF OSI COPYFREE
(默认)
BSD2CLAUSE
BSD 2-clause “简化版”许可证
FSF OSI COPYFREE
(默认)
BSD3CLAUSE
BSD 3-clause “新”或“修订版”许可证
FSF OSI COPYFREE
(默认)
BSD4CLAUSE
BSD 4-clause “原始”或“旧版”许可证
FSF
(默认)
BSL
Boost 软件许可证
FSF OSI COPYFREE
(默认)
CC-BY-1.0
Creative Commons Attribution 1.0
(默认)
CC-BY-2.0
Creative Commons Attribution 2.0
(默认)
CC-BY-2.5
Creative Commons Attribution 2.5
(默认)
CC-BY-3.0
Creative Commons Attribution 3.0
(默认)
CC-BY-4.0
Creative Commons Attribution 4.0
(默认)
CC-BY-NC-1.0
Creative Commons Attribution Non Commercial 1.0
dist-mirror pkg-mirror auto-accept
CC-BY-NC-2.0
Creative Commons Attribution Non Commercial 2.0
dist-mirror pkg-mirror auto-accept
CC-BY-NC-2.5
Creative Commons Attribution Non Commercial 2.5
dist-mirror pkg-mirror auto-accept
CC-BY-NC-3.0
Creative Commons Attribution Non Commercial 3.0
dist-mirror pkg-mirror auto-accept
CC-BY-NC-4.0
Creative Commons Attribution Non Commercial 4.0
dist-mirror pkg-mirror auto-accept
CC-BY-NC-ND-1.0
Creative Commons Attribution Non Commercial No Derivatives 1.0
dist-mirror pkg-mirror auto-accept
CC-BY-NC-ND-2.0
Creative Commons Attribution Non Commercial No Derivatives 2.0
dist-mirror pkg-mirror auto-accept
CC-BY-NC-ND-2.5
Creative Commons Attribution Non Commercial No Derivatives 2.5
dist-mirror pkg-mirror auto-accept
CC-BY-NC-ND-3.0
Creative Commons Attribution Non Commercial No Derivatives 3.0
dist-mirror pkg-mirror auto-accept
CC-BY-NC-ND-4.0
Creative Commons Attribution Non Commercial No Derivatives 4.0
dist-mirror pkg-mirror auto-accept
CC-BY-NC-SA-1.0
Creative Commons Attribution Non Commercial Share Alike 1.0
dist-mirror pkg-mirror auto-accept
CC-BY-NC-SA-2.0
Creative Commons Attribution Non Commercial Share Alike 2.0
dist-mirror pkg-mirror auto-accept
CC-BY-NC-SA-2.5
Creative Commons Attribution Non Commercial Share Alike 2.5
dist-mirror pkg-mirror auto-accept
CC-BY-NC-SA-3.0
Creative Commons Attribution Non Commercial Share Alike 3.0
dist-mirror pkg-mirror auto-accept
CC-BY-NC-SA-4.0
Creative Commons Attribution Non Commercial Share Alike 4.0
dist-mirror pkg-mirror auto-accept
CC-BY-ND-1.0
Creative Commons Attribution No Derivatives 1.0
(默认)
CC-BY-ND-2.0
Creative Commons Attribution No Derivatives 2.0
(默认)
CC-BY-ND-2.5
Creative Commons Attribution No Derivatives 2.5
(默认)
CC-BY-ND-3.0
Creative Commons Attribution No Derivatives 3.0
(默认)
CC-BY-ND-4.0
Creative Commons Attribution No Derivatives 4.0
(默认)
CC-BY-SA-1.0
Creative Commons Attribution Share Alike 1.0
(默认)
CC-BY-SA-2.0
Creative Commons Attribution Share Alike 2.0
(默认)
CC-BY-SA-2.5
Creative Commons Attribution Share Alike 2.5
(默认)
CC-BY-SA-3.0
Creative Commons Attribution 署名-相同方式共享 3.0
(默认)
CC-BY-SA-4.0
Creative Commons Attribution 署名-相同方式共享 4.0
(默认)
CC0-1.0
Creative Commons Attribution 零版权 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 较小型公共许可证版本 2.1
FSF GPL OSI
(默认)
LGPL21+
GNU 较小型公共许可证版本 2.1(或更高版本)
FSF GPL OSI
(默认)
LGPL3
GNU 较小型公共许可证版本 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
FONTS
(默认)
OFL11
FONTS
(默认)
OWL
Open Works 许可证 (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
The 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
(默认)
LICENSE_PERMS
和 LICENSE_PERMS_NAME_
权限。如果为空,使用 none
。
许可证权限列表
dist-mirror
允许分发发行文件。发行文件将添加到 FreeBSD MASTER_SITE_BACKUP
CDN。
dist-sell
允许出售发行文件。发行文件将出现在安装映像中。
pkg-sell
允许出售软件包。该软件包将出现在安装映像中。
auto-accept
默认接受许可证。除非用户定义了 LICENSES_ASK
,否则不会显示接受许可证的提示。如果许可证声明用户必须接受许可证条款,请使用此选项。
no-auto-accept
默认不接受许可证。用户将始终被要求确认接受此许可证。如果许可证声明用户必须接受其条款,则必须使用此选项。
当同时存在 permission
和 no-permission
时,no-permission
将取消 permission
。
当 permission
未出现时,视为 no-permission
。
警告
某些缺失的权限会导致一个 Port(以及所有依赖于它的 Port)无法通过包管理器使用:
没有
auto-accept
权限的 Port 将永远不会被构建,所有依赖于它的 Port 将被忽略。没有
pkg-mirror
权限的 Port(以及任何依赖于它的 Port)将在构建后被删除,确保它们不会被分发。
示例 29. 非标准许可证
阅读许可证条款,并使用可用权限进行翻译。
示例 30. 标准和非标准许可证
当 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
会取消 permissions。最终的权限列表是 dist-mirror pkg-mirror auto-accept。发行文件和软件包将不会出现在安装映像中。
LICENSE_GROUPS
和 LICENSE_GROUPS_NAME
许可证所属的组。
预定义的许可证组列表
GPL
与 GPL 兼容
FONTS
字体许可证
LICENSE_NAME
和 LICENSE_NAME_NAME
许可证的完整名称。
示例 31. LICENSE_NAME
LICENSE_FILE
和 LICENSE_FILE_NAME
示例 32. LICENSE_FILE
LICENSE_TEXT
和 LICENSE_TEXT_NAME
作为许可证使用的文本。当许可证不在分发文件中且文本较短时很有用。
示例 33. LICENSE_TEXT
LICENSE_DISTFILES
和 LICENSE_DISTFILES_NAME
适用于的分发文件。默认为所有分发文件。
示例 34. LICENSE_DISTFILES
当分发文件并非全部适用同一许可证时使用。例如,一个文件有代码许可证,另一个文件包含不能重新分发的艺术作品:
LICENSE_COMB
如果所有许可证都适用,则设置为 multi
。如果任意许可证适用,则设置为 dual
。默认为 single
。
示例 35. 双重许可证
当一个 Port 显示“此软件可以根据 GNU 通用公共许可证或艺术许可证进行分发”时,表示可以使用其中任何一个许可证。使用如下设置:
如果提供了许可证文件,请使用如下设置:
示例 36. 多个许可证
当一个 Port 的一部分使用一个许可证,而另一部分使用不同的许可证时,使用 multi
:
SIL 开源字体许可证版本 1.0 ()
SIL 开源字体许可证版本 1.1 ()
no-dist-mirror
禁止分发发行文件。这等同于设置 。发行文件将 不会 添加到 FreeBSD MASTER_SITE_BACKUP
CDN。
no-dist-sell
禁止出售发行文件。这等同于设置 。
pkg-mirror
允许自由分发软件包。该软件包将分发到 FreeBSD 软件包 CDN 。
no-pkg-mirror
禁止自由分发软件包。等同于设置 。该软件包将 不会 从 FreeBSD 软件包 CDN 分发。
no-pkg-sell
禁止出售软件包。这等同于设置 。该软件包将 不会 出现在安装映像中。
阅读许可证条款,并使用可用权限进行表达。如果有疑问,请在 上请求指导。
FSF
Free Software Foundation 批准,见 。
OSI
OSI 批准,见 Open Source Initiative 的 页面。
COPYFREE
符合 Copyfree 标准定义,见 页面。
包含许可证文本的文件的完整路径,通常是 ${WRKSRC}/some/file。如果文件不在分发包中,且其内容太长,无法放在 中,请将其放入 ${FILESDIR} 中的新文件。