首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

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

我们在常见的开源协议如BSD, GPL, LGPL,MIT等都是OSI批准的协议。如果要开源自己的代码,最好也是选择这些被批准的开源协议。...GPL(GNU General Public License) 我们很熟悉的Linux就是采用了GPLGPL协议和BSD, Apache Licence等鼓励代码重用的许可很不一样。...GPL协议的主要内容是只要在一个软件中使用(”使用”指类库引用,修改后的代码或者衍生代码)GPL 协议的产品,则该软件产品必须也采用GPL协议,既必须也是开源和免费。这就是所谓的”传染性”。...由于GPL严格要求使用了GPL类库的软件产品必须使用GPL协议,对于使用GPL协议的开源代码,商业软件或者对代码有保密要求的部门就不适合集成/采用作为类库和二次开发的基础。...和GPL要求任何使用/修改/衍生之GPL类库的的软件必须采用GPL协议不同。LGPL 允许商业软件通过类库引用(link)方式使用LGPL类库而不需要开源商业软件的代码。

90110

2018-09-07 几种开源协议的比较(BSD,Apache,GPL,LGPL,AGPL,MIT) – 整理几种开源协议的比较(BSD,Apache,GPL,LGPL,AGPL,MIT) – 整理

我们在常见的开源协议如BSD, Apache, GPL, LGPL, MIT等都是OSI批准的协议。如果要开源自己的代码,最好也是选择这些被批准的开源协议。...GPL(GNU General Public License)通用性公开许可证 我们很熟悉的Linux就是采用了GPLGPL协议和BSD, Apache Licence等鼓励代码重用的许可很不一样。...GPL协议最主要的几个原则: 确保软件自始至终都以开放源代码形式发布,保护开发成果不被窃取用作商业发售。...和GPL要求任何使用/修改/衍生之GPL类库的的软件必须采用GPL协议不同。LGPL允许商业软件通过类库引用(link)方式使用LGPL类库而不需要开源商业软件的代码。...GPL/LGPL都保障原作者的知识产权,避免有人利用开源代码复制并开发类似的产品 AGPL 协议(Affero General Public License) GPL(2.x ~ 3.x) 协议还有一个非常大的

1.7K20
您找到你想要的搜索结果了吗?
是的
没有找到

四种常见软件开源协议介绍-GPL、LGPL、BSD、Apache区别

今天介绍四种常见的开源软件协议GPL(GNU General Public License)LGPL(GNU Lesser General Public License)BSD(Berkerley...Software Distribution)Apache License 1、GPL GPL的出发点是代码的开源/免费使用和引用/修改/衍生代码的开源/免费使用,但不允许修改后和衍生的代码做为闭源的商业软件发布和销售...GPL的“传染性”在于:只要在一个软件中使用(”使用”指类库引用,修改后的代码或者衍生代码)GPL 协议的产品,则该软件产品必须也采用GPL协议,既必须也是开源和免费。...我们所熟悉的Linux就是采用了GPL。 2、LGPL LGPL是GPL的一个为主要为类库使用设计的开源协议。...当使用了BSD协议的代码,或者以BSD协议代码为基础做二次开发自己的产品时,需要满足三个条件: 如果再发布的产品中包含源代码,则在源代码中必须带有原来代码中的BSD协议;如果再发布的只是二进制类库/软件

5.7K91

GNU和GPL

他开发了GCC、GDB、GNU Emacs,同时编写了GNU通用公共许可协议。 为了创建一个完全由免费软件组成的类Unix计算机操作系统,斯托曼在1983年9月推出了GNU项目。...三、GPL介绍 GNU通用公共许可协议(英语:GNU General Public License,缩写GNU GPLGPL),是被广泛使用的自由软件许可证,给予了终端用户运行、学习、共享和修改软件的自由...GPL是一个Copyleft许可证,这意味着派生作品只能以相同的许可条款分发。 GPL是第一个普遍使用的Copyleft许可证。...历史上,GPL许可证系列一直是自由和开源软件领域最受欢迎的软件许可之一。...GPL历史 GPLv1:GPL版本1,即最初的版本,发布于1989年一月 GPLv2:发布于1991年6月,这个版本一直延续到1999年,并分支出一个派生的LGPL版本号为2.1,并将其重命名为轻量级通用公共许可证

98410

这6种开源协议(GPL,LGPL,BSD,MIT,Apache)的说明和选择

3,开源协议(GPL,LGPL,BSD,MIT,Apache)的说明 3.1 BSD开源协议 BSD开源协议是一个给于使用者很大自由的协议。...3.3 GPL 我们很熟悉的Linux就是采用了GPLGPL协议和BSD, Apache Licence等鼓励代码重用的许可很不一样。...GPL协议的主要内容是只要在一个软件中使用(”使用”指类库引用,修改后的代码或者衍生代码)GPL 协议的产品,则该软件产品必须也采用GPL协议,既必须也是开源和免费。这就是所谓的”传染性”。...由于GPL严格要求使用了GPL类库的软件产品必须使用GPL协议,对于使用GPL协议的开源代码,商业软件或者对代码有保密要求的部门就不适合集成/采用作为类库和二次开发的基础。...其它细节如再发布的时候需要伴随GPL协议等和BSD/Apache等类似。 3.4 LGPL LGPL是GPL的一个为主要为类库使用设计的开源协议

18.4K20

Jono Bacon: GPL 没落了吗?

为什么 GPL 2.0 的使用率跌的这么多但是 GPL 3.0 仅仅是涨了一丁点?为什么 MIT 协议和 Apache 协议的使用率涨了那么多?...GPL 协议与商业社会 我知道我要说的可能会激怒一些 GPL 粉,所以在你们开始喷之前,我想说明的是:我支持 GPL,我也是 GPL 粉丝。...我写过的所有软件都使用的是 GPL 协议,我也是一直是积极出资支持 自由软件基金会 以及 软件自由保护组织 以及他们的工作的,我支持使用 GPL 协议。...我在这说的无关 GPL 的合法性或者 GPL 的巨大价值 —— 毫无疑问这是一个好协议 —— 我在这要说的是业内对于这个协议的看法。...尽管 GPL 是一个开源协议,但是它根本上是个自由软件协议,作为自由软件协议,它的管理以及支持是由自由软件基金会提供的。

50820

GNU GPL介绍「建议收藏」

历史 GPL由斯托曼撰写。用于GNU计划。 它以GNU Emacs、GDB、GCC的许可证的早期版本号为蓝本。 这些许可证都包括有一些GPL的版权思想。但仅针对特定的程序。...GPL版本号1就是这样,在1989年1月诞生。 到1990年时,由于一些共享库而出现了对照GPL更宽松的许可证的需求。...所以当GPL版本号2在1991年6月公布时,还有一许可证——库通用许可证(Library General Public License,简称LGPL)也随之公布,并记作“版本号2”以示对GPL的补充。...GPLv1 GPL1 GPL版本号1,即最初的版本号,公布于1989年一月,其目的是防止那些阻碍自由软件的行为。...使得加诸于您的条件(不管是由法院命令、协议或其它方式造成)与本授权规定有所冲突,他们并不免除您对于本授权规定的遵守。

80910

GPL中国第一案看GPL开源软件的商业应用

2.本案法院对GPL协议的解读存在争议 本案法院虽然认可了GPL协议的法律效力,但未深入探讨或阐述对GPL协议“传染性”的理解,对涉案三个插件是否构成独立作品,是否应受到GPL协议约束的判断规则也存在争议...v3.0协议的要求,一旦使用以GPL v3.0协议许可的开源软件,被许可人在传播GPL开源软件或其修订版本时,都应当遵守GPL协议的要求开放源代码,并同样使用GPL v3.0协议对外提供许可,允许其他人根据...因为从逻辑上来讲,一个程序需要遵循GPL协议时,附随GPL协议对外分发是一个必须履行的义务,没有按照要求将GPL协议包含在程序中对外分发则构成对GPL协议的违反,进而构成对原著作权人的权利侵犯。...如果文件夹中不包含GPL协议是认定不受GPL协议约束的因素之一,那是不是被许可人在再次分发GPL软件时都会选择不要随附GPL协议,以此规避GPL协议对某个程序的“传染性”?...首先,GPL协议的触发点是“分发distribute(GPL v2.0协议)”或“输送convey(GPL v3.0协议)”[9]。

2.6K30

自由软件许可证GPL

典型代表就是使用GPL许可证的软件。只要一个软件的许可证是GPL,那么这种软件就是自由软件,所有人都可以自由 使用。...从根本上看,自由软件和GPL许可证并不仅仅与软件有关,还与人类自由有关。 1980年,一个叫Richard Stallman的美国程序员,因为无法容忍软件私有化造成的代码封闭,而创立了GPL许可证。...GPL许可证,允许任何人观看、修改,并散播程序软件里的原始程序码,唯一条件是如果你要发布修改后的版本就要连源代码一起公布。...在GPL的序言里,清楚的写道: " 大多数软件许可证决意剥夺你的共享和修改软件的自由。对比之下,GNU通用公共许可证GPL力图保证你的共享和修改自由软件的自由。...附: * GPL许可证第二版(英文,非官方中文翻译)。 * GPL许可证第三版(英文)。 (完)

91140

开源许可证解析:从MIT到GPL

许多流行的开源项目,如Node.js、Ruby on Rails和React等,都采用了MIT许可证,这有助于促进社区的发展和创新。...GPL许可证 GNU通用公共许可证(GPL)是一种“传染性”的开源许可证,它强调了保护软件自由和开源的原则,同时要求在基于GPL许可证的代码上构建的衍生作品也必须使用相同的GPL许可证。...2.1 主要条款 GPL的主要条款包括以下几个重要要点: 2.1.1 源代码公开性 根据GPL,如果您修改了基于GPL许可的软件并进行了分发,您需要公开修改后的源代码。...然而,需要注意的是,由于GPL的“传染性”特性,如果您选择将自己的代码与基于GPL许可的代码整合,您的代码也必须遵循GPL许可证,这可能对商业应用和专有软件产生一些限制。...GPL则有更多的限制,特别是关于源代码公开和许可证传染性的规定。任何基于GPL许可证的衍生作品都必须使用GPL许可证,这确保了代码的开放性和社区合作,但也限制了在某些商业场景下的使用。

15710

腾讯支持GPL合作承诺 促进开源文化发展

近日,腾讯正式宣布加入由红帽公司发起的GPL合作承诺(GPLCooperation Commitment,承诺内容请见文末)。...遵守开源许可证和推展相关开源合规工作是重要且必要的,而借由红帽公司发起的GPL合作承诺,创造了一种更为合理且可预测的方式,实现了在促进开源社区创新的同时,也提倡开源合规的重要性与对知识产权的保护。”...GPL合作承诺是由红帽公司率先发起,拒绝以严厉的方式来执行开源许可证,旨在提升执行GPLv2 、LGPLv2 及 LGPLv2.1 开源许可证时的合理性和可预测性。...以下是腾讯的GPL合作承诺原文: Our Commitment Before filing or continuing to prosecute any legal proceeding or claim...violating the Covered License the following provisions regarding cure and reinstatement, taken from GPL

66820

Node.js - 200 多行代码实现 Websocket 协议

到网上搜罗了一番资料后用 Node.js 实现该协议,倒也没有想象中那么复杂,除去注释语句和 console 语句后,大约 200 行代码左右。本文记录了实现过程中的经验和总结。...) 操作二进制数据流,在 Node.js 中需要对 Buffer 这个类稍微熟悉些。...B、 实战 实现代码放在自己的 demos 仓库的 micro-ws 的目录 了,git clone 后本地运行,执行 node index.js 将会在 http://127.0.0.1:3000...5、总结 从刚开始决定阅读 Websocket 协议,到自己使用 Node.js 实现一套简单的 Websocket 协议,到这篇文章的产出,前后耗费大约 1 个月时间(拖延症。。。)。...在使用 Node.js 实现一遍 Websocket 协议后,就能较为深刻地理解以下知识点(理解起来一切都是那么自然而然): Websocket 是一种应用层协议,是为了提供 Web 应用程序和服务端全双工通信而专门制定的

2.5K31
领券