五种常见软件开源协议介绍-GPL、LGPL、BSD、Apache、MIT
几种常见的开源软件许可协议(GPL,LGPL,ApacheLicense,BSD)
![几种常见的开源软件许可协议(GPL,LGPL,ApacheLicense,BSD)](https://img.taocdn.com/s3/m/bec7656724c52cc58bd63186bceb19e8b8f6ec98.png)
⼏种常见的开源软件许可协议(GPL,LGPL,ApacheLicense,BSD)GPLGPL授予程序接受⼈以下权利,或称“⾃由”:* 以任何⽬的运⾏此程序的⾃由* 以学习程序⼯作机理为⽬的,对程序进⾏修改的⾃由(能得到源代码是前提)* 再发⾏复制件的⾃由* 改进此程序,并公开发布改进的⾃由(能得到源代码是前提)相反地,随版权所有软件的最终⽤户许可证⼏乎从不授予⽤户任何权利(除了使⽤的权利),甚⾄可能限制法律允许的⾏为,⽐如逆向⼯程。
GPL与其他⼀些更“许可的”⾃由软件许可证(⽐如BSD许可证)相⽐,主要区别就在于GPL寻求确保上述⾃由能在复制件及演绎作品中得到保障。
它通过⼀种由Stallman发明的叫copyleft的法律机制实现,即要求GPL程序的演绎作品也要在GPL之下。
相反,BSD式的许可证并不禁⽌演绎作品变成版权所有软件。
GPL不会授予许可证接受⼈⽆限的权利。
再发⾏权的授予需要许可证接受⼈开放软件的源代码,及所有修改。
且复制件、修改版本,都必须以GPL为许可证。
这些要求就是copyleft,它的基础就是作品在法律上版权所有。
由于它版权所有,许可证接受⼈就⽆权进⾏修改和再发⾏(除合理使⽤),除⾮它有⼀个copyleft条款。
如果某⼈想⾏使通常被法律所禁⽌的权利,只需同意GPL的条款。
相反地,如果某⼈发⾏软件违反了GPL(⽐如不开放源代码),他就有可能被原作者起诉。
copyleft利⽤版权法来达到与其相反的⽬的:copyleft给⼈不可剥夺的权利,⽽不是版权法所规定的诸多限制。
这也是GPL被称作“被⿊的版权法”的原因。
许多GPL软件发⾏者都把源代码与可执⾏程序捆绑起来。
另⼀⽅式就是以物理介质(⽐如CD)为载体提供源代码。
在实践中,许多GPL软件都是在互联⽹上发⾏的,源代码也有许多可以FTP⽅式得到。
copyleft只在程序再发⾏时发⽣效⼒。
对软件的修改可以不公开或开放源代码,只要不发⾏。
注意copyleft只对软件有效⼒,⽽对软件的输出并⽆效⼒(除⾮输出的是软件本⾝)。
常见开源许可证要求和禁止事项
![常见开源许可证要求和禁止事项](https://img.taocdn.com/s3/m/ad24bbb882d049649b6648d7c1c708a1284a0a23.png)
常见开源许可证要求和禁止事项开源软件许可证是指授予用户一定的权利和限制的法律文件。
它们定义了开源软件的使用、复制、修改和分发等方面的要求和禁止事项。
本文将介绍几种常见的开源许可证,并分析它们的要求和禁止事项。
1. GNU通用公共许可证(GNU General Public License,GPL)GPL是一种最为广泛使用的开源许可证。
它要求任何以GPL许可证发布的软件,无论是原版还是修改版,都必须以GPL许可证发布。
这意味着使用GPL许可证的软件必须开放源代码,并允许用户自由地使用、复制、修改和分发软件。
禁止事项:不允许将GPL许可证的软件与不兼容的许可证进行组合和分发。
2. MIT许可证MIT许可证是一种宽松的开源许可证,允许用户自由地使用、复制、修改和分发软件。
与GPL许可证不同的是,MIT许可证不要求使用它的软件必须开放源代码。
禁止事项:无。
3. Apache许可证Apache许可证是一种灵活的开源许可证,它要求用户使用Apache许可证的软件必须包含原始许可证和版权声明。
此外,Apache许可证还要求用户在修改后的软件中保留原始许可证和版权声明。
禁止事项:不允许使用Apache许可证的软件以商业方式进行分发时,删除原始许可证和版权声明。
4. BSD许可证BSD许可证是一种非常宽松的开源许可证,允许用户自由地使用、复制、修改和分发软件。
与MIT许可证类似,BSD许可证不要求使用它的软件必须开放源代码。
禁止事项:无。
5. Mozilla公共许可证(MPL)MPL是一种适用于开源软件的复杂许可证。
它要求用户在修改后的软件中保留原始许可证和版权声明,并且要求以MPL许可证发布的软件必须开放源代码。
禁止事项:不允许使用MPL许可证的软件以商业方式进行分发时,删除原始许可证和版权声明。
6. GNU宽通用公共许可证(GNU Lesser General Public License,LGPL)LGPL是一种针对库和组件的开源许可证。
Linux 开源协议
![Linux 开源协议](https://img.taocdn.com/s3/m/6ecff91e52d380eb62946db7.png)
Linux 开源协议现今存在的开源协议很多,而经过Open Source Initiative组织通过批准的开源协议目前有58种(/licenses /alphabetical)。
常见的开源协议如BSD、GPL、LGPL和MIT等都是OSI批准的协议。
如果要开源自己的代码,最好也是选择这些被批准的开源协议。
这里介绍四种最常用的开源协议及它们的适用范围,供那些准备开源或者使用开源产品的读者参考。
1.BSD开源协议(original BSD license、FreeBSD license、Original BSD license)BSD开源协议是一个给于使用者很大自由的协议。
基本上使用者可以“为所欲为”,可以自由的使用,修改源代码,也可以将修改后的代码作为开源或者专有软件再发布。
但“为所欲为”的前提当你发布使用了BSD协议的代码,或则以BSD 协议代码为基础做二次开发自己的产品时,需要满足三个条件:●如果再发布的产品中包含源代码,则在源代码中必须带有原来代码中的BSD协议。
●如果再发布的只是二进制类库/软件,则需要在类库/软件的文档和版权声明中包含原来代码中的BSD协议。
●不可以用开源代码的作者/机构名字和原来产品的名字做市场推广。
BSD代码鼓励代码共享,但需要尊重代码作者的著作权。
BSD由于允许使用者修改和重新发布代码,也允许使用或在BSD代码上开发商业软件发布和销售,因此是对商业集成很友好的协议。
而很多的公司企业在选用开源产品的时候都首选BSD 协议,因为可以完全控制这些第三方的代码,在必要的时候可以修改或者二次开发。
2.Apache Licence 2.0Apache Licence是著名的非盈利开源组织Apache采用的协议。
该协议和BSD 类似,同样鼓励代码共享和尊重原作者的著作权,同样允许代码修改,再发布(作为开源或商业软件)。
需要满足的条件也和BSD类似:●需要给代码的用户一份Apache Licence。
软件源代码授权协议
![软件源代码授权协议](https://img.taocdn.com/s3/m/d1ff9371a22d7375a417866fb84ae45c3a35c274.png)
软件授权协议1. 引言软件授权协议是指当开发者将软件的提供给他人时,规定了其他人可以使用该的条件和限制的协议。
授权协议在保护开发者的权益的同时,也为使用者提供了一定的权利和限制。
在选择授权协议时,开发者需要考虑自己的需求以及对开源社区的贡献。
下面将介绍一些常见的软件授权协议。
2. GPL(GNU General Public License)GPL是一种非常流行的开源软件授权协议,通过该协议授权的软件可以在自由和开放的条件下被复制、修改、发布和分发。
该协议要求任何使用、修改或分发该软件的人都必须将其作品以相同的授权协议继续发布。
GPL协议注重保护用户的自由,确保使用者可以自由地获取和修改软件的。
然而,使用GPL协议发布软件的开发者需要注意,任何使用和分发该软件的人都需要遵守该协议,并且将其作品以相同的开源方式继续发布。
3. MIT许可证(MIT License)MIT许可证是一种非常宽松的开源软件授权协议,允许其他人以任何方式使用、复制、修改、合并、发布、分发、销售该软件的副本。
MIT许可证允许更灵活的使用方式,使用者可以将该软件用于商业用途,而无需公开其修改的代码。
MIT许可证不要求其他人将其修改后的代码以相同方式继续发布,这使得MIT许可证成为了很多开源项目的首选授权协议之一。
4. Apache许可证(Apache License)Apache许可证是一种自由软件许可证,以Apache软件基金会命名,广泛应用于Java开发领域。
该协议允许其他人自由使用、修改和分发软件的,但要求在分发时附上原始协议和版权声明。
Apache许可证着重于确保软件的真实来源和使用者的权益,同时也促进了开发者和用户之间的合作和贡献。
5. BSD许可证(BSD License)BSD许可证是一种常见的开源软件授权协议之一。
该协议允许其他人自由使用、修改和分发软件的,无论是商业用途还是非商业用途。
与其他许可证类似,BSD许可证也要求在分发时附上原始协议和版权声明。
源代码使用许可协议
![源代码使用许可协议](https://img.taocdn.com/s3/m/a4c7d4a7f9c75fbfc77da26925c52cc58ad69074.png)
源代码使用许可协议第一种是GNU通用公共许可证(GNU General Public License,GPL),它是一种非常流行的开源许可协议。
GPL要求在使用或修改GPL 许可程序的源代码时,需要将修改的源代码同样以GPL许可协议发布。
这意味着任何基于GPL许可的软件都必须以相同的开源方式进行分发,保证了用户可以自由地使用和修改代码,并且鼓励用户将改进的代码贡献给整个开源社区,共同促进软件的发展。
第二种是MIT许可协议,它是一种相对宽松的开源许可协议。
MIT许可允许任何人在符合许可协议的情况下使用、修改和分发源代码,同时也不对基于MIT许可的软件分发做任何限制。
这使得MIT许可成为许多开源项目的首选,因为它对开发者的权利没有过多的限制,同时也确保了软件的开放性和可持续性。
此外,还有像Apache许可证、BSD许可证等一系列开源许可协议,它们都有自己的特点和适用范围。
Apache许可证允许用户使用和修改源代码,并可以将修改后的代码用于商业目的。
BSD许可证则兼顾了软件的自由使用和反向工程,对代码在商业和非商业环境下的使用都没有过多限制。
无论是哪种许可协议,都是为了保护软件的开发者和用户的权益。
开源许可协议可以促进知识共享、技术创新和社区合作,使得开发者能够更加自由地使用和修改源代码,同时也鼓励用户将改进的代码贡献给整个开源社区。
通过遵守源代码使用许可协议,并将开发者和用户的权益平衡起来,可以实现更加公平和可持续的软件开发和使用环境。
总之,源代码使用许可协议是保护软件开发者和用户权益的重要手段,通过明确规定代码的使用和分发方式,促进了开源软件的发展和创新。
选择适合自己项目的开源许可协议,不仅可以保护自己的权益,还能够为开源社区做出贡献,推动开源软件的繁荣。
各种开源协议说明
![各种开源协议说明](https://img.taocdn.com/s3/m/cb9d2bd6dc88d0d233d4b14e852458fb770b38e9.png)
各种开源协议说明开源协议是一种法律许可证,它规定了开放源代码软件的使用和分发条件。
这些协议确保了源代码的访问权,并且允许开发者修改和重新分发软件。
在详细介绍几种常见的开源协议前,值得注意的是,任何组织或个人使用开源软件时都应仔细阅读和理解相关协议的条款。
下面,我将介绍几种常见的开源协议。
1. GNU通用公共许可证(GNU General Public License,GPL):GPL是最常见的开源许可证之一,它要求任何以GPL许可的代码修改或衍生的代码也必须采用GPL许可证进行分发。
这使得GPL成为一种“传染性”许可证,因为它保护被许可软件的自由,并要求所有修改的代码都保持开源。
因此,如果一个开源项目使用了GPL许可证,该项目的整个代码库都必须遵循GPL许可证。
2.MIT许可证:3. Apache许可证:Apache许可证是一个比较灵活的开源许可证,它鼓励自由使用、修改和重新分发。
与MIT许可证不同的是,Apache许可证要求用户在修改的代码中包含原始许可证和版权声明。
此外,该许可证还规定了与软件相关的使用、专利权和商标权等方面的额外条款。
4.BSD许可证:5. Mozilla公共许可证(MPL):MPL是一种兼容GPL和LGPL的开源许可证,它要求修改MPL软件的代码也必须采用MPL进行分发。
然而,MPL允许将MPL软件与其他许可证的代码进行组合和分发,只要相关组件保持独立。
MPL还规定了软件使用和分发方面的条款。
总的来说,开源协议以不同的形式和方式保障了开放源代码软件的自由和灵活性。
开发者可以根据自己的需求选择适合的开源许可证,以保护其软件的使用和分发权利。
然而,无论使用哪种开源许可证,都需要严格遵守相关协议的条款,以确保合法合规地使用和分发开源软件。
lgpl开源协议
![lgpl开源协议](https://img.taocdn.com/s3/m/42439c20a76e58fafab003fc.png)
竭诚为您提供优质文档/双击可除lgpl开源协议篇一:几种开源协议介绍开源在今天的软件业已经很普遍,但开源是否意味着使用者可以对开源后的代码为所欲为呢?答案是否定的。
开源运动同样有自己的游戏规则和道德准则。
不遵行这些规则不但损害开源运动的健康发展,也会对违规者造成名誉和市场上的损失,更可能陷入法律纠纷和赔偿。
现今存在的开源协议很多,而经过opensourceinitiative组织通过批准的开源协议目前有58种。
我们在常见的开源协议如bsd,gpl,lgpl,mit等都是osi 批准的协议。
如果要开源自己的代码,最好也是选择这些被批准的开源协议。
几个常见的开源协议:bsd开源协议bsd开源协议是一个给于使用者很大自由的协议。
基本上使用者可以”为所欲为”,可以自由的使用,修改源代码,也可以将修改后的代码作为开源或者专有软件再发布。
但”为所欲为”的前提当你发布使用了bsd协议的代码,或则以bsd协议代码为基础做二次开发自己的产品时,需要满足三个条件:1.如果再发布的产品中包含源代码,则在源代码中必须带有原来代码中的bsd协议。
2.如果再发布的只是二进制类库/软件,则需要在类库/软件的文档和版权声明中包含原来代码中的bsd协议。
3.不可以用开源代码的作者/机构名字和原来产品的名字做市场推广。
bsd代码鼓励代码共享,但需要尊重代码作者的著作权。
bsd由于允许使用者修改和重新发布代码,也允许使用或在bsd代码上开发商业软件发布和销售,因此是对商业集成很友好的协议。
而很多的公司企业在选用开源产品的时候都首选bsd协议,因为可以完全控制这些第三方的代码,在必要的时候可以修改或者二次开发。
apachelicence2.0apachelicence是著名的非盈利开源组织apache采用的协议。
该协议和bsd类似,同样鼓励代码共享和尊重原作者的著作权,同样允许代码修改,再发布(作为开源或商业软件)。
需要满足的条件也和bsd类似:1.需要给代码的用户一份apachelicence2.如果你修改了代码,需要再被修改的文件中说明。
python开源协议的种类
![python开源协议的种类](https://img.taocdn.com/s3/m/4476d29a81eb6294dd88d0d233d4b14e85243efc.png)
python开源协议的种类Python是一种高级编程语言,被广泛应用于软件开发和数据分析。
作为一种开源语言,Python采用了开源协议来规定其使用和分发的条件。
开源协议可以让开发者自由地使用、修改、分发和共享Python的代码。
本文将介绍几种常见的Python开源协议。
首先,我们来介绍最常见的Python开源协议之一——GNU通用公共许可证(GNU General Public License,GPL)。
GPL是由自由软件基金会(Free Software Foundation)创建的一种开源协议,其目的是保护软件的自由性。
根据GPL协议,任何使用或修改了GPL许可的软件的个人或组织,都必须将其源代码公开,并且继续使用GPL许可。
这个特点使得GPL协议在保护开源软件自由的同时,也限制了商业化的可能性。
另一种常见的Python开源协议是MIT许可证(MIT License)。
MIT许可证是一种宽松的开源协议,允许使用者自由地使用、修改和分发软件,只要在源代码和衍生工作中包含原始许可证和版权声明。
与GPL不同,MIT许可证没有对使用软件的其他软件做出限制,因此可以更灵活地与商业软件集成。
还有一种常见的Python开源协议是Apache许可证(Apache License)。
Apache许可证是一种类似于MIT许可证的开源协议,同样允许使用者自由地使用、修改和分发软件,只要在源代码和衍生工作中包含原始许可证和版权声明。
与MIT许可证不同的是,Apache许可证还对专利授权和商标使用做出了一些规定,以保护软件的知识产权。
此外,还有一些其他的开源协议,如BSD许可证、Mozilla公共许可证等。
这些协议各有特点,有些相对较为严格,有些相对较为灵活。
开发者可以根据自己的需求和偏好选择适合自己的开源协议。
总之,Python作为一种开源语言,采用了多种开源协议来保护和规定其使用和分发的条件。
开发者可以根据自己的需求和偏好选择适合自己的开源协议,既保护了软件的自由性,又兼顾了商业化的可能性。
开源软件授权协议详解(GPLMPLLGPLB
![开源软件授权协议详解(GPLMPLLGPLB](https://img.taocdn.com/s3/m/eef8e0be90c69ec3d4bb7505.png)
开源运动同样有自己的游戏规则和道德准则。
不遵行这些规则不但损害开源运动的健康发展,也会对违规者造成名誉和市场上的损失,更可能陷入法律纠纷和赔偿。
现今存在的开源协议很多,而经过Open Sourcel ni tiative组织通过批准的开源协议目前有58 种。
我们在常见的开源协议如BSD,GPL,LGPL,M等都是OSI批准的协议。
如果要开源自己的代码,最好也是选择这些被批准的开源协议。
强开源约束授权GPL(GNU General Public Licens)e 我们很熟悉的Linux 就是采用了GPL。
GPL协议和BSD Ap ache Lice nee等鼓励代码重用的许可很不一样。
GPL的出发点是代码的开源/使用和引用/修改/衍生代码的开源/使用, 但不允许修改后和衍生的代码做为闭源的商业软件发布和销售。
这也就是为什么我们能用的各种linux,包括商业公司的linux和linux上各种各样的由个人,组织,以及商业软件公司开发的软件了。
GPL协议的主要内容是只要在一个软件中使用(使用”指类库引用,修改后的代码或者衍生代码)GPL协议的产品,则该软件产品必须也采用GPL协议,既必须也是开源和。
这就是所谓的”传染性”。
GPL协议的产品作为一个单独的产品使用没有任何问题,还可以享受的优势。
由于GPL严格要求使用了GPL类库的软件产品必须使用GPL协议,对于使用GPL 协议的开源代码,商业软件或者对代码有保密要求的部门就不适合集成/采用作为类库和二次开发的基础。
其它细节如再发布的时候需要伴随GPL协议等和BSD/Apache等类似。
弱开源约束授权MPL License(Mozilla PublicLicense允许重发布、修改, 但要求修改后的代码版权归软件的发起者。
这种授权维护了商业软件的利益,,它要求基于这种软件的修改无偿贡献版权给该软件。
这样,围绕该软件的所有代码得版权都集中在发起开发人得手中。
但MPL 是允许修改,无偿使用的。
开源界的5大开源许可协议
![开源界的5大开源许可协议](https://img.taocdn.com/s3/m/ae3a7bec0975f46527d3e1aa.png)
越来越多的开发者与设计者希望将自己的产品开源,以便其他人可以在他们的代码基础上做更多事,开源社区也因此充满生机。
在我们所能想到的应用领域,都有开源软件存在(象WordPress,Drupal 这些开源CMS)。
然而很多人对开源许可并不了解,本文介绍开源领域常用的几种许可协议以及它们之间的区别。
什么是许可协议?什么是许可,当你为你的产品签发许可,你是在出让自己的权利,不过,你仍然拥有版权和专利(如果申请了的话),许可的目的是,向使用你产品的人提供一定的权限。
不管产品是免费向公众分发,还是出售,制定一份许可协议非常有用,否则,对于前者,你相当于放弃了自己所有的权利,任何人都没有义务表明你的原始作者身份,对于后者,你将不得不花费比开发更多的精力用来逐个处理用户的授权问题。
而开源许可协议使这些事情变得简单,开发者很容易向一个项目贡献自己的代码,它还可以保护你原始作者的身份,使你至少获得认可,开源许可协议还可以阻止其它人将某个产品据为己有。
以下是开源界的5 大许可协议:GNU GPLGNU General Public Licence (GPL) 有可能是开源界最常用的许可模式。
GPL 保证了所有开发者的权利,同时为使用者提供了足够的复制,分发,修改的权利:1.可自由复制你可以将软件复制到你的电脑,你客户的电脑,或者任何地方。
复制份数没有任何限制。
2.可自由分发在你的网站提供下载,拷贝到U盘送人,或者将源代码打印出来从窗户扔出去(环保起见,请别这样做)。
3.可以用来盈利你可以在分发软件的时候收费,但你必须在收费前向你的客户提供该软件的GNU GPL 许可协议,以便让他们知道,他们可以从别的渠道免费得到这份软件,以及你收费的理由。
4.可自由修改如果你想添加或删除某个功能,没问题,如果你想在别的项目中使用部分代码,也没问题,唯一的要求是,使用了这段代码的项目也必须使用GPL 协议。
需要注意的是,分发的时候,需要明确提供源代码和二进制文件,另外,用于某些程序的某些协议有一些问题和限制,你可以看一下@PierreJoye写的Practical Guide to GPL Compliance一文。
五种开源协议书
![五种开源协议书](https://img.taocdn.com/s3/m/4b1f8c6642323968011ca300a6c30c225801f011.png)
五种开源协议书甲方(版权持有者):________________________地址:______________________________________联系方式:__________________________________乙方(使用者/贡献者):____________________地址:______________________________________联系方式:__________________________________鉴于甲方是以下开源软件的版权持有者,乙方希望使用或贡献该开源软件,甲乙双方本着平等自愿、诚实信用的原则,经协商一致,就开源软件的使用和贡献事宜达成如下协议:第一条定义1.1 开源软件:指甲方拥有或控制的,以开源许可证形式发布的软件。
1.2 开源许可证:指甲方选择的,用于规范乙方使用和贡献开源软件的法律文件。
1.3 贡献:指乙方对开源软件进行的修改、增强、翻译、注释或其他形式的创造性工作。
第二条开源许可证的选择2.1 甲方选择以下开源许可证之一,用于规范乙方的使用和贡献行为: - MIT许可证- Apache许可证2.0- GNU通用公共许可证(GPL)版本3- BSD许可证- Mozilla公共许可证2.0第三条权利与义务3.1 甲方的权利与义务:3.1.1 甲方保证其对开源软件拥有合法的版权或相应的授权。
3.1.2 甲方有权根据开源许可证的规定,对乙方的使用和贡献行为进行监督和管理。
3.2 乙方的权利与义务:3.2.1 乙方有权根据本协议和开源许可证的规定,使用和贡献开源软件。
3.2.2 乙方在使用和贡献开源软件时,应遵守开源许可证的规定,不得侵犯甲方或第三方的合法权益。
第四条贡献的提交与处理4.1 乙方提交的贡献应符合甲方设定的格式和标准。
4.2 甲方有权决定是否接受乙方的贡献,并在必要时要求乙方进行修改。
第五条知识产权5.1 乙方贡献的知识产权归甲方所有,除非开源许可证有其他规定。
开源协议介绍范文
![开源协议介绍范文](https://img.taocdn.com/s3/m/7158ee68cec789eb172ded630b1c59eef8c79aca.png)
开源协议介绍范文开源协议是指为开放源代码项目所制定的法律规定和政策。
它们定义了开放源代码项目的权利和义务,以及社区成员共同遵守的规范。
开源协议对于推动创新、促进知识共享、保护开发者和用户的权益都起到了重要的作用。
本文将介绍几种常见的开源协议,包括GPL、MIT和Apache等。
GPL(GNU General Public License)是由自由软件基金会(FSF)制定的开源协议之一、GPL强调保护用户的自由,要求在任何基于这个代码的软件发布时都必须以GPL协议进行分发。
这意味着任何使用或修改这个代码的人都必须开源他们的代码,并且基于这个代码的衍生作品也必须遵循GPL协议。
GPL协议确保了每个人都可以自由地访问、使用和改进共享的代码,同时防止了将开源代码私有化的行为。
MIT(Massachusetts Institute of Technology)协议是一种宽松的开源协议。
它允许用户自由地使用、复制、修改、分发和销售软件,同时也无需公开他们的代码。
与GPL不同,MIT协议不要求基于这个代码的衍生项目也必须开源。
这使得MIT协议的代码可以更加自由地被使用和商业化,被广泛应用于开源社区和商业软件中。
Apache协议是Apache软件基金会制定的一种开源协议。
它被广泛应用于Web服务器和Java开发等领域。
Apache协议允许用户自由地使用、复制、修改、分发和销售软件。
与MIT协议类似,Apache协议也不要求基于这个代码的衍生项目必须开源。
与MIT协议的区别在于,Apache协议对于贡献者更加友好,鼓励开发者提交改进和补丁。
除了上述常见的开源协议外,还有许多其他开源协议,如BSD协议、Mozilla公共许可证(MPL)等。
这些协议在许可证的精确条款、适用范围和特点上会有所区别,开发者可以根据具体项目的需求选择合适的开源协议。
开源协议的好处是多方面的。
首先,它促进了知识共享和技术创新。
开源协议使得开发者可以共享经验、学习别人的代码,并根据自己的需求进行修改和改进。
开源许可协议GPL、APL、BSD、LGPL、MIT等的区别
![开源许可协议GPL、APL、BSD、LGPL、MIT等的区别](https://img.taocdn.com/s3/m/b460af363069a45177232f60ddccda38376be10c.png)
开源许可协议GPL、APL、BSD、LGPL、MIT等的区别开源许可协议GPL、APL、BSD、LGPL、MIT等的区别开源软件的授权许可都是基于开源许可协议的,常见的开源许可协议有GPL、LGPL、APL、BSD、MIT、Mozilla Public License、Creative Commons、Eclipse Public License 1.0等。
它们之前有很多相同的地方,也有很多不同的地方,本文将分析一下这些协议之间的区别。
GPL(GNU General Public License),使用源软件的类库引用(源代码)、改变(修改了源代码)的新软件,也必须采用GPL进行授权。
就是说,只要使用了GPL开源软件的源代码或拿它的源代码进行了修改而编写的新的软件,也必须加入到GPL的阵营。
很明显,不能拿GPL授权的开源东东来做商业软件。
这个协议有个好处,就是极大增加了使用GPL的软件的数量。
采用GPL授权的软件有:Linux、MySQL等。
LGPL(Lesser GPL),相比GPL的严格,LGPL要温和很多。
可以通过引用类库的方式(不是直接使用源代码)拿LGPL授权的东东来重新开发商业软件。
如果是要修改源代码,是相应的修改和衍生出来的代码都要使用LGPL开放源代码。
采用LGPL的软件有:JBoss、Hibernate、FCKeditor等。
APL(apache Licence vesion 2.0),适用于商业软件,允许修改代码后再发布(不用开放源代码)。
采用APL的软件有Hadoop、Apache HttpServer等。
BSD(Berkeley Software Distribution),这个协议的要求很宽松,允许他人修改和重新发布代码,可以在此基础上开发出商业软件进行销售。
所以,此协议适用于商业软件。
采用BSD协议的软件最著名的有nginx。
MIT(Massachusetts Institute of Technology),又称X11协议。
五种开源协议的比较(BSD, Apache, GPL, LGPL, MIT)
![五种开源协议的比较(BSD, Apache, GPL, LGPL, MIT)](https://img.taocdn.com/s3/m/ec129d48e518964bcf847cf3.png)
五种开源协议的比较(BSD, Apache, GPL, LGPL, MIT)2010-03-22 11:31当 Adobe、Microsoft、Sun 等一系列巨头开始表现出对”开源”的青睐时,”开源”的时代即将到来!现今存在的开源协议很多,而经过 Open Source Initiative 组织通过批准的开源协议目前有 58 种(/licenses/alphabetical)。
我们在常见的开源协议如 BSD, GPL, LGPL, MIT 等都是 OSI 批准的协议。
如果要开源自己的代码,最好也是选择这些被批准的开源协议。
这里我们来看四种最常用的开源协议及它们的适用范围,供那些准备开源或者使用开源产品的开发人员/厂家参考。
BSD 开源协议(original BSD license、FreeBSD license、Original BSD license)BSD 开源协议是一个给于使用者很大自由的协议。
基本上使用者可以”为所欲为”,可以自由的使用,修改源代码,也可以将修改后的代码作为开源或者专有软件再发布。
但”为所欲为”的前提当你发布使用了 BSD 协议的代码,或则以 BSD 协议代码为基础做二次开发自己的产品时,需要满足三个条件:1.如果再发布的产品中包含源代码,则在源代码中必须带有原来代码中的BSD 协议。
2.如果再发布的只是二进制类库/软件,则需要在类库/软件的文档和版权声明中包含原来代码中的 BSD 协议。
3.不可以用开源代码的作者/机构名字和原来产品的名字做市场推广。
BSD 代码鼓励代码共享,但需要尊重代码作者的著作权。
BSD 由于允许使用者修改和重新发布代码,也允许使用或在 BSD 代码上开发商业软件发布和销售,因此是对商业集成很友好的协议。
而很多的公司企业在选用开源产品的时候都首选BSD 协议,因为可以完全控制这些第三方的代码,在必要的时候可以修改或者二次开发。
Apache Licence 2.0(Apache License, Version 2.0、Apache License, Version 1.1、Apache License, Version 1.0)Apache Licence 是著名的非盈利开源组织 Apache 采用的协议。
软件源代码许可
![软件源代码许可](https://img.taocdn.com/s3/m/3d43cb1bcdbff121dd36a32d7375a417876fc175.png)
软件源代码许可软件源代码许可是指根据一定的规定,允许用户使用、修改和重新分发软件源代码的许可协议。
在软件开发领域,开源许可协议的使用日益广泛,为促进软件创新和共享做出了重要贡献。
本文旨在介绍软件源代码许可的背景、类型及其在软件开发中的重要性。
一、背景随着计算机技术的发展和互联网的普及,软件开发已成为当前信息技术领域的重要组成部分。
然而,传统的闭源软件限制了用户对软件的使用和修改权限,阻碍了软件创新和共享的进程。
因此,为了推动软件开发的自由和开放,软件源代码许可应运而生。
二、软件源代码许可的类型在软件开发中,有多种不同类型的软件源代码许可可供选择。
以下是其中几种常见的许可类型:1. GPL(GNU通用公共许可证)GPL是非常受欢迎的一种开源许可协议,其主要要求是将源代码公开并允许自由使用、修改和再分发软件。
基于GPL许可的软件或项目也必须以GPL许可进行分发,以确保开源原则的继承性。
2. MIT许可证MIT许可证是较为宽松的开源许可协议,允许用户自由使用、复制、修改、合并、发布和销售软件。
该类型的许可协议适用于商业软件开发,并得到了广泛的采用。
3. Apache许可证Apache许可证是一种开源许可协议,允许用户自由使用、修改和再分发软件。
该许可还明确了对衍生作品进行专利授权的条件,为软件创新提供了保障。
4. BSD许可证BSD许可证是一种开源许可协议,其目标是鼓励软件共享和使用。
与其他许可协议相比,BSD许可具有较少的限制,不限制用户对软件的再分发和商业利用。
三、软件源代码许可的重要性软件源代码许可在软件开发中具有重要的意义和作用:1. 促进软件创新:通过开源许可,软件开发者可以自由地访问、学习和修改源代码,从而促进软件创新和技术进步。
2. 提高软件质量:开源许可鼓励用户参与软件开发,可以通过反馈问题和提交改进意见来改善软件质量。
3. 共享知识和资源:开源许可使得软件开发者可以共享代码和知识,节省开发时间和成本。
五种开源协议的比较
![五种开源协议的比较](https://img.taocdn.com/s3/m/ef858430a32d7375a41780af.png)
五种开源协议的比较(BSD,Apache,GPL,LGPL,MIT)当Adobe、Microsoft、Sun等一系列巨头开始表现出对”开源”的青睐时,”开源”的时代即将到来!最初来自:/read.php?tid-662-page-e-fpage-1.html(遗憾的是这个链接已经打不开了),我基本未改动,只是进行了一些排版和整理。
参考文献:/licensing/licenses/现今存在的开源协议很多,而经过Open Source Initiative组织通过批准的开源协议目前有58种(/licenses/alphabetical)。
我们在常见的开源协议如BSD, GPL, LGPL,MIT等都是OSI 批准的协议。
如果要开源自己的代码,最好也是选择这些被批准的开源协议。
这里我们来看四种最常用的开源协议及它们的适用范围,供那些准备开源或者使用开源产品的开发人员/厂家参考。
BSD开源协议(original BSD license、FreeBSD license、Original BSD license)BSD开源协议是一个给于使用者很大自由的协议。
基本上使用者可以”为所欲为”,可以自由的使用,修改源代码,也可以将修改后的代码作为开源或者专有软件再发布。
但”为所欲为”的前提当你发布使用了BSD协议的代码,或则以BSD协议代码为基础做二次开发自己的产品时,需要满足三个条件:1.如果再发布的产品中包含源代码,则在源代码中必须带有原来代码中的BSD协议。
2.如果再发布的只是二进制类库/软件,则需要在类库/软件的文档和版权声明中包含原来代码中的BSD协议。
3.不可以用开源代码的作者/机构名字和原来产品的名字做市场推广。
BSD 代码鼓励代码共享,但需要尊重代码作者的著作权。
BSD由于允许使用者修改和重新发布代码,也允许使用或在BSD 代码上开发商业软件发布和销售,因此是对商业集成很友好的协议。
而很多的公司企业在选用开源产品的时候都首选BSD 协议,因为可以完全控制这些第三方的代码,在必要的时候可以修改或者二次开发。
开源协议介绍
![开源协议介绍](https://img.taocdn.com/s3/m/94d9c26eb5daa58da0116c175f0e7cd18525186a.png)
开源协议介绍开源协议是指一种允许开发者共享他们开发的软件源代码的协议。
它允许任何人下载、修改和重新发布源代码。
在开源协议下开发的软件通常可供免费获得,并且开发者可以获得更广泛的用户群,以及对软件进行修改和改进的社区支持。
在开源协议的背景下,发现许多优秀的软件是由开源软件社区贡献的。
这些社区的目的是为了制定、发布、支持和促进同类目标下的开源项目,它们通常包括一组志愿者开发者,他们通过开源协议的使用来共同完成软件的开发。
开源协议不仅为社区开发者提供了更多的自由和灵活性,而且还对整个有关软件开发的相关领域产生了革命式的影响,进而推动了相应的行业发展和进步。
目前存在许多不同类型的开源协议,大致可划分为两类:强制性开源协议和非强制性开源协议。
强制性开源协议要求在更改和再发布源代码时强制使用相同的开源协议。
它们包括最受欢迎的开源协议GPL(GNU通用公共许可证)、AGPL(GNU Affero 通用公共许可证)、LGPL(GNU通用公共许可证+额外约束)和MPL(Mozilla公共许可证)。
GPL是一种非常流行的开源协议,它迫使任何人都必须使用相同的开源协议发布所有基于它的派生作品。
这意味着如果你使用了GPL授权的代码,那么你也必须在你的代码中使用同样的授权方式。
除非你确实不需要其他开发者也要遵循相同的协议,否则不建议使用GPL。
AGPL也是GPL的一种变体,它要求在使用派生作品的情况下将源代码公开发行。
这使得它成为像SaaS这样的应用程序的最佳选择。
LGPL概念更广泛化,它允许将派生作品使用在其他协议的项目中。
与此同时,非强制性开源协议通常只要求保留原始代码的版权。
当以这种方式发布一个开源项目时,任何人都可以自由地以任何方式使用、再分发或修改这个项目的源代码或二进制文件。
这种协议的标志性开源协议是BSD许可证、Apache 许可证、MIT许可证,和Eclipse公共许可证。
BSD协议允许您将代码转移至商业项目中,而Apache许可证则适用于那些希望保留部分知识产权的公司。
开源软件许可协议简介
![开源软件许可协议简介](https://img.taocdn.com/s3/m/b70a4badaaea998fcd220e60.png)
开源软件许可协议简介很多软件开发者和设计者都有将自己的软件作品以开源的形式公之于众的想法。
他们希望其他人也可以分享自己的作品,使用自己的作品。
开源社区之所以能蓬勃发展就是因为人们有这样的愿望。
开源软件如此的丰富,任何你能想到的应用领域里都能找到它们的身影。
大部分的设计人员都已经把使用开源软件和开源代码作为日常工作不可缺少的一部分了(WordPress, Drupal 和许多其它的内容管理系统都是开源软件)。
但是很多的软件作者和设计者都对各种不同的开源许可协议的内容和含义不甚了了。
当你选择了某种开源许可协议时,你都放弃了哪些权力在没有能明白各种开源协议的确切含义前,在不知道它们最适用于什么情况下时,软件开发者不可能在关于哪个许可协议最适合自己的软件的问题上做出准确的抉择。
什么是软件许可协议关于究竟什么是许可协议的问题上有很多事实而非的说法。
当你给软件附上许可证时,意味着你将保留对软件的所有权利。
你将对你的作品拥有原创版权(或者是专利权,如果你申请到了)。
许可协议用来授权其他人具有某种使用你的作品的权利。
依靠许可协议将你的作品对外开源或者对你的作品的各个方面逐一进行授权,是一个不错的方法。
一旦对外开源,你将失去所有对你的作品的版权,别人也没有义务将你标注为作品的原创者或捐献者。
而我说的后一种情况里,估计你需要从设计和开发的工作中抽出更多的时间来处理遇到的各种侵权问题。
开源许可协议使人们免去了研究那些专业的许可条款的麻烦,使人们更方便的对开源项目贡献出自己的代码。
而且它还能保护你作为作品的原创作者,确保你至少拥有由于贡献参与而带来的署名荣誉。
它还能用来阻止其他人企图声明对你的作品拥有所有权的行为。
GNU General Public License 通用公共许可协议GNU General PublicLicence 通用公共许可协议 (GPL) 可以说是在开源项目中使用最广泛的一种协议来。
GPL 对开发开源软件的开发者们在权利上进行了周详的认可和保障。
开源软件授权方式解释
![开源软件授权方式解释](https://img.taocdn.com/s3/m/152a397ea26925c52cc5bf9c.png)
GPL协议在自由软件所使用的各种许可证之中,最为人们注意的也许是通用性公开许可证(General Public License,简称GPL)。
GPL同其它的自由软件许可证一样,许可社会公众享有:运行、复制软件的自由,发行传播软件的自由,获得软件源码的自由,改进软件并将自己作出的改进版本向社会发行传播的自由。
GPL还规定:只要这种修改文本在整体上或者其某个部分来源于遵循GPL的程序,该修改文本的整体就必须按照GPL流通,不仅该修改文本的源码必须向社会公开,而且对于这种修改文本的流通不准许附加修改者自己作出的限制。
因此,一项遵循GPL流通的程序不能同非自由的软件合并。
GPL所表达的这种流通规则称为copyleft,表示与copyright(版权)的概念“相左”。
GPL协议最主要的几个原则:1、确保软件自始至终都以开放源代码形式发布,保护开发成果不被窃取用作商业发售。
任何一套软件,只要其中使用了受GPL 协议保护的第三方软件的源程序,并向非开发人员发布时,软件本身也就自动成为受GPL 保护并且约束的实体。
也就是说,此时它必须开放源代码。
2、GPL 大致就是一个左侧版权(Copyleft,或译为“反版权”、“版权属左”、“版权所无”、“版责”等)的体现。
你可以去掉所有原作的版权信息,只要你保持开源,并且随源代码、二进制版附上GPL 的许可证就行,让后人可以很明确地得知此软件的授权信息。
GPL 精髓就是,只要使软件在完整开源的情况下,尽可能使使用者得到自由发挥的空间,使软件得到更快更好的发展。
3、无论软件以何种形式发布,都必须同时附上源代码。
例如在 Web 上提供下载,就必须在二进制版本(如果有的话)下载的同一个页面,清楚地提供源代码下载的链接。
如果以光盘形式发布,就必须同时附上源文件的光盘。
4、开发或维护遵循GPL 协议开发的软件的公司或个人,可以对使用者收取一定的服务费用。
但还是一句老话——必须无偿提供软件的完整源代码,不得将源代码与服务做捆绑或任何变相捆绑销售MIT 协议MIT许可证之名源自麻省理工学院(Massachusetts Institute of Technology, MIT),又称「X条款」(X License)或「X11条款」(X11 License)MIT内容与三条款BSD许可证(3-clause BSD license)内容颇为近似,但是赋予软体被授权人更大的权利与更少的限制。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2、LGPL
LGPL是GPL的一个为主要为类库使用设计的开源协议。
LGPL允许商业软件通过类库引用(link)方式使用LGPL类库而不需要开源商业软件的代码。
因此LGPL协议的开源代码很适合作为第三方类库被商业软件引用,但不适合希望以LGPL协议代码为基础,通过修改和衍生的方式做二次开发的商业软件采用。
3、BSD
BSD开源协议是一个给于使用者很大自由的协议。
基本上使用者可以自由的使
用,修改源代码,也可以将修改后的代码作为开源或者专有软件再发布。
当使用了BSD协议的代码,或者以BSD协议代码为基础做二次开发自己的产品时,需要满足三个条件:
如果再发布的产品中包含源代码,则在源代码中必须带有原来代码中的BSD
协议。
如果再发布的只是二进制类库/软件,则需要在类库/软件的文档和版权声明中
包含原来代码中的BSD协议。
不可以用开源代码的作者/机构名字和原来产品的名字做市场推广。
因此,很多公司企业在选择开源软件的时候都首选BSD协议,因为可以完全控制这些第三方的代码,而且在必要的时候可以进行修改或者二次开发。
4、Apache License
Apache Licence 2.0(Apache License, Version 2.0、Apache License, V
ersion 1.1、Apache License, Version 1.0)
Apache Licence是著名的非盈利开源组织Apache采用的协议。
该协议和BS
D类似,同样鼓励代码共享和尊重原作者的著作权,同样允许代码修改,再发布
(作为开源或商业软件)。
需要满足的条件也和BSD类似:
需要给代码的用户一份Apache Licence
如果你修改了代码,需要再被修改的文件中说明。
在延伸的代码中(修改和有源代码衍生的代码中)需要带有原来代码中的协议,商标,专利声明和其他原来作者规定需要包含的说明。
如果再发布的产品中包含一个Notice文件,则在Notice文件中需要带有A
pache Licence。
你可以在Notice中增加自己的许可,但不可以表现为对Apach
e Licence构成更改。
Apache Licence也是对商业应用友好的许可。
使用者也可以在需要的时候修改代码来满足需要并作为开源或商业产品发布/销售。
5、MIT(MIT)
MIT是和BSD一样宽范的许可协议,作者只想保留版权,而无任何其他了限制.也就是说,你必须在你的发行版里包含原许可协议的声明,无论你是以二进制发布的还是以源代码发布的。
主要的协议的权利和义务。
如果看完还是一头雾水的话,乌克兰程序员Paul Bagwell,画了一张分析图,说明应该怎么选择,下图为国内大牛阮一峰汉化了版本。