写点什么

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:004626
用户头像

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

关注

评论

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

威联通(NAS)应用篇:搭建个人音乐中心

BigYoung

NAS QNAP 音乐 搭建 无损

SSH免密登录

Radix10

Linux Shell 加密 openssh SSH

B站抽奖

・ 懒ヾ

推荐几个实用的前端编辑工具VSCode插件,让你开发事半功倍,告别加班烦恼

聚客AI学院

vscode 大前端 工具软件

linux入门系列10--firewalld防火墙管理

程序员潘Sir

Linux centos 防火墙 linux运维 linux防火墙

JVM原理与实战

东哥

学习python(嵩天老师的课)

Geek_2a27b0

《八佰》,电影的价值已在真实之外

zhoo299

随笔杂谈 电影

为什么Mysql索引非得是B+树

知方可达

MySQL

TypeScript 设计模式之发布-订阅模式

Geek_z9ygea

typescript 大前端 设计模式

要老婆吗? AR一键生成的那种

程序员生活志

35岁大厂程序员被劝退!老板说:没年轻人有冲劲!真有内味了吗?

程序员生活志

程序员 职场

2020年运维行业学啥技术比较值钱?

EUSCE

DevOps 运维 运维自动化 系统运维 linux运维

两分钟给你讲清楚JavaScript中的闭包与this

在沉默中

Java 闭包

[High Performance TIDB] Leeson 01:TIDB整体架构---作业

远鹏

高性能 #TiDB

没有一个冬天不会过去!疫情当下,企业“逆势而上”必选“上云”跑道

华为云开发者联盟

云计算 新基建 华为云 企业上云 云服务器

jQuery笔记

一个坚强的小怪兽

jquery

《精益产品开发》随笔

研发管理Jojo

敏捷开发 精益思想 敏捷教练

内容审核平台助力猫爪构建健康安全的社交环境

百度大脑

人工智能 百度 百度大脑 内容审核

学习笔记

Qx

学习

深度学习框架“国货”正当时,但要警惕无差别投入的“产业陷阱”

脑极体

如何查看Django ORM执行的SQL语句

BigYoung

sql django ORM 查询

没想到,Git居然有3种“后悔药”!

Geek Tech

git git reset

MySQL-技术专题-分区表和合并表详解

码界西柚

英伟达收购ARM:双赢还是灾难?

脑极体

SkyWalking为超大规模而生

热心的朝阳群众

Skywalking 开源社区

你的面向接口编程一定对吗?

架构师修行之路

图解JavaScript——进阶篇(执行上下文、变量对象、作用域、作用域链、闭包、this、原型及原型链、事件循环等一把梭)

执鸢者

Java 大前端 函数执行 事件循环

区块链的想象,解决贫富差距

CECBC

区块链 货币 股市

深化产教融合,共育数字人才

InfoQ_967a83c6d0d7

你用对锁了吗?浅谈 Java “锁” 事

yes

Java 多线程与高并发

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