开源软件授权协议详解(GPLMPLLGPLBSDApache LicenceCreative Commons
几种常见的开源软件许可协议(GPL,LGPL,ApacheLicense,BSD)
⼏种常见的开源软件许可协议(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只对软件有效⼒,⽽对软件的输出并⽆效⼒(除⾮输出的是软件本⾝)。
列举常见的开源协议简述其许可证的规则
列举常见的开源协议简述其许可证的规则常见的开源协议主要包括GNU通用公共许可证(GNU General Public License, GPL)、MIT许可证、BSD许可证、Apache许可证和Mozilla公共许可证等。
下面将对这些开源协议的许可证规则进行简述。
1.GNU通用公共许可证(GPL)GPL是最常用的开源协议之一,其主要目的是保护软件的使用者自由并鼓励共享。
GPL要求基于该许可证发布的软件及其衍生作品也必须采用GPL进行发布,即采用GPL许可证的软件只能使用GPL许可证进行分发,这也被称为“传染性”。
同时,GPL也要求对于对源代码所做的修改和衍生工作的发布都必须开放源代码,并明确指出软件的版权和许可证。
2.MIT许可证MIT许可证是一种相对较为宽松的开源许可证。
其核心条款要求将软件的版权和许可证信息包含在软件副本的所有拷贝或实质部分中。
这意味着在使用、复制、修改、合并、发布、分发、再许可及销售这些软件时,只需在源代码或二进制副本的所有拷贝中包含原始许可证即可,不需要开放源代码。
3.BSD许可证BSD许可证是一系列类似的许可证,如BSD 2-Clause License、BSD3-Clause License等。
这些许可证都较为宽松,允许使用、复制、修改、合并、发布、分发和再许可,同时要求在软件的所有拷贝、实质部分及相关文档中必须包含原始许可证的版权声明。
4. Apache许可证Apache许可证也是一种较为宽松的许可证,类似于BSD许可证。
除了允许使用、复制、修改、合并、发布、分发和再许可外,Apache许可证还要求在软件的所有拷贝中保留原始的版权声明和许可声明,并提供对源代码控制的访问。
5. Mozilla公共许可证Mozilla公共许可证是一种主要应用于Mozilla项目的开源许可证。
它对于源代码的控制较为严格,要求在任何衍生作品中都必须以MPL许可证进行发布。
同时,MPL还规定了衍生作品需要开放源代码,并明确指出版权和许可证。
Java程序员必须了解的七大开源协议
Java程序员必须了解的七大开源协议下面只列决了个人认为Java程序员必须了解的七大开源协议:Mozilla Public LicenseMPL License,允许免费重发布、免费修改,但要求修改后的代码版权归软件的发起者。
这种授权维护了商业软件的利益,,它要求基于这种软件得修改无偿贡献版权给该软件。
这样,围绕该软件得所有代码得版权都集中在发起开发人得手中。
但MPL是允许修改,无偿使用得。
MPL软件对链接没有要求。
BSD开源协议BSD开源协议是一个给于使用者很大自由的协议。
可以自由的使用,修改源代码,也可以将修改后的代码作为开源或者专有软件再发布。
当你发布使用了BSD协议的代码,或则以BSD协议代码为基础做二次开发自己的产品时,需要满足三个条件:1. 如果再发布的产品中包含源代码,则在源代码中必须带有原来代码中的BSD协议。
2. 如果再发布的只是二进制类库/软件,则需要在类库/软件的文档和版权声明中包含原来代码中的BSD协议。
3. 不可以用开源代码的作者/机构名字和原来产品的名字做市场推广。
BSD代码鼓励代码共享,但需要尊重代码作者的著作权。
BSD由于允许使用者修改和重新发布代码,也允许使用或在BSD代码上开发商业软件发布和销售,因此是对商业集成很友好的协议。
而很多的公司企业在选用开源产品的时候都首选BSD协议,因为可以完全控制这些第三方的代码,在必要的时候可以修改或者二次开发。
Apache Licence 2.0Apache Licence是著名的非盈利开源组织Apache采用的协议。
该协议和BSD类似,同样鼓励代码共享和尊重原作者的著作权,同样允许代码修改,再发布(作为开源或商业软件)。
需要满足的条件:1. 需要给代码的用户一份Apache Licence2. 如果你修改了代码,需要再被修改的文件中说明。
3. 在延伸的代码中(修改和有源代码衍生的代码中)需要带有原来代码中的协议,商标,专利声明和其他原来作者规定需要包含的说明。
软件源代码授权协议
软件授权协议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许可证也要求在分发时附上原始协议和版权声明。
列举常见的开源协议简述其许可证的规则
列举常见的开源协议简述其许可证的规则常见的开源协议有GNU通用公共许可证(GPL)、BSD许可证、MIT许可证、Apache许可证等。
接下来我将对这些协议进行逐一介绍,并简述其许可证规则。
1.GNU通用公共许可证(GPL):GPL是一种针对自由软件的开源协议。
它强调在使用、复制、修改和分发软件时的自由。
根据GPL许可证规则,任何使用GPL软件的个人或组织都必须将其修改后的软件以同样的GPL许可证分发。
这意味着如果您使用了GPL许可证的软件而进行了修改,您必须对修改后的软件提供源代码,并允许其他人以任意方式使用、复制、修改和分发。
不允许将GPL软件与非自由软件结合使用。
2.BSD许可证:BSD许可证是一种相对宽松的许可证,允许用户以自由的方式使用、复制、修改和分发软件。
相比于GPL许可证,BSD许可证较少对软件的使用做限制,用户可以将BSD许可证软件与非自由软件结合。
BSD许可证规则要求在分发软件时必须包含原始的许可证和版权声明。
3.MIT许可证:MIT许可证也是一种宽松的开源许可证。
与BSD许可证类似,MIT许可证允许用户自由使用、复制、修改和分发软件,同时也允许将软件与非自由软件结合。
MIT许可证规则要求在分发软件时必须包含原始的许可证和版权声明。
4. Apache许可证:Apache许可证是一种被广泛使用的开源许可证,适用于多种类型的软件。
Apache许可证允许用户自由使用、复制、修改和分发软件,同时也允许将软件与非自由软件结合。
与BSD和MIT许可证类似,Apache许可证要求在分发软件时必须包含原始的许可证和版权声明。
需要注意的是,以上介绍的仅是常见的开源协议之一,实际上还有许多其他开源协议,每个协议都有其独特的许可证规则。
选择适合自己项目的开源协议时,需要仔细研究和理解相应的许可证规则,并确保符合规范进行软件的使用、复制、修改和分发。
开源协议的具体条款
开源协议的具体条款
开源协议是指一类软件授权协议,它允许其他人查阅、使用、修改、复制源代码、以及根据源代码创建的派生作品,而不需要经过原作者的特别授权。
此类协议通常是基于版权法律的,因此这些条款都非常重要,下面是具体的开源协议条款:
1. BSD协议
BSD协议有三种不同类型的条款:BSD-2,BSD-3和原始版本。
通常情况下,人们使用的是BSD-3条款,因为它对使用者的限制较少。
- 条件:必须包含版权声明和许可声明。
- 限制:无,使用者可以自由地使用、复制、修改和再分发代码。
2. GPL协议
GPL协议有两个版本:GPLv2和GPLv3。
GPLv3版本比早期版本更严格,它要求所有的派生作品都必须采用GPLv3发布。
- 条件:所有的派生作品必须使用GPL协议发布,并且包含相应的版权和执照信息。
- 限制:不允许闭源派生产品。
3. Apache协议
Apache协议的重点在于保护原作者的知识产权,以及保证使用者的免责和免责条款。
- 限制:对于使用者来说,没有具体的限制。
对于开发人员来说,必须声明他们所做的任何更改,以及在捐赠代码时必须遵守特定的规定。
4. MIT协议
MIT协议是一种非常宽松的开源许可协议,允许源代码和二进制代码被自由使用、修改和分发,而且无需要局限于特定的许可协议。
总体来说,无论使用哪种开源协议,都需要注意条款和限制条件。
开源协议的最终目标是保护原作者和使用者的利益,以便鼓励更多的合作和创新。
APL GPL等协议
许可协议BSD GPL MPL LGPL APL、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协议。
各种开源协议说明
各种开源协议说明开源协议是一种法律许可证,它规定了开放源代码软件的使用和分发条件。
这些协议确保了源代码的访问权,并且允许开发者修改和重新分发软件。
在详细介绍几种常见的开源协议前,值得注意的是,任何组织或个人使用开源软件时都应仔细阅读和理解相关协议的条款。
下面,我将介绍几种常见的开源协议。
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还规定了软件使用和分发方面的条款。
总的来说,开源协议以不同的形式和方式保障了开放源代码软件的自由和灵活性。
开发者可以根据自己的需求选择适合的开源许可证,以保护其软件的使用和分发权利。
然而,无论使用哪种开源许可证,都需要严格遵守相关协议的条款,以确保合法合规地使用和分发开源软件。
关于开源授权协议GPL和LGPL
关于开源授权协议GPL和LGPLGPL 是GNU General Public License (GNU 通用公共许可证)的缩写形式;LGPL 是GNU Lesser General Public License (GNU 宽通用公共许可证)的缩写形式,旧称GNU Library General Public License (GNU 库通用公共许可证);GFDL 是GNU Free Documentation License (GNU 自由文档许可证)的缩写形式。
它们是自由软件(Free Software)的通用版权认证协议,由自由软件基金会(FSF)制定和发布。
•基于 GPL 的软件允许商业化销售,但不允许封闭源代码。
•如果您对遵循 GPL 的软件进行任何改动和/或再次开发并予以发布,则您的产品必须继承 GPL 协议,不允许封闭源代码。
•基于 LGPL 的软件也允许商业化销售,但不允许封闭源代码。
•如果您对遵循LGPL 的软件进行任何改动和/或再次开发并予以发布,则您的产品必须继承LGPL 协议,不允许封闭源代码。
但是如果您的程序对遵循LGPL 的软件进行任何连接、调用而不是包含,则允许封闭源代码。
GPL(General Public License)和LGPL( Lesser General Public License)是GNU的两种License。
越来越多的自由软件(Free Software)使用GPL作为其授权声明,如果对GPL一点都不了解,有可能在使用自由软件时违反了GPL的授权。
如果是个人或不正规的公司倒也无所谓,但如果是有规模的公司,恐怕会有被起诉的风险。
在使用Log4cpp时我想到了授权的事情,于是有了兴趣对GPL做一下了解。
这是必要的,因为公司也维护了一个验证过的自由软件库,里面包含的自由软件除了功能上是可靠的,另外就是一定可以被私有使用的,否则后果很严重(黎叔很生气!)。
了解开源的许可证GPL、LGPL、BSD、Apache 2.0的区别
看看下面选择开源许可证的案例:
Android 使用宽松的Apache 2.0发布,因为Google作为一个商业公司,并不想失去商业软件的支持,它希望团结一切可以团结的力量加入的Android的开发中来,壮大自己的阵 营,使用Apache 2.0就无可厚非了。而Google本身,并没有丧失对Android的控制权,不会担心另外一个公司拿走了Android的代码开发出一个闭源 Android的对手。因为,只要Android不断的出新版,社区不停的跟进,并且不停的修改API,其他基于Android开发的公司不得不把自己的 Patch提回到主干上,否则,必然将耗费大量人力物力在维护自己的Patch上(钱这方面你斗得过Google?),得不偿失。而且,闭源之后,与整个 社区为敌,作为一个定位软件平台的项目,会流失大量应用软件开发者,以小博大,任何一个商业公司都不会干这种胜算不高的蠢事。
BSD、Apache 2.0
相对GPL/LGPL的开放源代码,BSD,Apache 2.0就宽松许多——商业软件可以任意的使用BSD,Apache 2.0发布的软件代码,而不需要开放源代码,只需要提及代码的原出处就可以了。BSD和Apache 2.0提及的方式稍有不同,具体可以参考协议的详细内容。它们是GPL兼容的
还有关于Mozilla Public License、Creative Commons、Eclipse Public License 1.0等协议,这里就不一一介绍了。
你对开源有多少了解呢?如果你是软件开发者,要开源软件,不单单是开放源代码就可以了,选择一种许可证很重要,一个许可证之于软件就相当于价值观之于普通人,代表了这个软件的基本品性。一个错误的许可证选择可能会直接导致整个项目的失 败,XFree86就是一个好例子。
开源软件协议(MITBSDApacheLGPLMPLGPL)
开源软件协议(MITBSDApacheLGPLMPLGPL) 大家好,我是痞子衡,是正经搞技术的痞子。
今天痞子衡给大家讲的是关于开源软件协议基本知识。
牛顿曾说过:“如果我比别人看得更远,那是因为我站在巨人的肩上”。
在软件开发中如果说也存在巨人的肩膀让我们站,我想这个巨人应该就是开源软件。
一个优秀的软件开发人员应该能够善于学习和利用开源软件来加速自己的开发,而为了正确地使用开源软件,我们必须要了解开源软件协议,今天我们就来聊一聊开源软件协议这个话题。
1.开源软件是什么? 所谓“开源软件”(open-source software),字面上理解就是开放源代码的软件,即在软件发行的时候,附上软件的源代码,并授权允许用户更改/自由再散布/衍生著作权。
开源软件通常是有copyright(著作权)的,它的License(许可证)可能包含这样一些额外的限制:刻意的保护它的开放源码状态,著者身份的公告,或者开发的控制。
提及开源软件,通常会想到两个形容词:免费、自由。
开源软件大多是免费的(但也并不排斥商业收费),开源软件的使用往往也是相对自由的(自由度取决于其License)。
因此常常会与开源软件造成混淆和误解的有另外两个概念:“免费软件”、“自由软件”免费软件:免费提供给用户使用的软件,通常并不包含公开其源码的内容。
自由软件:在反著作权,倡导软件这种知识产品应该免费共享的思想下诞生的软件,当然必须是要开放源代码的。
一个专用的名词copyleft(著佐权)就是用来形容这种软件。
除了前面介绍的3种类型软件之外,还有一种概念:“商业软件”,即被用作商品以达到营利目的收费软件,这种软件一般不会包含源码,并且受各种严苛的版权限制。
从上面的介绍可以看出,自由软件与商业软件是完全对立的,而开源软件就是自由软件与商业软件的折中,它既继承了“自由软件”所提倡的知识共享的理念,同时又允许人们以专利的形式从知识产品中谋取利益,从而保护了人们生产、创造知识产品的积极性。
列举常见的开源协议、简述其许可证的规则
列举常见的开源协议、简述其许可证的规则
常见的开源协议包括:
1.GPL(GNU通用公共许可证):该协议要求任何使用或修改代码的
人都必须以相同的许可证公开发行他们的代码。
因此,该类型的许可证被
称为“强的副本左协议”。
2.LGPL(GNU较宽松公共许可证):该协议允许第三方使用和修改代
码的代码库,但并不要求他们为其代码的任何修改或衍生物公开发行。
3.MIT许可证:该许可证允许获得原始代码的任何人随意使用、修改、分发,甚至将其商业化,同时无需支付任何费用或遵守任何其他规则。
因此,MIT许可证被视为“非常宽松”的许可证之一。
4.BSD许可证:该许可证与MIT许可证非常相似,也允许获得原始代
码的任何人随意使用和修改,同时无需支付任何费用或遵守任何其他规则。
但与MIT许可证不同的是,BSD许可证还允许第三方使用代码库的商标。
5. Apache许可证:该许可证要求任何使用和修改代码的人都必须遵
守“反盗版”条款,以确保他们不会对代码进行意外篡改或破坏。
该许可
证还要求第三方声明他们所做的任何修改或衍生物,并给予原始代码以合
理的赞誉。
开源软件授权协议详解(GPLMPLLGPLB
开源运动同样有自己的游戏规则和道德准则。
不遵行这些规则不但损害开源运动的健康发展,也会对违规者造成名誉和市场上的损失,更可能陷入法律纠纷和赔偿。
现今存在的开源协议很多,而经过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 是允许修改,无偿使用的。
开源软件许可协议
开源软件许可协议多数人没有注意到开源软件许可的存在,这是因为它不同于传统的书面签字或上网点击那样“接受许可”的方式。
开源软件的许可协议是开放的,只要具有相应行为就可“默认”接受的许可;但如“被许可人”不遵守有关许可条件,许可随时会被终止,“被许可人”持有开源软件的权利将自动终止,并需承担违约责任的风险。
BSD、GPL、LGPL、MPL是应用最为普遍的四种典型的自由/开源软件的许可协议(占自由/开源软件全部许可协议的80%以上)。
BSD许可证BSD是一种自由软件,其许可协议为FreeBSD。
FreeBSD的主要规定是:公开BSD的源码,可让你自由获得、复制、修改、分发BSD原创软件作品(源码);也可在BSD公开的源码基础上衍生你的软件作品。
衍生的软件作品(其源码)可以公开,也可不公开。
在你进行修改或衍生时,必须对哪些是你所获得的BSD原创软件作品所实行的BSD许可证,哪些是你在其上进行的再开发,或生成你自己的许可证,要区分清楚。
当你依法处理的作品再分发时,必须作出相应的版权声明,列出相应条件,并表明BSD拒绝担保的声明。
对于获得的BSD原创软件作品(源码)的版权(所有权)要明确表示出来,如标明它是加州大学伯克利分校的(=regents of the University of California, =University of Ca lifornia, Berkeley),即其版权属于加州大学“董事”和“贡献者”,或“所有者” (owner),并标明BSD许可证发布时间(如=1998),而且你要对使用BSD 的原创软件作品向版权所有者(owner)表示感谢(这些标明都要让你的用户知道)。
如果你把获得的这些BSD原创软件作品看成是你自己的“自主知识产权”,那无异于“剽窃”。
至于你衍生的软件作品,可以公开,也可以不公开(其实微软也使用了很多BSD的原创作品,但微软的衍生作品不公开)。
必须明确,BSD软件版权所有者或贡献者是以“AS IS”(即“保持原样”)方式提供的。
常见的几种开源协议
常见的⼏种开源协议在学习中经常能看到⼀些词,例如:GPL,LGPL等等,⾃打上学那会就遇见过,对它们的具体含义却不了解,今天给它们总结⼀下。
说到开源协议,不得不提GNU。
课本上给的定义是“GNU is Not Unix”,这是官⽅给出的递归定义,永远也找不到本意,我们可以将它理解为⼀个⾃由软件⼯程项⽬或者⼀种计划,是由Richard Stallman在1983年9⽉27公开发起的,它的⽬标是创建⼀套完全⾃由、开放的操作系统。
1985年10⽉Richard Stallman创⽴了⾃由软件基⾦会(Free Software Foundation ,FSF),其主要⼯作是执⾏GNU计划。
为了保证GNU软件可以⾃由的“使⽤、复制、修改、发布”,同样也禁⽌部分⼈在GNU软件的基础上⾃⼰修改并发布的软件中添加任何限制他⼈⾃由使⽤的条款,在这个情况下就诞⽣了GNU的许可条款,再后来⼜产⽣了其他的(⾮GNU)许可条款,统称为开源许可协议。
这⾥列举了最常⽤的⼏种开源协议:GPL (GNU General Public License):GNU通⽤公共许可协议LGPL (GNU Lesser General Public License):GNU宽通⽤公共许可协议BSD (Berkeley Software Distribution) :伯克利软件分发许可协议MIT (Massachusetts Institute of Technology):MIT许可协议之名源⾃⿇省理⼯学院,⼜称“X许可协议”或“X11许可协议”Apache (Apache License):Apache许可协议MPL (Mozilla Public License):Mozilla公共许可协议1.GPLGNU通⽤公共许可协议是⼀个被⼴泛使⽤的⾃由软件许可协议条款,GPL 保证了所有开发者的权利,同时为使⽤者提供了⾜够的复制,分发,修改的权利:可⾃由复制你可以将软件复制到你的电脑,你客户的电脑,或者任何地⽅。
五种开源协议的比较(BSD, Apache, GPL, LGPL, MIT)
五种开源协议的比较(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 采用的协议。
一张图看懂开源许可协议,开源许可证GPL、BSD、MIT、Mozilla、Apache和L。。。
⼀张图看懂开源许可协议,开源许可证GPL、BSD、MIT、Mozilla、Apache和L。
<h1><span class="link_title"><a href="/testcs_dn/article/details/38496107">⼀张图看懂开源许可协议,开源许可证GPL、BSD、MIT、Mozilla、Apache和LGPL的区别</a></span></h1><script type="text/javascript">$(function () {try{var lib = eval("("+$("#lib").attr("value")+")");var html = "";if (lib.err == 0) {$.each(lib.data, function (i) {var obj = lib.data[i];//html += '<img src="' + obj.logo + '"/>' + + " ";html += ' <a href="' + obj.url + '" target="_blank">';html += ' <img src="' + obj.logo + '">';html += ' <em><b>' + + '</b></em>';html += ' </a>';});if (html != "") {setTimeout(function () {$("#lib").html(html);$("#embody").show();}, 100);}}} catch (err){ }});</script>⾸先借⽤有⼼⼈⼠的⼀张相当直观清晰的图来划分各种协议:开源许可证GPL、BSD、MIT、Mozilla、Apache和LGPL的区别<div class="readall_box csdn-tracking-statistics tracking-click readall_box_nobg" data-pid="blog" data-mod="popu_596" style="display: none;"><div class="read_more_mask"></div><a class="btn btn-large btn-gray-fred read_more_btn" target="_self">阅读全⽂</a></div><div class="csdn-tracking-statistics" data-pid="blog" data-mod="popu_222"><a href="javascript:void(0);" target="_blank"> </a> </div><div class="csdn-tracking-statistics" data-pid="blog" data-mod="popu_223"> <a href="javascript:void(0);" target="_blank"> </a></div><div id="digg" articleid="38496107"></div><script type="text/javascript">function btndigga() {$(".csdn-tracking-statistics[data-mod='popu_222'] a").click();}function btnburya() {$(".csdn-tracking-statistics[data-mod='popu_223'] a").click();}</script>上⼀篇下⼀篇<div style="clear:both; height:10px;"></div>。
开源软件授权协议详解(GPL_MPL_LGPL_BSD_Apache Licence_Creative Commons_MIT)
无开源约束授权
BSD开源协议 开源协议 BSD开源协议是一个给于使用者很大自由的协议。 基本上使用者可以”为所欲为”,可以自由的使用,修改源代码, 也可以将修改后的代码作为开源或者专有软件再发布。 但”为所欲为”的前提当你发布使用了BSD协议的代码,或者以 BSD协议代码为基础做二次开发自己的产品时,需要满足三个条 件: 1、如果再发布的产品中包含源代码,则在源代码中必须带有原来 代码中的BSD协议。 2、如果再发布的只是二进制类库/软件,则需要在类库/软件的文 档和版权声明中包含原来代码中的BSD协议。 3、不可以用开源代码的作者/机构名字和原来产品的名字做市场 推广。 BSD 代码鼓励代码共享,但需要尊重代码作者的著作权。 BSD由于允许使用者修改和重新发布代码,也允许使用或在BSD 代码上开发商业软件发布和销售,因此是对商业集成很友好的协 议。
类似。
弱开源约束授权
MPL License( Mozilla Public License) ( ) 允许免费重发布、免费修改,但要求修改后的代码版权归软件的 发起者。
这种授权维护了商业软件的利益,,它要求基于这种软件的修改 无偿贡献版权给该软件。
这样,围绕该软件的所有代码得版权都集中在发起开发人得手 中。
其他开源约束授权
Creative Commons( CC) ( ) 您在自己的作品上使用知识共享许可协议, 网站统计
这就是所谓的”传染性”。
GPL协议的产品作为一个单独的产品使用没有任何问题,还可以 享受免费的优势。 由于GPL严格要求使用了GPL类库的软件产品必须使用GPL协 议,对于使用GPL协议的开源代码,商业软件或者对代码有保密要 求的部门就不适合集成/采用作为类库和二次开发的基础。 其它细节如再发布的时候需要伴随GPL协议等和BSD/Apache等
软件产品知识产权使用热门协议书
软件产品知识产权使用热门协议书随着科技的不断发展,软件产业逐渐成为了经济中的重要支柱。
软件产品的知识产权问题一直备受关注,如何保护自己的知识产权、在保护自己的同时兼顾产品的推广和使用? 本文将介绍在软件产品知识产权使用中常见的几种热门协议,以供各位参考。
1. GNU通用公共许可证(GPL)GPL是由自由软件基金会(FSF)制定的一款开源许可证,其目的是为了保护开源软件的自由,同时也保护软件的开发者的知识产权。
GPL许可证允许用户自由地复制、分发和修改软件,但需要保证任何修改后的版本仍然使用GPL协议。
同时,GPL还要求任何使用GPL 许可的软件如果被公开发布,必须提供源代码。
GPL许可证非常适合想要开发自由软件的开源开发者,因为它可以让所有人使用、修改和分发软件,同时也保护了开发者的权益。
但是,对于商业软件开发者来说,使用GPL协议会比较困难,因为该协议要求所有衍生版权都必须使用GPL协议。
这一要求可能会影响商业软件的营销和商业利益,因此,商业软件开发者一般会选择使用其他许可证协议。
2. MIT许可证MIT许可证是另一种开源许可证协议,其名称源自麻省理工学院。
MIT许可证非常容易理解和使用,只要遵守一些简单的规则,就可以允许任何人自由地使用、修改和分发软件。
MIT许可证要求在使用软件时包含版权声明和许可证声明。
与GPL许可证不同,MIT协议允许在任何衍生作品中使用自己的许可证。
MIT许可证对于想要在商业环境中使用和分发软件的开发者来说是一种理想的选择,因为MIT许可证相对灵活,对商业利益的影响较小。
但是,由于该协议的开放性,软件开发者需要承认可能会面临被不诚实的开发者恶意使用软件来损害其商业利益的风险。
3. Apache许可证Apache许可证是由Apache软件基金会制定的一款开源许可证协议,其目的是为了创建一个灵活的并且可持续的开源项目。
Apache许可证允许用户自由地使用、复制、分发和修改软件,同时还要求在使用软件时必须包含许可证和版权声明。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
开源软件授权协议详解(GPLMPLLGPLBSDApache
LicenceCreative Commons
开源软件授权协议详解(GPL/MPL/LGPL/BSD/Apache
Licence/Creative Commons/MIT)开源在今天的软件业已经很普遍,但开源是否意味着使用者可以对开源后的代码为所欲为呢?答案是否
定的。
开源运动同样有自己的游戏规则和道德准则。
不遵行这些规则不但损害开源运动的健康发展,也会对违规者造
成名誉和市场上的损失,更可能陷入法律纠纷和赔偿。
现今存在的开源协议很多,而经过Open SourceInitiative组织
通过批准的开源协议目前有58种。
我们在常见的开源协议如BSD,GPL,LGPL,MIT等都是OSI批准的协议。
如果要开源自己的代码,最好也是选择这些被批准的开源协议。
强开源约束授权GPL(GNU General Public License)我们很熟
悉的Linux就是采用了GPL。
GPL协议和BSD,Apache Licence等鼓励代码重用的许可很不一样。
GPL的出发点是代码的开源/使用和引用/修改/衍生代码的开源/
使用,但不允许修改后和衍生的代码做为闭源的商业软件发布和销售。
这也就是为什么我们能用的各种linux,包括商业公司的linux
和linux上各种各样的由个人,组织,以及商业软件公司开发的软件了。
GPL协议的主要内容是只要在一个软件中使用(“使用”指类库引用,修改后的代码或者衍生代码)GPL协议的产品,则该软件产品必须也采用GPL协议,既必须也是开源和。
这就是所谓的”传染性”。
GPL协议的产品作为一个单独的产品使用没有任何问题,还可以享受的优势。
由于GPL严格要求使用了GPL类库的软件产品必须使用GPL协议,对于使用GPL协议的开源代码,商业软件或者对代码有保密要求的部门就不适合集成/采用作为类库和二次开发的基础。
其它细节如再发布的时候需要伴随GPL协议等和BSD/Apache等类似。
弱开源约束授权MPL License(Mozilla PublicLicense)允许重发布、修改,但要求修改后的代码版权归软件的发起者。
这种授权维护了商业软件的利益,,它要求基于这种软件的修改无偿贡献版权给该软件。
这样,围绕该软件的所有代码得版权都集中在发起开发人得手中。
但MPL是允许修改,无偿使用的。
MPL软件对链接没有要求。
(要求假如你修改了一个基于MPL协议的源代码,则必须列入或公开你所做的修改,假如其他源代码不是基于MPL则不需要公开其源代码)LGPL(GNU LesserGeneralPublicLicense)LGPL是GPL的一个为主要为类库使用设计的开源协议。
和GPL要求任何使用/修改/衍生之GPL类库的的软件必须采用GPL 协议不同。
LGPL允许商业软件通过类库引用(link)方式使用LGPL类库而不需要开源商业软件的代码。
这使得采用LGPL协议的开源代码可以被商业软件作为类库引用并发布和销售。
但是如果修改LGPL协议的代码或者衍生,则所有修改的代码,涉及修改部分的额外代码和衍生的代码都必须采用LGPL协议。
因此LGPL协议的开源代码很适合作为第三方类库被商业软件引用,但不适合希望以LGPL协议代码为基础,通过修改和衍生的方式做二次开发的商业软件采用。
GPL/LGPL都保障原作者的知识产权,避免有人利用开源代码复制并开发类似的产品。
MIT(MIT)MIT是和BSD一样宽范的许可协议,作者只想保留版权,而无任何其他了限制。
也就是说,你必须在你的发行版里包含原许可协议的声明,无论你是以二进制发布的还是以源代码发布的。
无开源约束授权BSD开源协议BSD开源协议是一个给于使用者很大自由的协议。
基本上使用者可以”为所欲为”,可以自由的使用,修改源代码,也可以将修改后的代码作为开源或者专有软件再发布。
但”为所欲为”的前提当你发布使用了BSD协议的代码,或者以BSD协议代码为基础做二次开发自己的产品时,需要满足三个条件
1、如果再发布的产品中包含源代码,则在源代码中必须带有原来代码中的BSD协议。
2、如果再发布的只是二进制类库/软件,则需要在类库/软件的文档和版权声明中包含原来代码中的BSD协议。
3、不可以用开源代码的作者/机构名字和原来产品的名字做市场推广。
BSD代码鼓励代码共享,但需要尊重代码作者的著作权。
BSD由于允许使用者修改和重新发布代码,也允许使用或在BSD
代码上开发商业软件发布和销售,因此是对商业集成很友好的协议。
而很多的公司企业在选用开源产品的时候都首选BSD协议,因为可以完全控制这些第三方的代码,在必要的时候可以修改或者二次开发。
Apache LicenceApache Licence是著名的非盈利开源组织Apache 采用的协议。
该协议和BSD类似,同样鼓励代码共享和尊重原作者的著作权,同样允许代码修改,再发布(作为开源或商业软件)。
需要满足的条件也和BSD类似
1、需要给代码的用户一份Apache Licence
2、如果你修改了代码,需要再被修改的文件中说明。
3、在延伸的代码中(修改和有源代码衍生的代码中)需要带有原来代码中的协议,商标,专利声明和其他原来作者规定需要包含的说明。
4、如果再发布的产品中包含一个Notice文件,则在Notice文件中需要带有Apache Licence。
你可以在Notice中增加自己的许可,但不可以表现为对ApacheLicence构成更改。
Apache Licence也是对商业应用友好的许可。
使用者也可以在需要的时候修改代码来满足需要并作为开源或商业产品发布/销售。
其他开源约束授权Creative Commons(CC)您在自己的作品上使用知识共享许可协议,网站统计。
内容仅供参考。