课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业

Eclipse基金会发布了 新版的Eclipse公共许可(Eclipse Public License,EPL),简称EPLv2 。EPL是Eclipse基金会默认使用的软件许可。此次更改涉及了部分特性,但主要目的是为了在保持和开放源代码促进会(Open Source Initiative)指南相兼容的同时,兼容GPL及更早期的许可,使其可在美国之外使用。EPLv2将替代 EPLv1 ,而EPLv1已具有13年的历史,很大程度上基于以前的通用公共许可证(CPL,Common Public License)。
为深度解读新版许可,InfoQ采访了Eclipse基金会的执行董事Mike Milinkovich,他也是开放源代码促进会的前董事会成员。Milinkovich指出:
Eclipse社区开始在物联网领域启动大量运行时项目,因此必须要链接采用GPL许可的代码并做互操作。
但是Milinkovich还补充道,EPLv2兼容GPL并不意味着所有的项目也应遵守GPL。项目牵头人可以决定一个新项目是否与GPL兼容,并有权在得到所有贡献者明确同意的条件下,后期更改在许可上的决策。
EPLv1的一个主要问题在于它是和美国立法明确关联的。确切地说,就是纽约州法律和 美国版权法案(US Copyright Act) 。一方面,与特定管辖区的关联,增加了对美国以外侵权行为提出诉讼的难度,因此可能会妨碍美国以外的开发商使用EPLv1。另一方面,要将这两个许可应用到其它相关的软件上,还存在着一些微妙的问题。
EPLv1的应用受限于先前已得到许可的代码,以及“衍生作品”(Derivative Work)。“衍生作品”是一个法律术语,简而言之, 根据美国版权法案的解释 ,“衍生作品”被定义为“采用了重映射、转换和采纳形式的所有工作”。EPLv1明确表明,“衍生作品”并不适用于与EPLv1许可的代码一并分发但是采用了不同软件许可的其它软件模块。
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。正如Milinkovich所说:
BSD许可实质上移除了EPL许可的社区友好著佐权(Copyleft)特性。EPLv2在维护了EPL著佐权规的同时,允许对GPL许可的兼容。
Milinkovich希望那些目前依然采用EPLv1许可的项目,尤其是Eclipse基金会所管理的项目,能逐渐迁移到EPLv2许可。 JUnit 5等一些项目已经使用了EPLv2许可 。但是Milinkovich指出,对于那些在Eclipse基金会管理下但当前仍未采用EPLv1许可的项目,例如 Eclipse Ceylon 和 Eclipse MicroProfile ,可根据项目自身的需要继续使用当前的软件许可。
鉴于EPLv2许可是新近推出的,因此开发人员、项目和企业依然处于适应阶段。Eclipse基金会正在创建了一个 FAQ页面 ,但是截至本文发稿时为止,FAQ依然在完善中。此外,虽然EPLv2宣称是OSI兼容的, 但它并未出现在OSI的官方网站上 。这些问题有望在不远的将来得到解决。
IT作为目前有前景、有钱景的行业,无数的人加入了这个大军当中。达内时代科技集团致力于培养几大方向中高端软件人才课程与少儿教育课程。合肥计算机培训助你一臂之力,更多免费训练营让你从零起步。
【免责声明】本文系本网编辑部分转载,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如涉及作品内容、版权和其它问题,请在30日内与管理员联系,我们会予以更改或删除相关文章,以保证您的权益!