写点什么

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

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

关注

评论

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

Dxitco德西科跟单社区首创CHATGPT人工+AI双重大数据分析机制

科技热闻

防范直播网站源码搭建多重问题的背后重要功能_山东布谷科技创作

山东布谷科技

软件开发 直播 源码搭建 直播源码 直播网站源码

功能更新|Leangoo领歌敏捷工具支持SAFe大规模敏捷框架

顿顿顿

敏捷开发 敏捷项目管理 scrum敏捷工具 SAFe框架 SAFe大规模敏捷

Excel 高阶使用(含 ChatGPT)与数据可视化

Data 探险实验室

数据分析 Excel 数据可视化 可视化工具 ChatGPT

技术速览|Meta Llama 2 下一代开源大型语言模型

SEAL安全

meta openai backstage mata llama

AIGC技术展望和机会 | 社区征文

AIWeker

AIGC Stable Diffusion MidJourney 年中技术盘点

代码随想录 Day22 - 二叉树(八)

jjn0703

docker简介与背景知识

timerring

Docker

火山引擎DataLeap如何解决SLA治理难题(三): 平台架构与未来展望

字节跳动数据平台

大数据 数据中台 数据治理 数据安全 企业号 7 月 PK 榜

在 Go 语言单元测试中如何解决 HTTP 网络依赖问题

江湖十年

单元测试 HTTP Go 语言

2023-07-23:给你 n 个任务和 m 个工人 每个任务需要一定的力量值才能完成 需要的力量值保存在下标从 0 开始的整数数组 tasks 中 第 i 个任务需要 tasks[i] 的力量才能完

福大大架构师每日一题

福大大架构师每日一题

成都站丨阿里云 Serverless 技术实战营邀你来玩!

阿里巴巴云原生

阿里云 Serverless 云原生

云原生网关部署新范式丨 Higress 发布 1.1 版本,支持脱离 K8s 部署

阿里巴巴云原生

阿里云 云原生 Higress

统一观测丨使用 Prometheus 监控 Cassandra 数据库最佳实践

阿里巴巴云原生

阿里云 云原生 Prometheus

Dubbo Triple 协议重磅升级:支持通过 HTTP 连通 Web 与后端微服务

阿里巴巴云原生

阿里云 云原生 dubbo

如何评价一种框架技术的好坏?

canonical

低代码 架构设计 软件设计原则 ORM框架 开源框架

《Spring6核心源码解析》已完结,涵盖IOC容器、AOP切面、AOT预编译、SpringMVC,面试杠杠的!

冰河

Java spring 程序员 架构师 源码解析

时光“摆渡者”,让回忆“闪现”眼前

脑极体

2023 云原生编程挑战赛火热报名中!导师解析 Serverless 冷启动赛题

阿里巴巴云原生

阿里云 Serverless 云原生

关于云平台虚拟机核心组件 libvirt 热迁移流程及关键参数介绍 | 龙蜥技术

OpenAnolis小助手

开源 虚拟机 龙蜥大讲堂 浪潮数据 热迁移

vscode配置gitbash终端

芯动大师

代码随想录Day25 - 回溯(二)

jjn0703

Nautilus Chain 主网上线,Zepoch 持有者将获第三轮 POSE 空投

BlockChain先知

全国独家线下面授 | 上海大规模敏捷LeSS认证9月7-9日

ShineScrum

less 大规模敏捷 大规模敏捷LeSS CLP

不止工具:音视频开发「利器」的新机遇

阿里云CloudImagine

云计算 音视频 视频云

Ceph社区上游正式合入openEuler原生支持,并通过CI持续验证

openEuler

Linux 分布式 操作系统 Ceph openEuler

具身智能,是机器人的“冷饭热炒”吗?

脑极体

AI

代码随想录训练营Day24 - 回溯(一)

jjn0703

对比 5 个开源网关项目,这家 SaaS 企业如何统一网关架构

阿里巴巴云原生

阿里云 微服务 云原生 SaaS

从互联网到云时代,Apache RocketMQ 是如何演进的?

阿里巴巴云原生

Apache 阿里云 RocketMQ 云原生

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