常见的开源协议

在这个金钱就是一切的社会中存在一批崇尚自由、开源、等诸多信仰的人,并用技术将开源这件事情做到极致,这一种免费,而在英语free 除了有免费还有自由的意思,一提到免费可能大多数人会吵吵,免费就是不要钱,免费就是可以任意复制粘贴开源代码,其实并不是这样的,下面我们来看看关于开源的诸多协议 

GPL 

  记得当年oracle 收购sun的时候,mysql主要开发人也是现在MariaDB的创始人 大呼不可取,oracle会杀死mysql 其实不然,这么多年过去了,好像oracle并没有杀死mysql,mysql的生态貌似并没有收到影响,为什么呢 ? 因为GPL协议救了mysql 什么是GPL协议呢?简单的说 如果我的代码是用了开源GPL协议的,那么我的代码衍生出来的任何代码都必须使用GPL协议,好像这么说没啥感觉,假设我是oracle公司的人(拉里·埃里森) 我花了70亿买了sun 针对mysql数据库这个产品,我不能闭源,顶多不在继续开发了,但是作为mysql创始人可以重新拉一个分支继续开发虽然发行版本不能在叫mysql,换个名字而已,谁在乎呢 貌似现在MariaDB 发展的还不错

LGPL

 LGPL是GPL的一个为主要为类库使用设计的开源协议。和GPL要求任何使用/修改/衍生之LGPL类库的的软件必须采用GPL协议不同。LGPL允许商业软件通过类库引用(link)方式使用LGPL类库而不需要开源商业软件的代码。这使得采用LGPL协议的开源代码可以被商业软件作为类库引用并发布和销售。但是如果修改LGPL协议的代码或者衍生,则所有修改的代码,涉及修改部分的额外代码和衍生的代码都必须采用LGPL协议。因此LGPL协议的开源代码很适合作为第三方类库被商业软件引用,但不适合希望以LGPL协议代码为基础,通过修改和衍生的方式做二次开发的商业软件采用。GPL/LGPL都保障原作者的知识产权,避免有人利用开源代码复制并开发类似的产品

 BSD

* 1. 对于本软件源代码的再散播,必须保留上述的版权宣告、此四条件表列,以
*    及下述的免责声明。
* 2. 对于本套件二进位可执行形式的再散播,必须连带以文件以及/或者其他附
*    于散播包装中的媒介方式,重制上述之版权宣告、此四条件表列,以及下述
*    的免责声明。
* 3. 所有提及本软件功能或是本软件使用之宣传材料,都必须包还含下列之交
*    待文字:
*        “本产品内含有由柏克莱加州大学及其软件贡献者所开发的软件。”
* 4. 未获事前取得书面许可,不得使用柏克莱加州大学或本软件贡献者之名称,
*    来为本软件之衍生物做任何表示支持、认可或推广、促销之行为

APACHE

Apache Licence是著名的非盈利开源组织Apache采用的协议。该协议和BSD类似,同样鼓励代码共享和尊重原作者的著作权,同样允许代码修改,再发布(作为开源或商业软件)。需要满足的条件也和BSD类似:

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

最后附上阮一峰老师总结的流程图 想必大家会更加清楚了

不知道 老师的博客遵循什么协议 如果有侵犯 及时告知 立马删除

原文地址:https://www.cnblogs.com/qqsu007/p/11606339.html

时间: 2024-10-03 19:17:22

常见的开源协议的相关文章

了解常见的开源协议(BSD, GPL, LGPL,MIT)

一直对各种开源协议比较模糊, 特意在网上搜索了一下资料, 整理总结,以作记录 如果不喜欢长篇大论的话, 看下图就可以了 基本概念了解: 1. Contributors 和 Recipients Contributors 指的是对某个开源软件或项目提供了代码(包括最初的或者修改过的)发布的人或者实体(团队.公司.组织等),Contributors 按照参与某个软件开源的时间先后,可以分为 an initial Contributor 和 subsequent Contributors . Reci

常见的开源协议及其联系和区别

常见开源协议概览 常见开源协议有GPL.LGPL.BSD.Apache.MPL.MIT等 联系及其区别 GPL 在自由软件所使用的各种许可证之中,最为人们注意的也许是通用公开许可证(General Public License,简称GPL). GPL同其它的自由软件许可证一样,许可社会公众享有:运行.复制软件的自由,发行传播软件的自由,获得软件源码的自由,改进软件并将自己作出的改进版本向社会发行传播的自由. GPL还规定:只要这种修改文本在整体上或者其某个部分来源于遵循GPL的程序,该修改文本的

常见开源协议(整理)

开源在今天的软件业已经很普遍,但开源是否意味着使用者可以对开源后的代码为所欲为呢?答案是否定的.开源运动同样有自己的游戏规则和道德准则.不遵行这些规则不但损害开源运动的健康发展,也会对违规者造成名誉和市场上的损失,更可能陷入法律纠纷和赔偿. 1. Contributors 和 Recipients Contributors 指的是对某个开源软件或项目提供了代码(包括最初的或者修改过的)发布的人或者实体(团队.公司.组织等),Contributors 按照参与某个软件开源的时间先后,可以分为 an

开源协议(转载)

  (1)Contributors 和 Recipients Contributors 指的是对某个开源软件或项目提供了代码(包括最初的或者修改过的)发布的人或者实体(团队.公司.组织等),Contributors 按照参与某个软件开源的时间先后,可以分为an initial Contributor 和 subsequent Contributors . Recipients指的是开源软件或项目的获取者,显然,subsequent Contributors 也属于 Recipients之列. (

各类开源协议总结

各种开源协议的核心内容,主要有4点: (1)使用该软件用于何目的的权利: (2)对软件工作原理的知情权(即是否能查看软件源代码): (3)重新发布软件副本的权利: (4)改进软件并将其发布的权利. 常见的开源协议: FPL(自由公共许可证): 代表软件:mysql (1)使用权利:允许内部自由使用,但不提供技术支持:商业使用必须申请商业许可证: (2)源代码:开放: (3)分发权利:允许免费分发,但必须遵守FPL其他条款,如要求分发mysql和其派生产品的全部源代码:并与Mysql分本FPL本身

四大开源协议比较:BSD、Apache、GPL、LGPL

http://www.cnblogs.com/top5/archive/2010/07/31/1789657.html 本文参考文献:http://www.fsf.org/licensing/licenses/ 现今存在的开源协议很多,而经过Open Source Initiative组织通过批准的开源协议目前有58种.我们现在常见的开源协议如BSD, GPL, LGPL,MIT等都是OSI批准的协议.如果要开源自己的代码,最好也是选择这些被批准的开源协议. 这里我们来看四种最常用的开源协议及它

[转]各种开源协议介绍 BSD、Apache Licence、GPL V2 、GPL V3 、LGPL、MIT

现今存在的开源协议很多,而经过Open Source Initiative组织通过批准的开源协议目前有58种(http://www.opensource.org/licenses /alphabetical).我们在常见的开源协议如BSD, GPL, LGPL,MIT等都是OSI批准的协议.如果要开源自己的代码,最好也是选择这些被批准的开源协议. 这里我们来看四种最常用的开源协议及它们的适用范围,供那些准备开源或者使用开源产品的开发人员/厂家参考. BSD开源协议(original BSD li

五种开源协议的比较(BSD,Apache,GPL,LGPL,MIT)

现今存在的开源协议很多,而经过Open Source Initiative组织通过批准的开源协议目前有58种( http://www.opensource.org/licenses/alphabetical ).我们在常见的开源协议如BSD, GPL, LGPL,MIT等都是OSI批准的协议.如果要开源自己的代码,最好也是选择这些被批准的开源协议. 这里我们来看四种最常用的开源协议及它们的适用范围,供那些准备开源或者使用开源产品的开发人员/厂家参考. BSD开源协议(original BSD l

开源协议浅谈

前言 从 1985 年 Richard Stallman 成立 Free Software Found 开始, 开源就如雨后春笋,发展得如火如荼.小到java 或js 的一个组件,大到 linux 操作系统.开源软件的也从仅仅的开源自由进化到创新,编译,快速和弹性等更多的特性. 当然, 开源自由并不是说完全没有限制. 不同的开源软件对到具体的不同的开源协议. 对于私人开发者来说,可能并不关注这些协议. 但是对于软件开发公司或是要把软件商业化的个人来说,如果不在意这个,很有可能就要承担一些法律上的