5.8.许可证

每个port必须记录其可用的许可证。如果它不是一个 OSI 批准的许可证,还必须记录任何关于重新分发的限制。

5.8.1. 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."但没有提供许可证文件时,请使用以下内容:

LICENSE=	LGPL21+

软件提供许可文件时,请使用此文件:

LICENSE=	LGPL21+
LICENSE_FILE=	${WRKSRC}/COPYING

对于预定义许可证, 默认权限为 dist-mirror dist-sell pkg-mirror pkg-sell auto-accept 。

表 7。预定义许可证列表

简称名称组别权限

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

(默认)

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. 非标准许可证

阅读许可协议的条款,并利用可用的许可进行翻译。

LICENSE=        UNKNOWN
LICENSE_NAME=   unknown
LICENSE_TEXT=   This program is NOT in public domain.\
                It can be freely distributed for non-commercial purposes only.
LICENSE_PERMS=  dist-mirror no-dist-sell pkg-mirror no-pkg-sell auto-accept

实例 30. 标准和非标准许可证

阅读许可证条款,并使用可用权限表达这些。如有疑问,请在 FreeBSD ports 邮件列表上寻求指导。

LICENSE=        WARSOW GPLv2
LICENSE_COMB=   multi
LICENSE_NAME_WARSOW=    Warsow Content License
LICENSE_FILE_WARSOW=    ${WRKSRC}/docs/license.txt
LICENSE_PERMS_WARSOW=   dist-mirror pkg-mirror auto-accept

当混合 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

LICENSE=        UNRAR
LICENSE_NAME=   UnRAR License
LICENSE_FILE=   ${WRKSRC}/license.txt
LICENSE_PERMS=  dist-mirror dist-sell pkg-mirror pkg-sell auto-accept

5.8.5. LICENSE_FILE 和 LICENSE_FILE_NAME

包含许可证文本的文件的完整路径,通常是 ${WRKSRC}/some/file。如果文件不在 distfile 中,并且其内容太长而无法放入 LICENSE_TEXT 中,则将其放入 ${FILESDIR} 中的新文件中。

示例 32. LICENSE_FILE

LICENSE=	GPLv3+
LICENSE_FILE=	${WRKSRC}/COPYING

5.8.6. LICENSE_TEXT 和 LICENSE_TEXT_NAME

用作许可证的文本。在许可证不在分发文件中且其文本较短时非常有用。

示例 33. LICENSE_TEXT

LICENSE=        UNKNOWN
LICENSE_NAME=   unknown
LICENSE_TEXT=   This program is NOT in public domain.\
                It can be freely distributed for non-commercial purposes only,\
                and THERE IS NO WARRANTY FOR THIS PROGRAM.
LICENSE_PERMS=  dist-mirror no-dist-sell pkg-mirror no-pkg-sell auto-accept

5.8.7. LICENSE_DISTFILES 和 LICENSE_DISTFILES_NAME

适用许可证的发行文件。默认适用于所有发行文件。

示例 34. LICENSE_DISTFILES

当发行文件不全都具有相同的许可证时使用。例如,一个具有代码许可证,另一个具有一些不能重新分发的艺术作品时:

MASTER_SITES=   SF/some-game
DISTFILES=      ${DISTNAME}${EXTRACT_SUFX} artwork.zip

LICENSE=        BSD3CLAUSE ARTWORK
LICENSE_COMB=   dual
LICENSE_NAME_ARTWORK=      The game artwork license
LICENSE_TEXT_ARTWORK=      The README says that the files cannot be redistributed
LICENSE_PERMS_ARTWORK=     pkg-mirror pkg-sell auto-accept
LICENSE_DISTFILES_BSD3CLAUSE=   ${DISTNAME}${EXTRACT_SUFX}
LICENSE_DISTFILES_ARTWORK= artwork.zip

5.8.8. LICENSE_COMB

设置为 multi 如果所有许可证适用。如果有任何许可证适用,则设置为 dual 。默认为 single 。

示例 35。双重许可证

当一个port说"本软件可以根据 GNU 通用公共许可证或艺术许可证进行分发"时,这意味着可以使用任一许可证。使用这个:

LICENSE=	ART10 GPLv1
LICENSE_COMB=   dual

如果提供许可文件,请使用此选项:

LICENSE=	ART10 GPLv1
LICENSE_COMB=   dual
LICENSE_FILE_ART10=     ${WRKSRC}/Artistic
LICENSE_FILE_GPLv1=     ${WRKSRC}/Copying

示例 36. 多个许可证

当port的一部分具有一个许可证,而另一部分具有不同的许可证时,请使用 multi :

LICENSE=	GPLv2 LGPL21+
LICENSE_COMB=	multi

最后更新于

FreeBSD 中文社区