提示:本页仅提供该协议的中文参考译文,正式文本以英文版 LICENSE 为准。
RET2SHELL 公共许可证
版本 2.0,2026年3月14日
前言
本许可证是为 Ret2Shell 项目制定的一个自定义 copyleft 许可证。
其目的在于保留 2007 年 6 月 29 日版本 3 的 GNU 通用公共许可证 (“GPL-3.0”)所具有的实质性权利、义务、保护以及下游自由, 同时增加针对基于本项目构建的项目与平台在某些面向用户的营利化 方面的 Ret2Shell 特定限制。
由于下文第 1 节和第 2 节增加了不属于 GPL-3.0 的限制, 本许可证并非 GPL-3.0,且不得被描述为 GPL-3.0。 附录 A 逐字重现了 GPL-3.0,并按下述方式并入本许可证。
条款和条件
- 定义与 GPL-3.0 的并入。
“GPL-3.0”指 2007 年 6 月 29 日版本 3 的 GNU 通用公共许可证, 其逐字文本载于附录 A。
“项目”(“Project”)指根据本许可证发布的 Ret2Shell 源代码、 目标代码、二进制文件、容器、构建产物和文档,以及其任何经修改的 版本或基于其形成且受本许可证约束的作品。
“平台”(“Platform”)指任何使用、纳入、暴露或实质性依赖于 本项目的部署、托管服务、嵌入式安装、插件、扩展、网关、包装层、 集成或独立配套服务。
“运营者”(“Operator”)指任何使用、部署、托管、销售、分发 或以其他方式对本项目或某个平台进行商业利用的个人或实体。
“用户”(“User”)指任何使用或访问某个平台的终端用户, 包括为了学习、练习、训练、备赛、参与课程,或以其他方式在平台上 消费挑战内容或教育内容的终端用户,不论该用户是否注册于学校或 正式教育项目。
“验证状态”(“Verified Status”)指表明某账户已完成运营者的 账户有效性或资格审核流程的任何状态。
“验证流程”(“Verification Process”)指在授予验证状态之前, 用于确认账户有效性、身份、资格、反滥用合规性或组织归属的任何程序。
“组织”(“Organization”)指在平台上体现的任何团队、班级、 学校、公司、俱乐部、机构、社群或类似集体。
“组织资源”(“Organization Resources”)指专门向某组织成员 提供的挑战、题解、通知、活动、文件、工作区、排名或其他资源。
“面向用户收费”(“User-Facing Charge”)指与某用户使用平台 或相关教育/挑战服务有关,向该用户请求、以该用户为对象,或从该用户 经济上提取的任何费用、价格、学费、订阅费、会员费、VIP 或高级费用、 应用内购买、代币、点数、押金、套餐、捆绑包、赞助支付或其他经济对价。 某项收费无论是直接还是间接施加,无论由运营者还是第三方收取, 无论是在平台内还是通过独立服务实施,均仍属于面向用户收费。 某项费用仅由学校、公司、组织者或赞助方支付,并不会仅因该实体使用了 平台而当然构成面向用户收费;但若该费用被单独向用户施加,或成为用户 访问、用户状态、组织参与或平台资源的条件,则不在此限。
“私有内部部署”(“Private Internal Deployment”)指不向公众开放 自助注册,且仅限于某学校、公司或其他组织的特定内部人群使用的部署。
“正当教育限制”(“Bona Fide Educational Restriction”)指仅为 课程顺序安排、课堂管理、考试完整性、年龄适宜性、反滥用或安全目的而 施加的限制,而非为了商业优势或私人金钱收益。
附录 A 被并入并构成本许可证的一部分,视同全文写入本许可证。 除非本许可证第 1 节至第 3 节明确补充规定: a) 附录 A 中的每一项许可、条件、义务、保护、专利许可、 反规避规则、对应源代码要求、安装信息要求、下游许可规则、 终止规则、恢复规则以及免责声明,均适用于本项目; b) 附录 A 中对“本许可证”(“this License”)的引用, 均指整个 Ret2Shell 公共许可证; c) 附录 A 中对“本程序”(“the Program”)和“受本协议涵盖的作品” (“covered work”)的引用,均指本项目以及任何基于本项目且受 本许可证约束的作品; d) 附录 A 中对“对应源代码”(“Corresponding Source”)、 “用户产品”(“User Product”)、“安装信息” (“Installation Information”)、“传播”(“propagate”)、 “传送”(“convey”)及类似 GPL-3.0 定义术语的引用, 保持附录 A 所赋予的含义; e) 附录 A 内部出现的编号条款引用,除非本许可证另有明示, 均指附录 A 自身的编号; f) 第 1 节和第 2 节是本许可证不可分割的组成性条件, 并非可选例外或附加许可,且不得依据附录 A 第 7 节移除; g) 任何人均不得仅依据 GPL-3.0 传送本项目,也不得从本许可证的 任何副本中省略第 1 节至第 3 节;并且 h) 如第 1 节至第 3 节与附录 A 冲突,则第 1 节至第 3 节仅在 为保留 Ret2Shell 特定限制与定义所必需的范围内优先; 在其他情况下,以附录 A 为准。
- 商业使用与面向用户营利化限制。
允许商业使用。这包括对运营、托管、基础设施、维护、支持、定制、 集成、迁移、咨询、挑战设计、挑战编写、审查、活动筹备、活动组织、 赞助执行及类似服务收费,只要你遵守本许可证。
尽管依据附录 A 原本可能产生某些许可,但你不得为了商业优势或 私人金钱收益而: a) 在平台上为用户创建、销售或运营付费、VIP、高级、订阅、 会员或同等功能层,无论这些功能层是开源还是专有、嵌入式还是外部、 捆绑式还是独立式; b) 就允许公众注册账户的平台上的挑战、题目说明、题解、学习内容、 练习环境或类似教育资源向用户收费,但私有内部部署或依据正当教育限制 实施者除外; c) 将验证状态或验证流程的出售、营利化、设门槛、拍卖、优先提供, 或以其他方式以付款为条件; d) 将用户加入某组织或访问组织资源作为收费条件;或 e) 将本项目或某个平台作为某种业务的一部分加以使用,而该业务出售课程、 培训、辅导、训练营、付费会员资格或类似面向用户的教育产品或服务, 且用户付款与平台访问、平台状态、组织参与或平台资源相挂钩。
- 反规避规则。
下列规则适用于第 1 节: a) 被禁止的收费,即使是通过关联方、转售方、插件、网关、独立域名 或捆绑服务而非核心代码库实施,也仍然被禁止; b) 开源实现并不会使被禁止的面向用户收费变得许可; c) 将收费与核心平台服务分离,并不会使被禁止的面向用户收费变得许可;并且 d) 为安全、保障、反滥用、课堂管理或课程顺序安排而施加的合理、 非歧视性验证或访问控制是允许的,但前提是这些控制未被营利化, 且未被用作面向用户收费的借口;并且 e) 在任何允许公众自助注册的平台上,你不得利用验证流程、验证状态, 或验证状态用户之间在普通非员工挑战访问上的差异,来实施、掩饰 或执行第 1 节所禁止的行为。特别是,已向部分具有验证状态的用户 提供的普通非员工挑战访问,不得因付款或其他面向用户收费而对其他 具有验证状态的用户予以拒绝。管理、审核、出题、评判及反滥用权限 不受本规则约束。仅基于正当教育限制且未营利化的区分仍被允许。
- 参考材料。
COMMERCIAL_POLICY.md 和 COMMERCIAL_POLICY.zh-cn.md 可以为 第 1 节和第 2 节中的 Ret2Shell 特定限制提供解释性指引和译文。 附录 A 仍然规制源自 GPL-3.0 的基础权利与义务。如有任何冲突, 以本许可证为准。
附录 A
GNU 通用公共许可证
第 3 版,2007 年 6 月 29 日
版权所有 (C) 2007 自由软件基金会(Free Software Foundation, Inc.)https://fsf.org/ 允许任何人复制和分发本许可证文件的逐字副本, 但不允许对其进行修改。
前言
GNU 通用公共许可证是一份面向软件及其他类型作品的自由、copyleft 许可证。
大多数软件及其他实用作品的许可证,其设计目的是剥夺你分享和修改作品的 自由。与此相反,GNU 通用公共许可证旨在保障你分享和修改程序所有版本的 自由,确保其对所有用户始终保持为自由软件。我们,自由软件基金会, 对我们的大多数软件使用 GNU 通用公共许可证;任何其他作者以此方式发布的 作品,同样适用它。你也可以将它应用于你的程序。
当我们说自由软件时,我们指的是自由,而不是价格。我们的通用公共许可证 旨在确保:你有自由分发自由软件的副本(如果你愿意,也可为此收费); 你能够获得源代码,或在需要时可以取得源代码;你可以修改该软件,或者 将其中一部分用于新的自由程序;并且你知道你可以做这些事情。
为了保护你的权利,我们需要防止他人否认这些权利,或者要求你放弃这些 权利。因此,如果你分发软件副本,或修改该软件,你就承担某些责任: 即尊重他人的自由。
例如,如果你分发此类程序的副本,无论免费还是收费,你都必须将你所获得的 同等自由传递给接收者。你必须确保他们也能收到或获得源代码。并且你必须 向他们展示这些条款,使他们知晓自己的权利。
使用 GNU GPL 的开发者分两步来保护你的权利: (1) 就软件主张版权;以及 (2) 向你提供本许可证,给予你复制、分发和/或修改该软件的法律许可。
为了保护开发者和作者,GPL 明确说明该自由软件不提供任何担保。 为了用户和作者双方的利益,GPL 要求修改后的版本应明确标示已被更改, 以便其问题不会被错误归咎于先前版本的作者。
某些设备被设计成阻止用户在其中安装或运行经修改的软件版本,尽管制造商 自己可以这样做。这从根本上违背了保护用户修改软件自由的目标。 这种滥用的系统性模式出现在供个人使用的产品领域,而这恰恰是最不可接受的 地方。因此,我们设计了这一版本的 GPL,以禁止这种做法用于此类产品。 如果类似问题在其他领域大规模出现,我们也准备在 GPL 的未来版本中将这一 规定扩展到那些领域,以便在有需要时保护用户的自由。
最后,每个程序都持续受到软件专利的威胁。各国不应允许专利用于限制 通用计算机上的软件开发和使用;但在确有此类专利制度的国家中,我们希望 避免适用于自由程序的专利使其实际上变成专有软件这一特殊危险。 为防止这种情况发生,GPL 确保专利不能被用来使程序变得非自由。
以下是复制、分发和修改的准确条款与条件。
条款和条件
- 定义。
“本许可证”指 GNU 通用公共许可证第 3 版。
“版权”也指适用于其他类型作品的类似版权法律,例如半导体掩模。
“本程序”指任何依据本许可证许可的、受版权保护的作品。 每个被许可人均称为“你”。“被许可人”和“接收者”可以是个人或组织。
对某作品进行“修改”,是指以需要版权许可的方式,从该作品复制或改编 其全部或部分内容,但制作精确副本除外。由此产生的作品称为较早作品的 “修改版本”,或称“基于”较早作品的作品。
“受本协议涵盖的作品”是指未经修改的本程序,或基于本程序形成的作品。
对某作品进行“传播”,是指对其实施任何在未经许可情况下会使你依据适用 版权法直接或间接承担侵权责任的行为,但在计算机上执行该作品或修改私人 副本除外。传播包括复制、分发(无论是否修改)、向公众提供,以及在某些 国家中的其他活动。
对某作品进行“传送”,是指使其他方能够制作或接收副本的任何形式的传播。 仅通过计算机网络与用户进行交互,而不转移副本,不属于传送。
交互式用户界面显示“适当的法律声明”,是指在其包含一项便利且显著可见的 功能的范围内,该功能 (1) 显示适当的版权声明,并且 (2) 告知用户该作品 不提供任何担保(除非确有提供担保的范围内)、被许可人可以依据本许可证 传送该作品,以及如何查看本许可证副本。如果界面呈现用户命令或选项列表, 例如菜单,则列表中的一个显著项目即可满足此标准。
- 源代码。
某作品的“源代码”,是指对该作品进行修改时的首选形式。 “目标代码”是指作品的任何非源代码形式。
“标准接口”是指以下任一种接口:由公认标准机构定义的官方标准接口; 或在某一特定编程语言所规定的接口情形下,被使用该语言的开发者广泛采用的 接口。
可执行作品的“系统库”包括除作品整体之外的一切内容,只要该内容 (a) 被包含在某一主要组件的正常封装形式中,但并非该主要组件的一部分, 且 (b) 仅用于使作品能与该主要组件一同使用,或者实现某一已有源代码形式 公开实现的标准接口。在此语境下,“主要组件”是指可执行作品运行所依赖的 特定操作系统(如有)的某个主要关键组件(内核、窗口系统等), 或用于生成该作品的编译器,或用于运行该作品的目标代码解释器。
以目标代码形式存在的某作品的“对应源代码”,是指生成、安装并(对于 可执行作品)运行该目标代码,以及修改该作品所需的全部源代码,包括控制 这些活动的脚本。但是,它不包括作品的系统库,也不包括在执行这些活动时 以未修改形式使用、但并非作品一部分的通用工具或普遍可得的自由程序。 例如,对应源代码包括与作品源文件相关联的接口定义文件,以及作品在设计上 明确要求使用的共享库和动态链接子程序的源代码,例如通过这些子程序与作品 其他部分之间紧密的数据通信或控制流实现的依赖。
对应源代码不必包括用户可以从对应源代码其他部分自动重新生成的任何内容。
以源代码形式存在的某作品的对应源代码,就是该作品本身。
- 基本许可。
本许可证授予的所有权利,均在本程序版权存续期间有效,并且只要满足所述 条件,即不可撤销。本许可证明确确认你拥有运行未经修改之本程序的无限制 许可。运行受本协议涵盖的作品所产生的输出,仅在该输出依其内容构成受本 协议涵盖的作品时,才受本许可证约束。本许可证承认你依据版权法享有的合理 使用权或其他同等权利。
你可以制作、运行和传播你并不传送的受本协议涵盖的作品,而无须附加条件, 前提是你的许可在其他方面仍然有效。你可以将受本协议涵盖的作品传送给他人, 唯一目的在于让他们专门为你进行修改,或向你提供运行这些作品的设施, 但前提是你在传送所有你不控制版权的材料时,遵守本许可证的条款。 这样为你制作或运行受本协议涵盖作品的人,必须仅代表你、在你的指示与控制 下行事,并且其条件须禁止他们在与你的关系之外复制你的受版权保护材料。
在任何其他情况下进行传送,仅在下述条件下才被允许。不允许分许可; 第 10 节已使其没有必要。
- 保护用户免受反规避法律侵害其法定权利。
任何受本协议涵盖的作品,均不得被视为任何适用法律下有效技术措施的一部分, 该等法律系为履行 1996 年 12 月 20 日通过的 WIPO 版权条约第 11 条义务, 或类似禁止或限制规避此类措施的法律而制定。
当你传送某受本协议涵盖的作品时,你放弃任何在下述范围内禁止规避技术措施 的法律权力:即此类规避是通过行使本许可证就该受本协议涵盖作品所赋予的 权利来实现的;并且你声明无意将对该作品的运行或修改加以限制,作为向该 作品用户执行你自己或第三方禁止规避技术措施之法定权利的手段。
- 传送逐字副本。
你可以在任何介质上传送你所收到的本程序源代码的逐字副本,前提是你在 每一份副本上显著且适当地公布适当的版权声明;完整保留所有声明本许可证 及依据第 7 节添加的任何非许可性条款适用于该代码的通知;完整保留所有 关于不提供任何担保的通知;并且将本许可证副本连同本程序一并提供给 所有接收者。
你可以对你所传送的每份副本收取任意价格,也可以不收费;并且你可以收费 提供支持或担保保护。
- 传送经修改的源代码版本。
你可以依据第 4 节的条款,以源代码形式传送基于本程序的作品,或为了从 本程序产生该作品而作出的修改,但前提是你还须同时满足以下全部条件:
a) 该作品必须带有显著通知,说明你对其进行了修改,并给出相关日期。
b) 该作品必须带有显著通知,说明其依据本许可证以及依据第 7 节添加的
任何条件发布。本要求修改了第 4 节中“完整保留所有通知”的要求。
c) 你必须将整个作品作为一个整体,依据本许可证许可给任何获得其副本的
人。因此,本许可证以及任何适用的第 7 节附加条款,将适用于作品整体及
其所有部分,无论其以何种方式封装。本许可证并未授权你以任何其他方式
许可该作品,但如果你另行获得了此种许可,本许可证亦不使之失效。
d) 如果该作品具有交互式用户界面,则每个界面都必须显示适当的法律声明;
但是,如果本程序具有不显示适当法律声明的交互式界面,则你的作品无须
使其显示该等声明。
将受本协议涵盖的作品与其他分离且独立的作品进行汇编,若这些作品按其性质 并非受本协议涵盖作品的扩展,且未与其组合成更大的程序,并被置于某一存储 或分发介质的同一卷册中或其上,则称为“聚合体”,前提是该汇编及其产生的 版权未被用于超出各个独立作品所允许范围地限制汇编使用者的访问或法定权利。 将受本协议涵盖的作品纳入聚合体,并不会导致本许可证适用于聚合体的其他部分。
- 传送非源代码形式。
你可以依据第 4 节和第 5 节的条款,以目标代码形式传送受本协议涵盖的作品, 但前提是你还须以本许可证条款同时传送机器可读的对应源代码,并以下列方式 之一进行:
a) 在实物产品中或其内传送目标代码(包括实体分发介质),并附带固定于
通常用于软件交换的耐久性实体介质上的对应源代码。
b) 在实物产品中或其内传送目标代码(包括实体分发介质),并附带一份书面
要约。该要约须至少三年有效,并且在你为该产品型号提供备件或客户支持的
期间持续有效;其内容应为向任何持有该目标代码的人提供以下之一:
(1) 提供该产品中所有受本许可证约束的软件的对应源代码副本,载于通常用于
软件交换的耐久性实体介质上,价格不高于你实际进行该源代码传送所需的合理
成本;或 (2) 免费提供从网络服务器复制对应源代码的访问方式。
c) 传送目标代码的个别副本时,同时附带一份提供对应源代码的书面要约副本。
此替代方式仅可偶尔且非商业性地使用,并且仅在你依第 6b 款所述方式收到
附有该等要约的目标代码时方可使用。
d) 通过在指定地点提供访问(免费或收费)的方式传送目标代码,并且通过同一
地点以同样方式、且不再额外收费,提供对对应源代码的等效访问。你无须要求
接收者在复制目标代码时一并复制对应源代码。如果复制目标代码的地点是网络
服务器,则对应源代码可以位于另一台支持等效复制设施的服务器上(由你或
第三方运营),前提是你在目标代码旁边保留清晰指引,说明到何处可找到对应
源代码。无论由何种服务器托管对应源代码,你仍有义务确保其在满足这些要求
所需的期间内可用。
e) 使用点对点传输方式传送目标代码,前提是你告知其他节点:该作品的目标
代码和对应源代码正依据第 6d 款,向公众免费提供于何处。
目标代码中可分离的一部分,如果其源代码作为系统库被排除在对应源代码之外, 则在传送该目标代码作品时无须包含该部分。
“用户产品”是指 (1) “消费产品”,即通常供个人、家庭或家务用途使用的 任何有形动产;或 (2) 任何被设计或出售用于纳入住宅中的物品。在判断某产品 是否为消费产品时,疑难情况应作有利于涵盖的解释。对于某一特定用户收到的 某一特定产品,“通常使用”是指该类产品的典型或通常用途,而不考虑该特定 用户的身份,亦不考虑该特定用户实际如何使用、预期如何使用,或被期待如何 使用该产品。即使某产品具有实质性的商业、工业或非消费用途,它仍属于消费 产品,除非这些用途构成该产品唯一的重要使用方式。
用户产品的“安装信息”是指从其对应源代码的修改版本出发,在该用户产品中 安装并执行某受本协议涵盖的作品之修改版本所需的任何方法、程序、授权密钥 或其他信息。该信息必须足以确保:修改后的目标代码得以持续运作,且绝不会 仅仅因为进行了修改而被阻止或干扰。
如果你依据本节,在用户产品中、连同用户产品,或专门供用户产品使用而传送 某目标代码作品,并且该传送发生于一项交易之中,而在该交易中用户产品的 占有和使用权被永久或定期转移给接收者(无论该交易被如何定性),则依据 本节传送的对应源代码必须附带安装信息。但若你和任何第三方都不保留在该 用户产品上安装经修改目标代码的能力(例如该作品已被安装在 ROM 中), 则本要求不适用。
提供安装信息的要求,并不包括继续为经接收者修改或安装的作品,或为其中 安装或修改了该作品的用户产品,提供支持服务、担保或更新的要求。当修改 本身对网络运行造成实质性不利影响,或违反跨网络通信的规则和协议时, 可以拒绝其访问网络。
依据本节传送的对应源代码和提供的安装信息,必须采用公开文档化的格式 (并且其实现应已以源代码形式向公众提供),且在解包、读取或复制时不得 需要任何特殊密码或密钥。
- 附加条款。
“附加许可”是指通过对本许可证的一项或多项条件作出例外,从而补充本许可证 条款的条款。适用于整个本程序的附加许可,在适用法律认可其有效的范围内, 应视为已并入本许可证。若附加许可仅适用于本程序的一部分,则该部分可在 该等许可下单独使用,但整个本程序仍受本许可证管辖,而不受这些附加许可影响。
当你传送受本协议涵盖的作品副本时,你可以自行选择从该副本中,或从其任何 部分中,移除任何附加许可。(在某些情况下,当你修改该作品时,附加许可本身 可以写明要求移除它们。)对于你加入受本协议涵盖作品中的材料,只要你对其 拥有或能够授予适当的版权许可,你可以对这些材料附加附加许可。
尽管本许可证有任何其他规定,对于你加入受本协议涵盖作品中的材料,你可以 (如果该材料的版权持有人授权)通过以下条款补充本许可证:
a) 以不同于本许可证第 15 节和第 16 节的方式免责声明担保或限制责任;或
b) 要求在该材料中,或在包含该材料的作品所显示的适当法律声明中,保留
指定的合理法律声明或作者署名;或
c) 禁止对该材料来源作虚假表示,或要求以合理方式将该材料的修改版本标示
为与原始版本不同;或
d) 限制为宣传目的使用许可人或该材料作者的姓名;或
e) 拒绝授予在商标法下使用某些商品名称、商标或服务标志的权利;或
f) 要求任何在向接收者承担合同责任的情况下传送该材料(或其修改版本)的人,
就这些合同责任直接施加于许可人和作者的任何责任,对其进行赔偿。
所有其他非许可性的附加条款,均被视为第 10 节意义下的“进一步限制”。 如果你收到的本程序或其任何部分包含一项通知,声明其受本许可证以及某项 进一步限制条款的共同约束,你可以移除该条款。如果某许可证文件包含进一步 限制,但允许依据本许可证进行再许可或传送,则你可以将受该许可证文件条款 约束的材料加入受本协议涵盖的作品,前提是该进一步限制不会在此类再许可或 传送之后继续存在。
如果你依据本节向受本协议涵盖的作品添加条款,你必须在相关源文件中写明 适用于这些文件的附加条款,或写明可在何处找到适用条款的通知。
附加条款,无论许可性还是非许可性,均可采用单独撰写的许可证形式, 也可表述为例外;以上要求两种情形均适用。
- 终止。
除本许可证明确规定外,你不得传播或修改受本协议涵盖的作品。任何以其他 方式传播或修改该作品的尝试均属无效,并将自动终止你依据本许可证所享有的 权利(包括依据第 11 节第三段授予的任何专利许可)。
但是,如果你停止对本许可证的一切违反行为,则你从特定版权持有人处获得的 许可将恢复:(a) 暂时恢复,除非并直到该版权持有人明确且最终终止你的许可; 且 (b) 永久恢复,如果该版权持有人未在你停止违反后 60 天内,以某种合理方式 通知你该违反行为。
此外,如果特定版权持有人以某种合理方式通知你该违反行为,且这是你第一次 从该版权持有人处收到关于违反本许可证(针对任何作品)的通知,并且你在 收到通知后 30 天内纠正了该违反行为,则你从该版权持有人处获得的许可将 永久恢复。
依据本节终止你的权利,并不会终止那些依据本许可证从你处获得副本或权利的 各方之许可。如果你的权利已被终止且未永久恢复,则你不具备依据第 10 节 就相同材料获得新许可的资格。
- 持有副本无须接受。
你无须为了接收或运行本程序副本而接受本许可证。仅仅因使用点对点传输接收 副本而附带发生的对受本协议涵盖作品的传播,同样无须接受本许可证。 但是,除本许可证外,没有任何其他内容授予你传播或修改任何受本协议涵盖 作品的许可。如果你未接受本许可证,这些行为即构成版权侵权。因此,通过 修改或传播某受本协议涵盖的作品,你表明你接受本许可证以进行这些行为。
- 下游接收者的自动许可。
每当你传送某受本协议涵盖的作品时,接收者都会自动从原始许可人处获得 一项许可,以依据本许可证运行、修改和传播该作品。你无责任强制第三方 遵守本许可证。
“实体交易”是指转移某组织控制权、转移某组织几乎全部资产、拆分某组织, 或合并多个组织的交易。如果受本协议涵盖作品的传播系由某实体交易导致, 则该交易中每一方凡收到该作品副本者,也同时获得其权利前手依据前段拥有 或能够授予的关于该作品的一切许可,以及在该前手拥有或经合理努力可取得 时,取得该作品对应源代码占有权的权利。
你不得对本许可证授予或确认之权利的行使施加任何进一步限制。例如, 你不得就本许可证授予之权利的行使收取许可费、版税或其他费用;并且你不得 提起诉讼(包括诉讼中的交叉诉求或反诉),主张通过制造、使用、销售、 要约销售或进口本程序或其任何部分而侵犯了任何专利权利要求。
- 专利。
“贡献者”是指授权依据本许可证使用本程序或某一基于本程序之作品的版权 持有人。由此获许可的作品称为该贡献者的“贡献者版本”。
贡献者的“必要专利权利要求”是指该贡献者拥有或控制的全部专利权利要求, 无论其是已取得还是将来取得,只要它们会因依照本许可证所允许的某种方式 制作、使用或销售其贡献者版本而被侵犯;但不包括仅因对贡献者版本作进一步 修改才会被侵犯的权利要求。为本定义之目的,“控制”包括以符合本许可证要求 的方式授予专利分许可的权利。
每一贡献者均依据其必要专利权利要求,向你授予一项非独占的、全球性的、 免版税的专利许可,以制作、使用、销售、要约销售、进口,以及以其他方式 运行、修改和传播其贡献者版本的内容。
在以下三个段落中,“专利许可”是指任何明示协议或承诺,不论其名称为何, 其效果均为不执行某项专利(例如实施专利的明示许可,或不起诉专利侵权的 承诺)。向某一方“授予”该等专利许可,是指作出此种不向该方执行专利的 协议或承诺。
如果你传送某受本协议涵盖的作品,并且你明知自己依赖于某项专利许可,而该 作品的对应源代码却未能通过公开可用的网络服务器或其他便于取得的方式, 依据本许可证条款免费提供给任何人复制,那么你必须做到以下之一: (1) 使对应源代码以该种方式可得;或 (2) 安排使你自己就该特定作品不再享有该专利许可的利益;或 (3) 以符合本许可证要求的方式安排将该专利许可扩展至下游接收者。 “明知自己依赖”是指你实际知晓:若无该专利许可,则你在某一国家传送该受本 协议涵盖作品,或你的接收者在某一国家使用该受本协议涵盖作品,将会侵犯该国 一项或多项可识别的、且你有理由相信有效的专利。
如果根据某一单一交易或安排,或者与其相关联,你传送某受本协议涵盖的作品, 或通过促成传送而传播该作品,并向部分接收该受本协议涵盖作品的人授予专利 许可,授权他们使用、传播、修改或传送该受本协议涵盖作品的特定副本, 则你授予的该专利许可将自动扩展至该受本协议涵盖作品及其衍生作品的 所有接收者。
如果某专利许可未将本许可证明确授予的一项或多项权利的行使纳入其覆盖范围, 或禁止行使这些权利,或以不行使这些权利为条件,则该专利许可为“歧视性” 专利许可。如果你与从事软件分发业务的第三方订有某种安排,而你基于自己 传送作品活动的程度向该第三方付款,且该第三方向将会从你处接收受本协议 涵盖作品的任一方授予歧视性专利许可,且该许可 (a) 与你所传送的受本协议 涵盖作品的副本(或从这些副本制作的副本)有关,或 (b) 主要针对并关联于 包含该受本协议涵盖作品的特定产品或汇编,则你不得传送该受本协议涵盖的 作品;但若你在 2007 年 3 月 28 日之前即已订立该安排,或该专利许可于 该日前即已授予,则不在此限。
本许可证中的任何内容,均不得被解释为排除或限制你依据适用专利法原本可能 享有的任何默示许可或其他侵权抗辩。
- 不得放弃他人的自由。
如果有强加于你的条件(无论源于法院命令、协议还是其他原因)与本许可证的 条件相冲突,它们并不能免除你遵守本许可证条件的义务。如果你不能在同时满足 本许可证项下义务及其他相关义务的情况下传送某受本协议涵盖的作品,那么其 结果是你根本不得传送该作品。例如,如果你同意某些条款,而这些条款要求你 就你向其传送本程序的人进一步传送该程序时收取版税,那么你同时满足这些 条款与本许可证的唯一方式,就是完全不传送本程序。
- 与 GNU Affero 通用公共许可证共同使用。
尽管本许可证有任何其他规定,你有权将任何受本协议涵盖的作品与依据 GNU Affero 通用公共许可证第 3 版许可的作品链接或组合成一个单一的 组合作品,并传送由此产生的作品。本许可证的条款将继续适用于其中属于 受本协议涵盖作品的部分,但 GNU Affero 通用公共许可证第 13 节关于 通过网络交互的特别要求,将适用于该组合作品本身。
- 本许可证的修订版本。
自由软件基金会可能会不时发布 GNU 通用公共许可证的修订版和/或新版本。 这些新版本在精神上将与当前版本相似,但可能在细节上有所不同,以应对新的 问题或关切。
每个版本都会被赋予一个可资区分的版本号。如果本程序指明某一特定编号版本 的 GNU 通用公共许可证“或任何更高版本”适用于它,则你可以选择遵循该编号 版本,或自由软件基金会后来发布的任何更高版本的条款和条件。如果本程序 未指明 GNU 通用公共许可证的版本号,则你可以选择自由软件基金会曾经发布的 任一版本。
如果本程序指明由某代理人决定 GNU 通用公共许可证未来哪些版本可被使用, 则该代理人关于接受某一版本的公开声明,将永久授权你为该程序选择该版本。
后来的许可证版本可能会授予你附加的或不同的许可。然而,任何作者或版权 持有人均不会仅因你选择遵循较后版本,而被施加任何附加义务。
- 担保免责声明。
在适用法律允许的范围内,本程序不提供任何担保。除非版权持有人和/或其他 各方另有书面声明,否则本程序按“现状”提供,不附带任何明示或默示担保, 包括但不限于适销性和特定用途适用性的默示担保。关于本程序质量和性能的 全部风险由你承担。如本程序被证明存在缺陷,你应承担一切必要的维修、修复 或纠正费用。
- 责任限制。
除非适用法律要求或书面同意,否则任何版权持有人,或任何按上述许可修改 和/或传送本程序的其他方,均不对你承担损害赔偿责任,包括因使用或无法使用 本程序所引起的任何一般性、特殊性、附带性或后果性损害(包括但不限于 数据丢失、数据失真、你或第三方遭受的损失,或本程序未能与任何其他程序 协同运作),即使该持有人或其他方已被告知发生该等损害的可能性,亦不例外。
- 对第 15 节和第 16 节的解释。
如果上述担保免责声明和责任限制根据其条文无法在当地法律下生效,则审理法院 应适用最接近于对与本程序有关的一切民事责任作绝对放弃的当地法律,除非 某份本程序副本在收费提供时附带了担保或责任承担。
条款和条件结束
如何将这些条款用于你的新程序
如果你开发了一个新程序,并希望它尽可能对公众有最大用途,实现这一目标的 最佳方式,就是使其成为自由软件,让每个人都能依据这些条款重新分发和修改它。
为此,请将以下声明附加到程序中。最安全的做法是将其附加到每个源文件的 开头,以最有效地说明不提供担保;并且每个文件至少应有“版权”行以及指向 完整声明所在位置的提示。
<用一行写出程序名称以及其功能的简要说明。>
版权所有 (C) <年份> <作者姓名>
本程序是自由软件:你可以依据自由软件基金会发布的 GNU 通用公共许可证
的条款重新分发和/或修改它;许可证为第 3 版,或者(由你选择)任何更高版本。
发布本程序是希望它能够有用,
但不提供任何担保;甚至不包括
适销性或特定用途适用性的默示担保。详见
GNU 通用公共许可证。
你应已随本程序收到一份 GNU 通用公共许可证副本。
如果没有,请参见 <https://www.gnu.org/licenses/>。
另请加入关于如何通过电子邮件和纸质邮件联系你的信息。
如果该程序具有终端交互功能,请使其在交互模式启动时输出类似下面的简短通知:
<程序名> 版权所有 (C) <年份> <作者姓名>
本程序绝对不提供任何担保;详情请输入 `show w'`。
这是自由软件,在一定条件下欢迎你重新分发它;
详情请输入 `show c'`。
假定命令 show w' 和 show c' 应显示通用公共许可证中的相应部分。 当然,你的程序所用命令也可以不同;对于图形界面,你可以使用“关于”对话框。
如果需要,你还应让你的雇主(如果你是一名程序员)或学校为该程序签署一份 “版权放弃声明”。关于此点以及如何适用和遵循 GNU GPL 的更多信息,请参见 https://www.gnu.org/licenses/。
GNU 通用公共许可证不允许将你的程序并入专有程序中。如果你的程序是一个 子程序库,你也许会认为允许专有应用程序与该库链接更有用。若你想这样做, 请改用 GNU 宽通用公共许可证(GNU Lesser General Public License) 而不是本许可证。但首先,请阅读 https://www.gnu.org/licenses/why-not-lgpl.html。
