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的官方网站上。这些问题有望在不远的将来得到解决。

\\

查看英文原文: Eclipse Foundation Renews the Eclipse Public License

Eclipse更新了Eclipse公共许可(EPL)相关推荐

  1. 成功让Eclipse更新ADT的方法

    [本文转载自]http://blog.csdn.net/yihui8/article/details/8044426 原文:配置android开发环境eclipse获取ADT获取不到 https:// ...

  2. 使用Eclipse Installer安装Eclipse

    使用Eclipse Installer安装Eclipse 由于一些原因,需要重新安装Eclipse,登陆到Eclipse官网下载Eclipse时发现社区又推出了Eclipse Installer.所以 ...

  3. GNU通用公共许可协议--GPLV3中文翻译

    第三版,2007年6月29日 版权所有 © 2007 自由软件基金会 http://fsf.org/ 任何人皆可复制和发布本协议的完整副本,但不得修改 [译者声明] This is an unoffi ...

  4. Eclipse+ GNU ARM Eclipse Plug-in+ Sourcery G++ Lite Edition for ARM+OPENCD+Jlink的开源开发环境。

    Eclipse+ GNU ARM Eclipse Plug-in+ Sourcery G++ Lite Edition for ARM+OPENCD+Jlink的开源开发环境. 具体介绍: Eclip ...

  5. Eclipse+ GNU ARM Eclipse Plug-in+ Sourcery G++ Lite Edition for ARM+OPENCD+Jlink的开源开发环境

    作者:emouse 转自:http://blog.csdn.net/haozi_1989/article/details/6023242 Eclipse+ GNU ARM Eclipse Plug-i ...

  6. Eclipse+ GNU ARM Eclipse Plug-in+ Sourcery G++ Lite Edition for ARM+OPENCD+Jlink

    这两天在尝试着搭建Eclipse+ GNU ARM Eclipse Plug-in+ Sourcery G++ Lite Edition for ARM+OPENCD+Jlink的STM32开发环境, ...

  7. eclipse oxygen java7,Eclipse Oxygen:M7重点在于可用性

    [IT168 评论]4.7版本是EclipseOxygen的第七个里程碑.跟以前的版本不同,其重点主要是使Java开发工具(JDT)和插件开发环境(PDE)更优秀,而M7的重点在于可用性,平台也有一些 ...

  8. linux下eclipse开发storm,eclipse 通过maven 开发storm项目

    window系统安装java 这里下载jdk8....... 配置环境变量 1.安装完成后,右击"我的电脑",点击"属性",选择"高级系统设置&quo ...

  9. Eclipse插件AngularJS Eclipse 1.2.0离线安装包

    分享Eclipse插件AngularJS Eclipse 1.2.0离线安装包下载与安装 (发现eclipse在线安装AngularJS总是超时失败!!!) 1.下载完后把压缩包解压到一个目录. 2. ...

最新文章

  1. php中strtotime(date,js模仿php中strtotime()与date()函数实现方法
  2. python if语句多个条件-python if条件判断语句
  3. java中动态代理实现机制
  4. linux手机投屏软件,无线投屏器如此多,到底哪一种才合适企业用?
  5. 很抱歉,博主 AFO 了
  6. 大数据和BI商业智能有何区别?有何相关?
  7. CKEditor4x word导入不保存格式的解决方案
  8. 开坑,写点Polymer 1.0 教程第2篇(上)——hello world篇
  9. 【C语言】02-第一个C程序
  10. IT行业职位分为六大类
  11. u盘安装红旗linux操作系统,如何用u盘安装红旗linux?
  12. Carbon —— 代码分享利器
  13. b区机械考研哪些院校比较好考?
  14. Android开发中Html.fromHtml(String source)方法过时的替代方法
  15. ES8 - async 和 await
  16. 抖音计算机音乐你要我,抖音你若中意我我就中意你是什么歌 完整版歌曲分享...
  17. 大数据分析工程师面试集锦5--Spark面试指南
  18. 【PS技巧】如何校正倾斜的图片
  19. 父子组件的生命周期执行顺序
  20. 前端炫酷登录页,拿来就能用

热门文章

  1. GitHub上不错的Android开源项目(三)
  2. 如何用语音模块SYN6288播报DHT11温湿度传感器传回来的数值
  3. 顶级IT企业 Sign-on Bonus 大比拼
  4. 基于Matlab模拟偶极子天线设计
  5. 程序媛是怎样找老公的(2018版)
  6. 进入docker容器后,按删除键是空格解决办法
  7. 宫敏把自由软件和 Linux 带回中国
  8. crond atd 定时处理
  9. 【C++从0到1】7.C++中标识符的命名
  10. Fiddler实现手机抓包——风云无忌