`
Zhongwei_leg
  • 浏览: 557611 次
  • 性别: Icon_minigender_1
  • 来自: 珠海
社区版块
存档分类
最新评论

GPL 与 BSD 授权的区别

阅读更多
文章转载自 大象笔记

http://www.sunzhongwei.com


今天在看 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协议发布的项目,虽然代码作者有著作权,面对引用其代码而不声明的有控告的权利,但是一旦开源,集成了那么多人的工作之后,就不能完全被他支配,特别是针对现在很多开源最后变成闭源的情形,要有一个比较合理的对原作者的约束,俺的建议:如果作者在后继发展中变成了闭源,对已开源的部分就自动的放弃了其著作权。

不管什么开源协议,不知道加上这样一条是否合适:商业软件对其代码的引用,不放弃索要他那部分代码产生的收益的权利,并且商业软件公司有义务对其收益合理的分一部分给该开源项目。

这里改动的几点,有个地方不好分辨,就是商业软件的引用,涉及到的模块的界限,在这里具体范围很难界定,但是至少是引用代码的超集,这样的模糊地带就像阴阳的交界,就让他有,开源和闭源,就像阴和阳,利用好了会互生,谁也别想把谁吃掉。
3
0
分享到:
评论
2 楼 enlangs 2012-06-18  
liuming 写道
很好很强大。楼主有没有研究过LGPL协议和MIT协议?能不能再讲解一下?

LGPL要求你修改后的任何源代码有必需“反馈给官方”,有官方统一发布,他相对于GPL而言,只是约束了个体能自由修改和但不能自由发布。
1 楼 liuming 2010-03-15  
很好很强大。楼主有没有研究过LGPL协议和MIT协议?能不能再讲解一下?

相关推荐

    五种开源协议(GPL,LGPL,BSD,MIT,Apache)介绍

    本文将深入探讨五种主要的开源协议:GPL、LGPL、BSD、MIT和Apache。 首先,GPL(GNU General Public License)是最具影响力的开源协议之一,它确保了软件的“copyleft”属性,即如果软件的任何部分被用于其他项目,...

    BSD-APACHE-GPL-LGPL-MIT.rar_mit gpl

    首先,BSD(Berkeley Software Distribution)协议源于加州大学伯克利分校,其主要特点是宽松的授权条件。它允许用户自由地使用、修改源代码,甚至用于商业项目,但要求在使用或分发时保留原始作者的版权信息。BSD...

    linux与BSD不能系统混为一谈.pdf

    首先,从许可证方面看,Linux 操作系统是基于 GPL 许可证 授权下的,而 BSD 系统的许可证限制要少得多,允许二进制包成为唯一的发行源。GPL 许可证的目的是防止二进制包成为唯一的软件发行源,而 BSD 许可证并不要求...

    各操作系统开源授权许可协议.docx

    常见的开源授权许可协议有GPL、LGPL、Apache、BSD等。每种协议都有其特点和要求,对于开发者来说,了解这些协议非常重要。 GPL协议 GPL(General Public License)是一种常见的开源授权许可协议。它是由Richard ...

    常用开源协议文本

    以下是对五个主要开源协议——LGPL、GPL、MIT、Apache 2.0和BSD的详细解读。 1. LGPL (GNU Lesser General Public License) LGPL,全称GNU较宽松公共许可证,主要用于库和框架。与GPL相比,LGPL允许非开源项目链接...

    JAVA程序员必须了解的7大开源协议.pdf

    这意味着如果一个软件项目中包含了GPL授权的组件,那么整个项目必须也采用GPL许可证。 #### 5. LGPL (Lesser General Public License) **LGPL**(Lesser General Public License) 即较弱版本的GPL,适用于某些特定...

    五种开源许可证的比较

    - **社区支持与保护**:GPL和LGPL许可证通过强制开源的方式保护了开源社区的利益,对于那些希望维护开源精神的企业来说是不错的选择。 - **灵活性**:MIT许可证因其极其宽松的特点而受到欢迎,特别适合那些希望最大...

    UNIX系统的注册机

    2. **软件授权协议**:UNIX系统软件大多遵循特定的许可协议,如GPL、BSD或商业许可。了解这些协议的条款对于合法使用软件至关重要。 3. **系统初始化**:在安装过程中,UNIX系统可能会要求输入有效的许可证密钥或...

    gnucash-5.4.setup.exe 免费财务软件

    GnuCash多语言版是一款可以用于个人或小型企业的免费财务软件,免费授权于 GNU GPL 软件,它支持多种操作系统,包括 GNU/Linux、BSD、Solaris、Mac OS X 以及微软 Windows。支持多国语言,当然还少不了简体中文。...

    免费开源财务记账软件gnucash v4.1版 win 2020年8月版

    GnuCash多语言版是一款可以用于个人或小型企业的免费财务软件,免费授权于 GNU GPL 软件,它支持多种操作系统,包括 GNU/Linux、BSD、Solaris、Mac OS X 以及微软 Windows。支持多国语言,当然还少不了简体中文。...

    免费开源财务记账软件gnucash v3.4版 win

    GnuCash多语言版是一款可以用于个人或小型企业的免费财务软件,免费授权于 GNU GPL 软件,它支持多种操作系统,包括 GNU/Linux、BSD、Solaris、Mac OS X 以及微软 Windows。支持多国语言,当然还少不了简体中文。...

    免费开源财务记账软件gnucash v3.10版 win 2020年4月版

    GnuCash多语言版是一款可以用于个人或小型企业的免费财务软件,免费授权于 GNU GPL 软件,它支持多种操作系统,包括 GNU/Linux、BSD、Solaris、Mac OS X 以及微软 Windows。支持多国语言,当然还少不了简体中文。...

    免费开源财务记账软件gnucash v4.0版 win 2020年6月版

    GnuCash多语言版是一款可以用于个人或小型企业的免费财务软件,免费授权于 GNU GPL 软件,它支持多种操作系统,包括 GNU/Linux、BSD、Solaris、Mac OS X 以及微软 Windows。支持多国语言,当然还少不了简体中文。...

    UNIX和LINUX的区别

    5) **BSD分支**:尽管本文主要讨论UNIX和Linux,但值得一提的是,BSD(Berkeley Software Distribution)也是一种源自UNIX的开源操作系统。经过多次分裂和演化,产生了FreeBSD、OpenBSD和NetBSD等分支,它们在许可证...

    tiled-qt-0.6.0-win32

    2. **COPYING.txt**:这个文件通常包含软件的授权信息,可能是指遵循GPL(GNU General Public License)或BSD(Berkeley Software Distribution)等开源许可证。这决定了软件的使用、分发和修改规则。 3. **...

    Linux基础知识扩展.docx

    1. GNU GPL(GNU General Public License,GNU 通用公共许可证):只要软件中包含了遵循 GPL 协议的产品或代码,该软件就必须也遵循 GPL 许可协议,也就是必须开源免费,不能闭源收费。 2. BSD(Berkeley Software ...

    Java 全栈知识点问题汇总(16).pdf

    在开源协议方面,主要讨论了MIT、Apache、BSD、GPL和LGPL这五种最常见的协议。MIT协议非常宽松,允许自由使用、修改和分发,只要保留原作者的版权声明即可。Apache协议类似于MIT,但增加了专利授权条款,保护用户免...

    qt培训简单入门培训

    - **GNOME的兴起**:面对KDE/Qt的授权问题,Miguel De Icaza领导了一群开发者于1997年启动了GNOME项目(GNU Network Object Environment),以创建一个完全遵循GPL许可的桌面环境。相比之下,GNOME使用的是GTK+,而...

    ttyutils

    Ttyutils遵循GPL版本2授权协议发布,这意味着您在获得Ttyutils的同时有权力获得完整的源代码。 Ttyutils的主要目标平台是GNU/Linux,开发和测试平台为Fedora7。它应该也可以在其它GNU/Linux发布系统上运行,理论上...

Global site tag (gtag.js) - Google Analytics