常用开源协议的比较

 我们在WEB应用开发的过程中经常需要用到一些开源的库或软件,在享受开源带来的好处的同时,我们也要注意尊重原作者的劳动成果。在这过程中我们就需要了解一些常用的开源协议。常用的开源协议有GPL,LGPL,BSD,AL2.0,MIT等。我们来比较一下这些开源协议的区别。

1. GPL协议

第一点,这个协议说,我是开源的,免费的。第二点,这个协议跟我们说,不管你是用了我的代码还是用了我的二进制库,你就是跟我一样的了,也发尊守GPL协议。也就是说,如果你用了GPL协议开源的库或软件,你的软件也必需要开源,免费,不能作商业用途。

2. LGPL协议

这个协议和GPL协议略有不同,这个协议把对类库的使用单独提出来了。如果你不修改我的代码使用我的类库,那你就随便用,商用什么的我都不管。如果你要改我的代码,嘿嘿那就不好意思了,你也要遵守LGPL协议,你也要开源,免费,不能商用。

根据百度百科http://baike.baidu.com/view/606545.htm,LGPL协议并没有要求免费。

3.BSD协议

对比上面的两个协议,这个协议就比较宽松了。基本上你可以随意的修改的我代码。你要再发布的时候,只需要遵守以下三点:

◆如果再发布的产品中包含源代码,则在源代码中必须带有原来代码中的BSD协议。
◆如果再发布的只是二进制类库/软件,则需要在类库/软件的文档和版权声明中包含原来代码中的BSD协议。
◆不可以用开源代码的作者/机构名字和原来产品的名字做市场推广。

提一点的是,他不管你是否商用。

4. AL2.0协议

这个协议跟上面的BSD协议有点像,他也允许你修改别人的代码,并且也允许你作商业用途。同样的,你在发布时也要遵守以下几点规矩。

◆需要给代码的用户一份Apache Licence
◆如果你修改了代码,需要在被修改的文件中说明。
◆在延伸的代码中(修改和有源代码衍生的代码中)需要带有原来代码中的协议,商标,专利声明和其他原来作者规定需要包含的说明。
◆如果再发布的产品中包含一个Notice文件,则在Notice文件中需要带有Apache Licence。你可以在Notice中增加自己的许可,但不可以表现为对Apache Licence构成更改。

5. MIT协议

这个协议几乎没什么限制了,你可以随意修改原来的软件或库的代码,还可以重新发布或作商业用途。你只要在所有的软件副本中保留版权声明和许可声明即可。

了解了这些开源协议之后,我们在WEB应用开发过程中要尊重别人的劳动成果,遵守别人的开源协议。就像是,如果你要转发这往篇文章,那你一定要写清楚,原文来自http://www.zeroplace.cn/article.asp?id=958



文章来自: 本站原创
Tags:
评论: 0 | 查看次数: 8175