(转)GPL 与 BSD 授权的区别
来源:互联网 发布:电子书数据库 编辑:程序博客网 时间:2024/06/16 21:53
下文是对GPL和BSD许可的一个简单说明,可以大致了解分别是怎么回事。
原文来自:http://zhongwei-leg.iteye.com/blog/615417 by Zhongwei_leg
今天在看 trac 的介绍时,看到了这样一句话:
“Trac使用Python编程语言开发。在2005年中以前,Trac以GPL发行;直到 0.9 版开始使用修改过的BSD许可证发布。基本上都是属于自由软件的许可证。”
我还真不知道这两种许可证的区别,google 了一下,总算搞明白了。一句话,使用 Trac 的源代码将拥有很大的自由。
下面引用的资料, 来自; http://www.lslnet.com/linux/docs/linux-751.htm
我们很熟悉的Linux就是采用了GPL。GPL协议和BSD, Apache Licence等鼓励代码重用的许可很不一样。GPL的出发点是代码的开源/免费使用和引用/修改/衍生代码的开源/免费使用,但不允许修改后和衍生的代码做为闭源的商业软件发布和销售。这也就是为什么我们能用免费的各种linux,包括商业公司的linux和linux上各种各样的由个人,组织,以及商业软件公司开发的免费软件了。
GPL协议的主要内容是只要在一个软件中使用('使用'指类库引用,修改后的代码或者衍生代码)GPL 协议的产品,则该软件产品必须也采用GPL协议,既必须也是开源和免费。这就是所谓的'传染性'。GPL协议的产品作为一个单独的产品使用没有任何问题,还可以享受免费的优势。
由于GPL严格要求使用了GPL类库的软件产品必须使用GPL协议,对于使用GPL协议的开源代码,商业软件或者对代码有保密要求的部门就不适合集成/采用作为类库和二次开发的基础。
GPL 的重点在于 OpenSource ,也就是开放原始程序代码。GPL不适用于复制、发布与修改以外的行为;这些行为不在本授权范围内。执行本程序的行为并不受限制,而本程序的输出只有在其內容构成基于本程序所生的著作(而非只是因为执行本程序所造成)时,始受本授权拘束。至于程序的输出內容是否构成本程序的衍生著作,体用途。因此使用 GPL下的Linux,MySQL并没有任何问题。
其它细节如再发布的时候需要伴随GPL协议等和BSD/Apache等类似。
BSD开源协议(original BSD license、FreeBSD license、Original BSD license)
BSD开源协议是一个给于使用者很大自由的协议。基本上使用者可以'为所欲为',可以自由的使用,修改源代码,也可以将修改后的代码作为开源或者专有软件再发布。
但'为所欲为'的前提当你发布使用了BSD协议的代码,或则以BSD协议代码为基础做二次开发自己的产品时,需要满足三个条件:
如果再发布的产品中包含源代码,则在源代码中必须带有原来代码中的BSD协议。
如果再发布的只是二进制类库/软件,则需要在类库/软件的文档和版权声明中包含原来代码中的BSD协议。
不可以用开源代码的作者/机构名字和原来产品的名字做市场推广。
BSD 代码鼓励代码共享,但需要尊重代码作者的著作权。BSD由于允许使用者修改和重新发布代码,也允许使用或在BSD代码上开发商业软件发布和销售,因此是对商业集成很友好的协议。而很多的公司企业在选用开源产品的时候都首选BSD协议,因为可以完全控制这些第三方的代码,在必要的时候可以修改或者二次开发。 BSDLicense 相较于 GPL 的严格,BSD License 就宽松许多了,一样是需要附上 license的宣告文件,却不需要提供原始程序代码,可以只以执行文件或二进制文件(binary form)提供给别人,感觉有点像前面提到的 freeware一样,只是多了个 license,不过比较有趣的是,它还要求将所有程序发展者的版权资料放上去,所以拿到以 BSD License发行的软件可能会遇到一个小状况 -license
占的空间比程序还大- :p 所以,有改变过的 BSD License ,如 FreeBSD 所用的 FreeBSD License ,跟 BSD License 一样,只是少了那些广告条约。
余略
- (转)GPL 与 BSD 授权的区别
- GPL与BSD的区别
- GPL与BSD License的区别
- GPL与BSD License的区别
- GPL与BSD License的区别
- GPL与BSD许可证的区别
- GPL BSD license 区别
- GPL BSD license 区别
- 开源协议MIT、GPL、LPGL、BSD、MIT的区别
- 简述BSD协议和GPL协议的区别
- MIT,GPL,LGPL,BSD等开源许可的区别
- GPL 和BSD和Apache之间的区别和联系
- 许可证 MIT、GPL、BSD、Mozilla、Apache和LGPL的区别
- 开源授权协议(GPL,LGPL,BSD,Apache Licence,MIT等)
- (转)五种开源协议的比较(BSD,Apache,GPL,LGPL,MIT)
- 五种开源协议的比较(BSD,Apache,GPL,LGPL,MIT)
- 五种开源协议的比较(BSD, Apache, GPL, LGPL, MIT)
- 五种开源协议的比较(BSD, Apache, GPL, LGPL, MIT)
- NSInvocation的使用
- 从一个程序员转变为项目经理的蜕变
- 第一个Java程序经常出现的问题(二)
- openwrt: Makefile 框架分析
- java代码优化方案
- (转)GPL 与 BSD 授权的区别
- NSValue
- IOS 使用ASIHttpRequest 或 MKNetworkKit 上传图片到ASP.NET
- 内核的几个内存动态申请函数
- 正则表达式面试题:32fdsfd8fds0fdsf9323k32k中找出3280932332
- 用jsp实现随机验证码
- GLOG的改写
- Unique Binary Search Trees II - Leetcode
- “人脉投资”的10条建议