写点什么

Eclipse 更新了 Eclipse 公共许可(EPL)

  • 2017-09-19
  • 本文字数:1481 字

    阅读完需:约 5 分钟

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

2017-09-19 19:004254
用户头像

发布了 391 篇内容, 共 143.8 次阅读, 收获喜欢 257 次。

关注

评论

发布
暂无评论
发现更多内容

aPaaS是什么(aPaaS与iPaaS的区别)

优秀

aPaaS ipaas

构建基于 Ingress 的全链路灰度能力

阿里巴巴云原生

阿里云 微服务 云原生w

新时代冠军企业成功硬道理:人效管理与可组装式HCM SaaS

ToB行业头条

三年后端开发:拿下阿里/腾讯/美团等四个大厂的Offer后,总结如下

钟奕礼

Java Java 面试 程序员‘ java 编程

MegEngine Inference 卷积优化之 Im2col 和 winograd 优化

MegEngineBot

深度学习框架 卷积 MegEngine

Lattice - 面向高可扩展的业务框架

原力在线

架构 中台 插件 lattice 业务平台分离

蓝鲸研运体系在腾讯内是如何应用实践的?

嘉为蓝鲸

运维 智能运维AIOps

企业想要高效运营,还需要选择瓴羊Quick BI软件

流量猫猫头

大数据

跟误告警说再见,Smart Metrics 帮你用算法配告警

阿里巴巴云原生

阿里云 云原生 Grafana

图计算的黄金时代 知识图谱背后的数据价值

Neo4j 图无处不在

neo4j 图数据库 知识图谱 图计算 图技术

嘉为科技宋蕴真:观测不止于监控,让运维不开盲盒

嘉为蓝鲸

运维 智能运维AIOps

2023 重学 Angular

PingCode研发中心

前端框架

关于不法分子冒用我司名义虚假招聘的严正声明

嘉为蓝鲸

SpringMVC常用注解

@下一站

软件开发 程序 Java‘’ 11月月更

springboot整合canal

@下一站

Java 程序开发 spring-boot 11月月更

火爆全球的“饺子皮”3D手办原来是这样做的!关键时刻少不了远程控制软件!

RayLink远程工具

远程控制软件 远程办公软件 远控软件 远程桌面连接 RayLink

8年程序员年初被迫毕业,前后面试30家公司,如今终于上岸

Java永远的神

程序人生 后端 java程序员 java面试 面经分享

SAP MM 使用两个STO实现免关税跨国公司间转储

SAP虾客

重磅 | 九科信息与达梦完成产品兼容性认证,携手共建信创生态

九科Ninetech

MyBatis resultMap元素的用途是什么呢?

@下一站

技术 mybatis java; 11月月更

精彩回顾 | 云原生系统软件的产业应用

BoCloud博云

云原生

ModelWhale 教学实训模块,更流畅的作业编写及提交体验|ModelWhale 版本更新

ModelWhale

人工智能 机器学习 数据分析 编程建模 教学实训

Spring MVC 和 Struts 的区别是什么?

千锋IT教育

对话Neo4j首席科学家Jim Webber:图数据库江湖5年后将尘埃落定

Neo4j 图无处不在

neo4j 图数据库 知识图谱 非关系型数据库 图技术

10月&11月书单

图灵社区

书单推荐

基于云原生技术的融合通信是如何实现的?

阿里云CloudImagine

阿里云 云通信

阿里云洛神云网络集中式网关丨技术解读与产品实践

云布道师

云网络

10 个杀手级的 Python 自动化脚

千锋IT教育

RocketMQ 的消费者类型详解与最佳实践

阿里巴巴云原生

阿里云 RocketMQ 云原生

互联网企业面试必问Spring源码?搞定Spring源码,看完这篇就够了

钟奕礼

Java java面试 java编程 程序员‘

腾讯云原生容器服务发布三大新能力,创新自研技术助力企业降本增效

科技热闻

Eclipse更新了Eclipse公共许可(EPL)_Java_Abraham Marín Pérez_InfoQ精选文章