五种开源协议的比较

上传人:工**** 文档编号:487350519 上传时间:2023-09-03 格式:DOCX 页数:3 大小:11.63KB
返回 下载 相关 举报
五种开源协议的比较_第1页
第1页 / 共3页
五种开源协议的比较_第2页
第2页 / 共3页
五种开源协议的比较_第3页
第3页 / 共3页
亲,该文档总共3页,全部预览完了,如果喜欢就下载吧!
资源描述

《五种开源协议的比较》由会员分享,可在线阅读,更多相关《五种开源协议的比较(3页珍藏版)》请在金锄头文库上搜索。

1、五种开源协议的比较(BSD, Apache, GPL, LGPL, MIT)2010-03-22 11:31当 Adobe、Microsoft、Sun 等一系列巨头开始表现出对”开源”的青睐时,” 开源”的时代即将到来!现今存在的开源协议很多,而经过 OpenSourceInitiative 组织通过批准的开 源协议目前有 58 种(http:/www.opensource.org/licenses/alphabetical)。 我们在常见的开源协议如BSD, GPL, LGPL, MIT等都是OSI批准的协议。如果 要开源自己的代码,最好也是选择这些被批准的开源协议。这里我们来看四种最常用的

2、开源协议及它们的适用范围,供那些准备开源或者使 用开源产品的开发人员/厂家参考。BSD 开源协议(original BSD license、FreeBSD license、Original BSD license)BSD 开源协议是一个给于使用者很大自由的协议。基本上使用者可以”为所欲 为”,可以自由的使用,修改源代码,也可以将修改后的代码作为开源或者专有 软件再发布。但”为所欲为”的前提当你发布使用了 BSD 协议的代码,或则以 BSD 协议代码 为基础做二次开发自己的产品时,需要满足三个条件:1. 如果再发布的产品中包含源代码,则在源代码中必须带有原来代码中的 BSD 协议。2. 如果再发

3、布的只是二进制类库/软件,则需要在类库/软件的文档和版权声 明中包含原来代码中的 BSD 协议。3. 不可以用开源代码的作者/机构名字和原来产品的名字做市场推广。BSD 代码鼓励代码共享,但需要尊重代码作者的著作权。 BSD 由于允许使用者修 改和重新发布代码,也允许使用或在 BSD 代码上开发商业软件发布和销售,因 此是对商业集成很友好的协议。而很多的公司企业在选用开源产品的时候都首选 BSD 协议,因为可以完全控制这些第三方的代码,在必要的时候可以修改或者二 次开发。ApacheLicence2.0(ApacheLicense,Version2.0、 ApacheLicense,Versi

4、on 1.1、 Apache License, Version 1.0)Apache Licence 是著名的非盈利开源组织 Apache 采用的协议。该协议和 BSD 类似,同样鼓励代码共享和尊重原作者的著作权,同样允许代码修改,再发布(作 为开源或商业软件)。需要满足的条件也和 BSD 类似:1. 需要给代码的用户一份 Apache Licence2. 如果你修改了代码,需要再被修改的文件中说明。3. 在延伸的代码中(修改和有源代码衍生的代码中)需要带有原来代码中的 协议,商标,专利声明和其他原来作者规定需要包含的说明。4. 如果再发布的产品中包含一个 Notice 文件,则在 Notic

5、e 文件中需要带有Apache Licence。你可以在Not ice中增加自己的许可,但不可以表现为 对 Apache Licence 构成更改。5. Apache Licence 也是对商业应用友好的许可。使用者也可以在需要的时 候修改代码来满足需要并作为开源或商业产品发布/销售。GPL(GNU General Public License)我们很熟悉的 Linux 就是采用了 GPL。 GPL 协议和 BSD,ApacheLicence 等鼓 励代码重用的许可很不一样GPL的出发点是代码的开源/免费使用和引用/修改 /衍生代码的开源/免费使用,但不允许修改后和衍生的代码做为闭源的商业软件

6、 发布和销售。这也就是为什么我们能用免费的各种Linux,包括商业公司的 Linux 和 Linux 上各种各样的由个人,组织,以及商业软件公司开发的免费软 件了。GPL 协议的主要内容是只要在一个软件中使用(”使用”指类库引用,修改后的 代码或者衍生代码)GPL协议的产品,则该软件产品必须也采用GPL协议,既必 须也是开源和免费。这就是所谓的”传染性”。 GPL 协议的产品作为一个单独的 产品使用没有任何问题,还可以享受免费的优势。由于 GPL 严格要求使用了 GPL 类库的软件产品必须使用 GPL 协议,对于使用 GPL 协议的开源代码,商业软件或者对代码有保密要求的部门就不适合集成/采

7、用作为类库和二次开发的基础。其它细节如再发布的时候需要伴随GPL协议等和BSD/Apache等类似。LGPL(GNU Lesser General Public License)LGPL 是 GPL 的一个为主要为类库使用设计的开源协议。和 GPL 要求任何使用/ 修改/衍生之GPL类库的的软件必须采用GPL协议不同。LGPL允许商业软件通 过类库引用(link)方式使用LGPL类库而不需要开源商业软件的代码。这使得采 用 LGPL 协议的开源代码可以被商业软件作为类库引用并发布和销售。但是如果修改 LGPL 协议的代码或者衍生,则所有修改的代码,涉及修改部分的 额外代码和衍生的代码都必须采用

8、 LGPL 协议。因此 LGPL 协议的开源代码很适 合作为第三方类库被商业软件引用,但不适合希望以 LGPL 协议代码为基础,通 过修改和衍生的方式做二次开发的商业软件采用。GPL/LGPL 都保障原作者的知识产权,避免有人利用开源代码复制并开发类似的 产品MIT(MIT)MIT 是和 BSD 一样宽范的许可协议,作者只想保留版权,而无任何其他了限制。 也就是说,你必须在你的发行版里包含原许可协议的声明,无论你是以二进制发布的还是以源代码发布的。再补一个微软的开源许可: 2005 年年底,微软把这个“共享源码许可证”一分为三(实际上是五个),即: Microsoft Permissive L

9、icense (简称 Ms-PL); Microsoft Community License (简称 Ms-CL); Microsoft Reference License (简称 Ms-RL)。其中(1) Ms-PL,最为宽松,允许用户看(View)、修改(Modify)和分发 (Redistribute)源代码,而不论出自商业用途还 是非商业用途(目的),类 似BSD许可证;(2) Ms-CL,允许用户看(View)、修改(Modify)和分发(Redistribute)源代码,但是,要求用户保证任何包含它的较 大的“作品”, 也必须按照这个许可证发布,类似GNU的GPL许可证;(3) Ms-RL,允许用户 看(View)源代码,但不许修改和分发,只许参考。因此,微软才把他叫作“微 软参考许可证”。其他两个许可证,叫作:(4) Ms-LPL;(5) Ms-LCL,其中的那个“L”,表示 “Limited”(受限制之意),要求源代码(编译之后)仅能在Windows平台上 运行。

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 学术论文 > 其它学术论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号