Apache License 2.0 是开放源代码促进会于 2004 年 1 月发布的开源许可证,Kubernetes、TensorFlow、Android 以及 Apache 软件基金会旗下大量项目都采用它。它属于宽松许可证,允许商用、修改、分发和闭源,条件是保留版权与许可声明,并允许专利反制。

下面按官方原文逐条翻译。

需要提醒一句,这是非官方译本,仅供阅读方便。法律上有效的始终是英文原文,两者不一致时以英文为准。

使用、复制与分发条款

1. 定义

"License"(本许可证)指本文第 1 至第 9 条所规定的关于使用、复制与分发的全部条款和条件。

"Licensor"(许可方)指著作权人,或经著作权人授权、有权授予本许可证的主体。

"Legal Entity"(法律实体)指行为主体与其控制、被其控制、或与之处于共同控制下的所有其他主体组成的集合。就本定义而言,"控制"指(i) 无论通过合同还是其他手段,直接或间接主导或管理该实体的权力,或(ii) 持有该实体已发行股份的百分之五十(50%)或以上,或(iii) 对该实体享有受益所有权。

"You"(您)或 "Your"(您的)指行使本许可证所授予权限的个人或法律实体。

"Source" form(源代码形式)指便于进行修改的首选形式,包括但不限于软件源代码、文档源文件和配置文件。

"Object" form(目标形式)指由源代码形式经机械变换或翻译所产生的任何形式,包括但不限于编译后的目标代码、生成的文档,以及转换为其他媒体类型的结果。

"Work"(作品)指以本许可证提供的、受著作权保护的作品,无论源代码形式还是目标形式,由包含于或附随于该作品的版权声明加以标识(示例见附录)。

"Derivative Works"(衍生作品)指基于或派生于该作品的任何作品,无论源代码形式还是目标形式,且其中编辑性修订、注释、扩充或其他改动作为一个整体构成一项原创作品。就本许可证而言,衍生作品不包括仍可与该作品相互分离、或仅与该作品及其衍生作品的接口相链接(或按名称绑定)的作品。

"Contribution"(贡献)指任何受著作权保护的作品,包括作品的原始版本,以及对该作品或其衍生作品的任何修改或增补,由著作权人(或经授权代表著作权人提交的个人或法律实体)有意提交给许可方以纳入该作品。就本定义而言,"submitted"(提交)指发送给许可方或其代表的任何形式电子、口头或书面通信,包括但不限于许可方为其自身或代表其管理、用于讨论和改进该作品的电子邮件列表、源代码控制系统和问题跟踪系统中的通信,但不包括著作权人以显著标记方式或以其他方式以书面形式指定为 "Not a Contribution"(非贡献)的通信。

"Contributor"(贡献者)指许可方,以及许可方代表其接收了贡献、且该贡献随后被纳入作品的任何个人或法律实体。

2. 著作权许可的授予

在遵守本许可证条款和条件的前提下,每位贡献者特此向您授予一项永久的、全球范围的、非排他的、免收费的、免版税的、不可撤销的著作权许可,允许您复制该作品、制作其衍生作品、公开展示、公开表演、再许可,并以源代码形式或目标形式分发该作品及其衍生作品。

3. 专利许可的授予

在遵守本许可证条款和条件的前提下,每位贡献者特此向您授予一项永久的、全球范围的、非排他的、免收费的、免版税的、不可撤销的(本节另有规定者除外)专利许可,允许您制造、委托制造、使用、要约销售、销售、进口以及以其他方式转让该作品。该许可仅适用于该贡献者有权许可、且因其贡献本身、或其贡献与其提交所属作品结合而被必然侵犯的那些专利权利要求。如果您针对任何主体提起专利诉讼(包括诉讼中的交叉请求或反请求),主张该作品或已纳入该作品的贡献构成直接侵权或帮助侵权,那么本许可证下就该作品授予您的任何专利许可,自该诉讼提起之日起终止。

4. 重新分发

您可以在任何介质中复制并分发该作品或其衍生作品的副本,可以修改也可以不修改,可以是源代码形式或目标形式,但须满足以下条件。

(a) 您必须向该作品或衍生作品的任何其他接收者提供本许可证的一份副本。

(b) 您必须使任何被修改的文件携带显著的通知,声明您已更改了这些文件。

(c) 您必须在您分发的任何衍生作品的源代码形式中,保留来自该作品源代码形式的所有著作权、专利、商标和署名通知,但不包括与衍生作品的任何部分无关的那些通知。

(d) 如果该作品作为其分发的一部分包含一个 "NOTICE" 文本文件,那么您分发的任何衍生作品必须包含该 NOTICE 文件中所含署名通知的可读副本,但不包括与衍生作品的任何部分无关的通知。放置位置至少为以下之一。纳入作为衍生作品一部分分发的 NOTICE 文本文件中,或若与衍生作品一起提供,则纳入源代码形式或文档中,或纳入衍生作品所生成的显示界面中,前提是且仅在这些第三方通知通常出现的位置。NOTICE 文件的内容仅供信息参考,不修改本许可证。您可以在您分发的衍生作品中添加自己的署名通知,与来自该作品的 NOTICE 文本并列或作为其附录,但前提是这些附加署名通知不能被解释为对本许可证的修改。

您可以对您所做的修改添加自己的版权声明,也可以为您修改内容的使用、复制与分发,或为这些衍生作品整体提供额外的或不同的许可条款和条件,但前提是您对该作品的使用、复制与分发在本许可证其他方面符合本文所述条件。

5. 贡献的提交

除非您明确表示另有约定,您有意提交给许可方以纳入该作品的任何贡献,均按本许可证的条款和条件进行,不附加任何其他条款或条件。尽管有上述规定,本文任何内容均不取代或修改您可能已与许可方就此类贡献签署的任何单独许可协议条款。

6. 商标

本许可证不授予使用许可方商号、商标、服务标记或产品名称的权限,但为合理且惯常地描述该作品来源、以及复制 NOTICE 文件内容所必需的除外。

7. 不担保

除适用法律要求或书面约定外,许可方按 "AS IS"(现状)基础提供该作品,每位贡献者按 "AS IS" 基础提供其贡献,不作任何形式的明示或暗示保证或条件,包括但不限于关于所有权、不侵权、适销性或特定用途适用性的任何保证或条件。您独自负责判断使用或重新分发该作品的适当性,并承担因行使本许可证项下权限而相关的任何风险。

8. 责任限制

在任何情况下,无论基于何种法律理论,无论是侵权(包括过失)、合同还是其他理由,除适用法律要求(如故意和重大过失行为)或书面约定外,任何贡献者均不就您因本许可证,或因使用或无法使用该作品所产生的任何直接、间接、特殊、附带或后果性损害承担责任,此类损害包括但不限于商誉损失、工作中断、计算机故障或失灵,以及其他任何商业损害或损失,即使该贡献者已被告知此类损害的可能性。

9. 接受担保或附加责任

在重新分发该作品或其衍生作品时,您可以选择提供,并就接受此类支持、担保、赔偿或其他责任义务和/或权利收取费用,前提是它们与本许可证一致。但在接受此类义务时,您只能以自己名义、由您独自负责行事,不得代表任何其他贡献者,且仅当您同意就因您接受此类担保或附加责任而由贡献者承担的任何责任、或对其提出的任何主张,予以赔偿、抗辩并使其免受损害时。

条款和条件结束

附录。如何把 Apache License 应用到您的作品

把 Apache License 应用到您的作品,请附上下面这段样板声明,并将方括号 "[]" 内的字段替换为您自己的标识信息(不要保留方括号)。文本应按文件格式对应的注释语法包裹。我们同时建议,把文件名或类名以及用途说明放在与版权声明相同的"打印页"上,便于在第三方归档中识别。

Copyright [yyyy] [name of copyright owner]

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

小结

Apache 2.0 的核心可以用三句话概括。

它给的是双向许可。贡献者授予著作权许可,同时也授予专利许可,专利范围锁定在该贡献必然侵犯的权利要求上。

它带专利反制。一旦有人拿着这份作品提起专利侵权诉讼,其专利许可自起诉之日起终止。这是对"专利埋伏"的防御机制。

它不设传染性。修改后可以闭源分发,只需保留版权声明、许可副本和修改说明。这是它与 GPL 系列最本质的区别。

实际使用时注意两点。NOTICE 文件中的署名必须原样传递,不能删减与本作品相关部分。重新分发时保留版权声明和 LICENSE 文件,是最容易漏掉也最容易被追责的动作。

参考资料