Eclipse公共许可证
2022-05-15 15:02:32 阿炯

Eclipse公共许可证(简称EPL)是一种开源软件发布许可证,由Eclipse基金会应用于名下的集成开发环境Eclipse上。EPL替代了原先的通用公共许可证(Common Public License,简称CPL),在其基础上删除了专利相关诉讼的限制条款。

EPL是为适合商业应用的自由软件所量身定制的许可证,其反著作权限定也比现时的GNU通用公共许可证(GNU GPL)等自由软件软件许可证更为松弛:在使用以EPL授权的程序时,用户有权使用、修改、复制与传播软件原始版本和修改后版本,在某些情况下则必须将修改内容一并发布。

EPL已被开放源代码促进会认可,同时亦由自由软件基金会列入自由软件许可证名单。

EPL 1.0版无法与GNU GPL相兼容,因而若有一作品为GPL授权作品和EPL授权作品混合而得,则该程序无从合法传播。究其肇因,则是GPL要求以其授权的程序的派生作品亦需完全以GPL授权(“传染性”),而且传播者不可妨碍用户行使GPL予之的权利,更不能为之附加相关的限制条件。而EPL有所不同:按EPL要求,在传播EPL授权作品派生作时,传播者有义务附上其改动所涉及的专利采用的许可证。由于这样对接受者做了“进一步限制”,从而不符合GPL的要求,因此便无法与GPL兼容。

关于EPL新版本的讨论已于2013年5月启动。另外据EPL内容,若EPL发布新版本,用户和贡献者都可以自行选择以哪一版本的EPL继续传播作品。

2017年9月发布了EPLv2,其更改涉及了部分特性,但主要目的是为了在保持和开放源代码促进会(Open Source Initiative)指南相兼容的同时,兼容GPL及更早期的许可,使其可在美国之外使用。EPLv2将替代EPLv1,而EPLv1已具有13年的历史,很大程度上基于以前的通用公共许可证(CPL,Common Public License)。EPLv2兼容GPL并不意味着所有的项目也应遵守GPL。

GPLv2和GPLv3许可所提供的权利和义务,已经扩展到那些“基于”GPL许可程序的工作,或是与GPL许可的程序“一并分发”的工作。如果要链接使用不同许可发布的代码,这一差别非常重要。根据自由软件基金会(Free Software Foundation)的主张,如果代码A链接到由GPL许可的代码B(静态或动态皆可),意味着代码A是基于代码B的;如果代码C链接到由EPLv1许可的代码D,并不会使代码C成为代码D的“衍生作品”。这就意味着,GPL的权利和义务可从代码B扩展到代码A,而EPLv1的权利和义务将不会从代码D扩展到代码C。这导致了两种许可在行为上的差异,进而也不相互兼容。

在EPLv2推出之前,项目可以通过EPLv1和Eclipse分发许可(EDL,Eclipse Distribution License)(EDL是New BSD License的一个变体)的双重许可克服这一局限。New BSD License是一种宽松软件许可(Permissive License),兼容GPL。BSD许可实质上移除了EPL许可的社区友好著佐权(Copyleft)特性。EPLv2在维护了EPL著佐权规的同时,允许对GPL许可的兼容。


开源协议v1.0原文中文翻译

Eclipse公共许可证 v1.0

随附此许可证的程序遵循Eclipse公共许可证(协议)条款。任何对该程序的使用、再发行、发布要求接受者必须接受此协议。

1.定义

“贡献”表示:

a)如果是最初贡献者,在此协议下发布的最初源代码和文档,并且

b)如果是后继贡献者,

    i)对程序所做的更改,和

    ii)对程序的增加部分

这里是对程序的更改或增加部分的起源并被那个特定的贡献者发布之处。如果一个‘贡献’通过贡献者本人或者代表贡献者利益的任何人添加到程序中,我们称一个‘贡献’来自于一个贡献者。贡献并不包括以下程序的增加部分:

    (i)和在他们自己的许可证协议下的程序共同开发的独立模块

    (ii)不是这个程序的后续工作

“贡献者”指对程序做出贡献的任何个人或实体。

“被许可的专利权”指由贡献者发布版权许可声明,不允许任何单独使用或销售该程序或者与其他程序合并的行为,否则都构成侵权。

“接受者”指接收在此协议下发布程序的任何人,包括所有的贡献者。

2.授权

a)协议条款要求,任何贡献者必须授予接受者不排他的、世界范围内、免版权费的许可权利以进行再开发、准备衍生作品,这些作品可以用来公开展览、公开演示、发布,并且这些新的贡献者按照协议发布和授权他们以源代码和结果代码形式的任何贡献和后继工作。

b)协议条款要求,任何贡献者必须授予接受者不排他的、世界范围内、免版权费的许可权利以在保护被许可的专利权情况下制作、使用、销售、提供给出售、引入等等来转移这些贡献者的以源码和结果代码形式的贡献。许可证的许可将应用于贡献的合成品,如果贡献者同时向贡献添加了新的贡献,该程序也将受到保护。这样的贡献增加部分导致这样的受到许可的专利权保护合并产品。

c)接受者应该理解:尽管每一个贡献者将都被授予本文所述的自己贡献的许可证,但任何贡献者都不能保证程序不侵犯专利权或任何其他实体的其他的知识产权权利。对于任何实体关于侵权等行为向接受者做出的诉讼请求,贡献者声明不承担任何责任。作为行使权利和许可的条件,每个接受者在此都假定拥有唯一的责任即保护任何其他需要的知识产权。例如,如果第三方专利许可必须允许接受者分发程序,那么接受者就有责任去获得在分布程序之前的那个许可证。

d)每一个贡献者都意味着无论怎样他都有关于他的贡献的足够的版权权利以给予协议中所列的版权许可。

3.要求

贡献者可以选择以遵循自己许可证协议的结果代码的形式分发程序,只要:

a)必须遵守本协议的条款和条件;和

b)许可证协议:
    i)代表贡献者有效表明不作任何担保和条件,包括冠名和不受侵权的担保和条件,以及隐含的对某一特定目的适销或适用的担保和或条件;

    ii)代表贡献者有效地排除了所有的损害赔偿责任,包括直接,间接,特殊,附带及相应的赔偿,如利润的损失;

    iii)指出任何与本协议不同的规定都是由贡献者单独提出的并不是任何其他方;和
    iv)指出程序的源代码对这样的贡献者都是可获得的,并告知被许可者如何通过用于软件交流的常用媒体以一种合理的方式获得它。

当程序以源代码的形式可获得时:

    a)它必须在此协议下可获得;并且

    b)每份程序都必须包含一份本协议

贡献者也不可以移除或变更任何包含在程序中的版权声明。

每个贡献者必须证明自己为贡献的创始人,无论如何要以一种方式使后继接受者能够适度地辨识出贡献的创始人。

4.商业发行

软件商业发布者可能要接受某些关于最终用户、商业伙伴等等的责任。当本许可证被用于程序的商业目的的时候,那些包含了以商业产品形式提供的程序的贡献者必须以一种方式确保不会对其他贡献者造成潜在的赔偿责任。因此,如果一个含有商业产品形式的程序的贡献者,这样的贡献者(称“商业贡献者”)要同意保卫每一个其他贡献者并

例如,一个贡献者可能包含了以商业形式提供的程序产品X。这个贡献者就成为了一个商业贡献者。如果这个商业贡献者接着取得了绩效索赔,或者提供与产品X相关的授权,那些绩效索赔和授权就是这样的商业贡献者的独立责任。


开源协议v2.0