5.8.许可证
每个port必须记录其可用的许可证。如果它不是一个 OSI 批准的许可证,还必须记录任何关于重新分发的限制。
5.8.1. LICENSE
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。预定义许可证列表
简称 | 名称 | 组别 | 权限 |
---|---|---|---|
| GNU Affero General Public License version 3 |
| (默认) |
| GNU Affero General Public License version 3 (或更高) |
| (默认) |
| Apache 许可证 1.0 |
| (默认) |
| Apache 许可证 1.1 |
| (默认) |
| Apache 许可证 2.0 |
| (默认) |
| 艺术许可证版本 1.0 |
| (默认) |
| 艺术许可证版本 2.0 |
| (默认) |
| 艺术许可证(perl)版本 1.0 |
| (默认) |
| BSD 许可证通用版本(已弃用) |
| (默认) |
| BSD 2 条款“简化”许可证 |
| (默认) |
| BSD 三条款“新”或“修订”许可证 |
| (默认) |
| BSD 四条款“原始”或“旧”许可证 |
| (默认) |
| Boost 软件许可证 |
| (默认) |
| 知识共享 署名 1.0 | (默认) | |
| 知识共享 署名 2.0 | (默认) | |
| 知识共享 署名-相同方式共享 2.5 | (默认) | |
| 知识共享 署名 3.0 | (默认) | |
| 知识共享 署名 4.0 | (默认) | |
| 创作共用署名-非商业性使用 1.0 |
| |
| 创作共用署名-非商业性使用 2.0 |
| |
| 知识共享署名-非商业性使用 2.5 |
| |
| 知识共享署名-非商业性使用 3.0 |
| |
| 知识共享署名-非商业性使用 4.0 |
| |
| 创作共用 署名-非商业性使用-禁止演绎 1.0 |
| |
| 创作共用 署名-非商业性使用-禁止演绎 2.0 |
| |
| 创作共用 署名-非商业性使用-禁止演绎 2.5 |
| |
| 知识共享 署名 非商业性 使用 禁止演绎 3.0 |
| |
| 知识共享 署名 非商业性 使用 禁止演绎 4.0 |
| |
| 知识共享 署名 非商业性 使用 禁止演绎 相同方式共享 1.0 |
| |
| 创作共用署名-非商业性使用-相同方式共享 2.0 |
| |
| 创作共用署名-非商业性使用-相同方式共享 2.5 |
| |
| 创作共用署名-非商业性使用-相同方式共享 3.0 |
| |
| 知识共享 署名-非商业性使用-相同方式共享 4.0 国际许可协议 |
| |
| 知识共享 署名-禁止演绎 1.0 国际许可协议 | (默认) | |
| 创作共用 姓名表示 禁止演绎 2.0 | (默认) | |
| 创作共用 姓名表示 禁止演绎 2.5 | (默认) | |
| 署名-禁止演绎 3.0 国际 (Creative Commons Attribution No Derivatives 3.0) | (默认) | |
| 创作共用署名禁止演绎 4.0 | (默认) | |
| 创作共用署名相同方式共享 1.0 | (默认) | |
| 创建共享署名-相同方式共享 2.0 | (默认) | |
| 创作共用署名-相同方式共享 2.5 | (默认) | |
| 创作共用署名-相同方式共享 3.0 | (默认) | |
| 创作共用署名-相同方式共享 4.0 | (默认) | |
| 创作共用 CC0 1.0 通用 |
| (默认) |
| 通用开发和分发许可证 |
| (默认) |
| 通用公共署名许可证 |
| (默认) |
| 阐明艺术许可证 |
| (默认) |
| Eclipse 公共许可证 |
| (默认) |
| GNU 自由文档许可证 |
| (默认) |
| GNAT 修改后的通用公共许可证 |
| (默认) |
| GNU 通用公共许可证第 1 版 |
| (默认) |
| GNU 通用公共许可证 版本 1(或更高版本) |
| (默认) |
| GNU 通用公共许可证第 2 版 |
| (默认) |
| GNU 通用公共许可证第 2 版(或更高版本) |
| (默认) |
| GNU 通用公共许可证第 3 版 |
| (默认) |
| GNU 通用公共授权协议 版本 3(或更高) |
| (默认) |
| GNU GPL 版本 3 运行库例外 |
| (默认) |
| GNU GPL 第 3 版运行库异常(或更高) |
| (默认) |
| 互联网系统联盟许可证 |
| (默认) |
| GNU 图书馆通用公共许可证版本 2.0 |
| (默认) |
| GNU 图书馆通用公共许可证版本 2.0(或更高版本) |
| (默认) |
| GNU Lesser General Public License version 2.1 |
| (默认) |
| GNU Lesser General Public License version 2.1(或更高版本) |
| (默认) |
| GNU Lesser General Public License 版本 3 |
| (默认) |
| GNU 较宽松通用公共许可证版本 3(或更高版本) |
| (默认) |
| LaTeX 项目公共许可证版本 1.0 |
|
|
| LaTeX 项目公共许可证版本 1.1 |
|
|
| LaTeX 项目公共许可证版本 1.2 |
|
|
| LaTeX 项目公共许可证版本 1.3 |
|
|
| LaTeX 项目公共许可证版本 1.3a |
|
|
| LaTeX 项目公共许可证版本 1.3b |
|
|
| LaTeX 项目公共许可证版本 1.3c |
|
|
| MIT 许可证 / X11 许可证 |
| (默认) |
| Mozilla 公共许可证版本 1.0 |
| (默认) |
| Mozilla 公共许可证版本 1.1 |
| (默认) |
| Mozilla 公共许可证版本 2.0 |
| (默认) |
| 伊利诺伊大学/NCSA 开源许可证 |
| (默认) |
| 未指定许可证 |
| |
| SIL 开放字体许可证版本 1.0 (https://scripts.sil.org/OFL/) |
| (默认) |
| SIL 开源字体许可证第 1.1 版(https://scripts.sil.org/OFL/) |
| (默认) |
| 开放作品许可证 (owl.apotheon.org) |
| (默认) |
| OpenSSL 许可证 |
| (默认) |
| 公共领域 |
| (默认) |
| PHP 许可证 版本 2.02 |
| (默认) |
| PHP 许可证 版本 3.0 |
| (默认) |
| PHP 许可证版本 3.01 |
| (默认) |
| Python 软件基金会许可协议 |
| (默认) |
| PostgreSQL 许可协议 |
| (默认) |
| Ruby 许可证 |
| (默认) |
| 无许可证 |
| (默认) |
| 你想干什么都行公共许可证第 2 版 |
| (默认) |
| 做你他妈想做的公共许可证版本 1 |
| (默认) |
| zlib 许可证 |
| (默认) |
| Zope 公共许可证版本 2.1 |
| (默认) |
5.8.2. LICENSE_PERMS 和 LICENSE_PERMS_NAME_
权限。如果为空使用 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 。
一些缺失的权限将会阻止 port(以及所有依赖它的 ports)可被软件包用户使用: 没有 auto-accept 权限的 port 永远不会被构建,并且所有依赖它的 ports 将被忽略。 没有 pkg-mirror 许可的port将在构建后被移除,以及所有依赖于它的ports,它们最终将被分发。 |
示例 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。分发文件和软件包将不会在安装镜像上可用。
5.8.3. LICENSE_GROUPS 和 LICENSE_GROUPS_NAME
许可组所属的组
预定义许可组列表
FSF
自由软件基金会批准,请查看 FSF 许可及合规团队。
GPL
GPL 兼容
OSI
OSI 批准,请查看开放源代码组织开源许可证页面。
COPYFREE
遵守 Copyfree 标准定义,请参见 Copyfree 许可证页面。
FONTS
字体许可证
5.8.4. LICENSE_NAME 和 LICENSE_NAME_NAME
授权的完整名称。
示例 31. LICENSE_NAME
5.8.5. LICENSE_FILE 和 LICENSE_FILE_NAME
包含许可证文本的文件的完整路径,通常是 ${WRKSRC}/some/file。如果文件不在 distfile 中,并且其内容太长而无法放入 LICENSE_TEXT 中,则将其放入 ${FILESDIR} 中的新文件中。
示例 32. LICENSE_FILE
5.8.6. LICENSE_TEXT 和 LICENSE_TEXT_NAME
用作许可证的文本。在许可证不在分发文件中且其文本较短时非常有用。
示例 33. LICENSE_TEXT
5.8.7. LICENSE_DISTFILES 和 LICENSE_DISTFILES_NAME
适用许可证的发行文件。默认适用于所有发行文件。
示例 34. LICENSE_DISTFILES
当发行文件不全都具有相同的许可证时使用。例如,一个具有代码许可证,另一个具有一些不能重新分发的艺术作品时:
5.8.8. LICENSE_COMB
LICENSE_COMB
设置为 multi 如果所有许可证适用。如果有任何许可证适用,则设置为 dual 。默认为 single 。
示例 35。双重许可证
当一个port说"本软件可以根据 GNU 通用公共许可证或艺术许可证进行分发"时,这意味着可以使用任一许可证。使用这个:
如果提供许可文件,请使用此选项:
示例 36. 多个许可证
当port的一部分具有一个许可证,而另一部分具有不同的许可证时,请使用 multi :
最后更新于