blog » OpenSource » EPL协议简介

EPL协议简介

EPL (Eclipse Public License 1.0 ) 允许Recipients任意使用、复制、分发、传播、展示、修改以及改后闭源的二次商业发布。

使用EPL协议,需要遵守以下规则:

  1. 当一个Contributors将源码的整体或部分再次开源发布的时候,必须继续遵循EPL开源协议来发布,而不能改用其他协议发布,除非你得到了原“源码”Owner 的授权;
  2. 2. EPL协议下,你可以将源码不做任何修改来商业发布。但如果你要发布修改后的源码,或者当你再发布的是Object Code的时候,你必须声明它的Source Code是可以获取的,而且要告知获取方法;
  3. 3. 当你需要将EPL下的源码作为一部分跟其他私有的源码混和着成为一个Project发布的时候,你可以将整个Project/Product以私人的协议发布,但要声明哪一部分代码是EPL下的,而且声明那部分代码继续遵循EPL;
  4. 4. 独立的模块(Separate Module),不需要开源。

要点:商业软件可以使用,也可以修改EPL协议的代码,但要承担代码产生的侵权责任。

基本概念

1.Contributors 和 Recipients

Contributors(贡献者)
指的是对某个开源软件或项目提供了代码(包括最初的或者修改过)的人或实体(退队、公司、组织等)。

按照贡献的先后可分为”创始人”(an initial Contributor)和”参与者”(subsequent Contributors)。

Recipients(获取者)
指的是开源软件或项目的使用者。显然,subsequent Contributors也属于Recipients之列。

2.Source Code 和 Object Code
Source Code
指的是由各种语言写成的源代码 。

Object Code
指的是Source Code经过编译后,生成的类似“类库”一样的,提供了各种接口供他人使用的目标代码 (就如,DLL、JAR等)。

3.Derivative Module 和 Separate Module

Derivative Module(衍生模块)
指的是,依托或包含“最初的”或者“从别人处获取的”开源代码而产生的代码,是对“源代码模块”的增强、改善和延续。

Separate Module(独立模块)
指的是,参考或借助“源代码”开发出来的独立的,不包含、不依赖于原“源代码模块”的功能模块。

This post has already been read 5454 times!

Related posts

RSS 2.0 | leave a response | trackback

发表评论