当前位置:文档之家› 开源协议

开源协议

一.每个协议分别找出一个使用该协议的开源软件。

1.GPL,全称GNU General Public License。它的主要内容为:只要在一个软件中使用(“使用”指类库引用或者修改后的代码) GPL 协议的产品,则该软件产品必须也采用GPL协议,既必须也是开源和免费。这个协议就不太适合商用软件,或者准备使用GPL开源组件

的商用项目。基于这个协议的项目,极大的提高了开源软件的数量。

采用这个协议的开源软件有:Linux、MySQL 。

2.LGPL,全称GNU Lesser General Public License 次通用公共许可协议。LGPL允许商业软件通过引用类库的方式使用LGPL组件(不直接使用源代码),这样可以不需要开源商业软件的代码。但是如果要修改原始组件的代码,则涉及修改部分的代码和基于原来代码衍生的代码都必须采用LGPL协议。LGPL不适合以LGPL协议为基础的代码进行二次开发的商业软件,但是商用软件可以采用编译后的类库引用就不需要公开源代码了。

采用这个协议的开源软件有:JBoss、FCKeditor 、Hibernate。

3. BSD,全称Berkeley Software Distribution。这个协议允许使用者修改和重新发布代码,也允许使用或在BSD代码基础上开发商业软件发布和销售,因此是适用于商业软件

的。

∙使用时还必须做到满足三个条件:

1)如果再发布的产品中包含源代码,则在源代码中必须带有原来代码中的BSD协议。

2)如果再发布的只是二进制类库/软件,则需要在类库/软件的文档和版权声明中包含原来代码中的BSD协议。

3)不可以用开源代码的作者/机构名字和原来产品的名字做市场推广。

∙适用BSD协议的开源软件有:nginx、CruiseControl、Redis。

4 MIT,源自麻省理工学院(Massachusetts Institute of Technology, MIT),又称X11协议。

MIT与BSD类似,但是比BSD协议更加宽松,是目前最少限制的协议。这个协议唯一的条件就是在修改后的代码或者发行包包含原作者的许可信息。适用商业软件。使用MIT的软件项目有:jquery、Node.js。

5. apache Licence vesion 2.0,这个协议除了为用户提供版权许可之外,还有专利许

可。与BSD协议权限类似,允许代码修改,再发布,适用商业软件

使用apache Licence vesion 2.0协议的开源软件有:Hadoop 、apache httpserver、Spring Framework、MongoDB 。

6. Creative Commons 知识共享协议

Creative Commons (CC) 许可协议并不能说是真正的开源协议,它们大多是被使用于设计类的工程上。CC 协议种类繁多,每一种都授权特定的权利。一个CC 许可协议具有四个基本部分,这几个部分可以单独起作用,也可以组合起来。下面是这几部分的简介:

署名

作品上必须附有作品的归属。如此之后,作品可以被修改,分发,复制和其它用途。

相同方式共享

作品可以被修改、分发或其它操作,但所有的衍生品都要置于CC许可协议下。

非商业用途

作品可以被修改、分发等等,但不能用于商业目的。但语言上对什么是商业的说明十分含糊不清(没有提供精确的定义),所以你可以在你的工程里对其进行说明。例如,有些人简单的解释非商业为不能出售这个作品。而另外一些人认为你甚至不能在有广告的网站上使用它们。还有些人认为商业仅仅指你用它获取利益。

禁止衍生作品

这意味着你可以复制和分发它们,但你不能以任何方式修改它们,或基于它们进行二次创作

使用该协议的开源软件有mission

二.如果自行开发一个软件,允许别人在你的基础上继续衍生,但不能被商用,我会选择GPL协议。

如果能被商用,我会选择用MIT协议。这个协议唯一的条件就是在修改后的代码或者发行包包含原作者的许可信息。适用商业软件。

相关主题