各种开源协议说明(License)
几种常见的开源软件许可协议(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还规定了衍生作品需要开放源代码,并明确指出版权和许可证。
Linux 开源协议

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。
各种开源协议详解

各种开源协议详解合同方详细信息甲方(委托方):名称:地址:代表人:乙方(承包方):名称:地址:代表人:第一章总则第一条目的本合同旨在详细阐述各种开源协议的条款和特征。
第二条定义(1)开源协议:授予受让人使用、修改和分发受著作权保护的作品的许可证协议。
(2)受著作权保护的作品:受著作权法保护的作品,包括但不限于软件代码、文档和艺术作品。
(3)受让人:获得开源许可协议项下权利的人或组织。
第二章开源协议类型第一条宽松开源协议(1)MIT许可证:允许受让人自由使用、修改和分发作品,包括商业用途。
(2)BSD许可证:与MIT许可证类似,但也要求在使用、修改或分发派生作品时保留原始版权和许可证声明。
第二条复制左派开源协议(1)GNU通用公共许可证(GPL):要求派生作品在相同的许可条款下分发。
(2)Affero通用公共许可证(AGPL):GPL的修改版,适用于网络服务,要求派生作品的修改服务版本在相同的许可条款下分发。
第三条准拷贝左派开源协议(1)Mozilla公共许可证(MPL):允许派生作品在MPL或兼容许可证下分发,但修改的部分必须在MPL或兼容许可证下分发。
(2)Apache许可证:允许派生作品在Apache许可证或兼容许可证下分发,但必须保留原始版权和许可证声明。
第三章开源协议选择因素第一条商业使用使用开源许可协议应考虑是否打算将作品用于商业目的。
宽松开源协议允许商业使用,而复制左派开源协议则限制商业使用或要求分发派生作品。
第二条贡献如果要对开源项目进行贡献,应选择允许贡献者保留版权的开源许可协议,例如MIT许可证或BSD许可证。
第三条法律责任使用开源许可协议应考虑可能承担的法律责任。
复制左派开源协议可能导致分发派生作品的责任。
第四章遵守开源协议第一条遵守条款受让人有义务遵守开源协议的所有条款,包括版权声明、许可条款和任何其他限制。
第二条侵权责任违反开源协议条款可能导致侵权指控,并导致法律责任。
第五章适用法律和争议解决第一条适用法律本合同受[插入适用法律名称]法律管辖并按其解释。
软件源代码授权协议

软件授权协议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许可证也要求在分发时附上原始协议和版权声明。
开源≠免费,开源协议License详解

开源≠免费,开源协议License详解凡是做过软件开发的,都会接触到开源软件或开源组件,它们都会基于某种协议来提供源码和授权,那么这些开源协议到底有哪些约束呢?在介绍之前,必须告诉⼤家,针对开源协议,必须打消“开源 = 免费”这个念头,因为“天下没有免费的午餐”这条真理在这⾥也是适⽤的……本⽂摘录的各种开源协议介绍如下:Apache Licence 2.0Apache Licence是著名的⾮盈利开源组织Apache采⽤的协议。
该协议和BSD类似,同样⿎励代码共享和尊重原作者的著作权,同样允许代码修改,再发布(作为开源或商业软件)。
需要满⾜的条件也和BSD类似:1. 需要给代码的⽤户⼀份Apache Licence2. 如果你修改了代码,需要在被修改的⽂件中说明。
3. 在延伸的代码中(修改和有源代码衍⽣的代码中)需要带有原来代码中的协议,商标,专利声明和其他原来作者规定需要包含的说明。
4. 如果再发布的产品中包含⼀个Notice⽂件,则在Notice⽂件中需要带有Apache Licence。
你可以在Notice中增加⾃⼰的许可,但不可以表现为对Apache Licence构成更改。
Apache Licence也是对商业应⽤友好的许可。
使⽤者也可以在需要的时候修改代码来满⾜需要并作为开源或商业产品发布/销售。
GPL在⾃由软件所使⽤的各种许可证之中,最为⼈们注意的也许是通⽤性公开许可证(General Public License,简称GPL)。
GPL同其它的⾃由软件许可证⼀样,许可社会公众享有:运⾏、复制软件的⾃由,发⾏传播软件的⾃由,获得软件源码的⾃由,改进软件并将⾃⼰作出的改进版本向社会发⾏传播的⾃由。
GPL 还规定:只要这种修改⽂本在整体上或者其某个部分来源于遵循GPL的程序,该修改⽂本的整体就必须按照GPL流通,不仅该修改⽂本的源码必须向社会公开,⽽且对于这种修改⽂本的流通不准许附加修改者⾃⼰作出的限制。
各种开源协议说明

各种开源协议说明开源协议是一种法律许可证,它规定了开放源代码软件的使用和分发条件。
这些协议确保了源代码的访问权,并且允许开发者修改和重新分发软件。
在详细介绍几种常见的开源协议前,值得注意的是,任何组织或个人使用开源软件时都应仔细阅读和理解相关协议的条款。
下面,我将介绍几种常见的开源协议。
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还规定了软件使用和分发方面的条款。
总的来说,开源协议以不同的形式和方式保障了开放源代码软件的自由和灵活性。
开发者可以根据自己的需求选择适合的开源许可证,以保护其软件的使用和分发权利。
然而,无论使用哪种开源许可证,都需要严格遵守相关协议的条款,以确保合法合规地使用和分发开源软件。
常用的开源协议

以下是一些常用的开源协议:1. GNU通用公共许可证(GNU General Public License,GPL):这是最广泛使用的开源许可证之一,它明确规定了用户对软件的自由使用、修改和传播的权利,同时要求任何基于该软件的衍生作品也必须遵循相同的开源条款。
2. MIT许可证(MIT License):这是一种简洁而灵活的开源许可证,允许用户自由地使用、复制、修改、合并、发布和再授权软件。
它较为宽松,仅要求在软件的所有副本中包含版权声明和许可声明。
3. Apache许可证(Apache License):这是Apache软件基金会所采用的开源许可证,允许用户在保持原始许可证条件下自由使用、修改、分发和销售软件。
与GPL 相比,Apache许可证更加商业友好。
4. BSD许可证(BSD License):这是一系列类似的开源许可证,如BSD 2-Clause License和BSD 3-Clause License 等。
BSD许可证相对宽松,允许用户自由使用、修改和分发软件,同时要求在衍生作品中保留原始许可证和版权声明。
5. Mozilla公共许可证(Mozilla Public License,MPL):这是由Mozilla基金会创建的一种开源许可证,主要用于保护Mozilla Firefox等开源软件。
它要求使用、修改和分发软件的衍生作品时必须遵循相同的许可证。
6. Eclipse公共许可证(Eclipse Public License,EPL):这是Eclipse基金会采用的一种开源许可证,允许用户使用、修改和分发软件,同时对于衍生作品也有特定的规定。
请注意,每种许可证都有其独特的条款和限制,因此在选择和使用开源软件时应仔细阅读和理解相关许可证的内容,并根据项目需求进行选择。
此外,由于法律和许可证可能会随时间而变化,请在使用开源软件前查阅最新的许可证版本和法律条文。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
各种开源协议说明
许多开发者和设计者希望把他们的作品作为开源项目共享,他们希望其他人能够利用和共享他们的代码。
而各种开源社区就是因为这个原因而充满活力。
开源软件可以用于你能想象得到的任何应用程序,许多web设计人员使用开源软件作为开发基础(例如WordPress,Drupal等等许多CMS系统都是开源的)。
但是许多开发者和设计者并没有对开源License有清楚的了解,不清楚当他们选择开发自己的源代码时,他们有什么权利。
如果不知道明确的License的内容,他们就不知道如何做出最明智的选择,如何做对他们最有利。
对于中国的开发者来说,因为中国发达的盗版文化,泛滥的盗版软件,大部分人恐怕都完全没有License或者版权这个概念,都是奉行拿来主义。
如果我们一直都是这样的话,中国软件何来进步。
所以对于国内的开发者来说,第一课就是应该学习如何使用和遵守License。
什么是License
许多混乱就始于你不知道License到底是什么,到底有什么含义。
当你对你的产品使用License时,并不意味着你放弃了任何权利,你依然对其拥有原著作权。
License只是授予他们于特定权利来使用你的产品。
License只是把你的作品释放到公有领域,或者给各个拷贝赋予权限。
也意味着你放弃了版权收入,别人也没有义务把你列为原作者或贡献者。
开放源代码许可协议更容易为他人作出贡献,而不必寻求特别的许可。
它也可以保护你作为原创者的权利,至少确认了你的贡献。
它还可以保证你的工作不为别人所剽窃。
GNU General Public License
GNU General Public License (GPL)的可能是开源项目最常用的许可证。
GPL赋予和保证了开源项目开发者广泛的权利。
基本上,它允许用户合法复制,分发和修改软件。
这意味着你可以:
•复制软件
复制软件到自己的服务器,客户端的服务器,你自己的电脑,几乎任何你想要的地方,而且没有数量限制。
•发布软件
发布你想要的软件,例如,在你的网站提供下载链接,刻成光盘,打印出来等等。
•收取费用
如果你想在向别人提供软件时收费,如设置在别人的网站上或者其他用途时。
GPL 允许你这么做,但是你必须给客户提供一个GPL副本,告诉他们可以在其他地方得到免费版本。
当然最好在此之前,告诉客户,你为什么收费。
•可以任意修改
如果你想添加或删除功能,没问题。
如果想在其他项目中使用部分代码,也是可以的,但是唯一的限制是此项目也必须按GPL发布。
商业软件不能使用GPL协议的代码。
GNU Lesser General Public License
还有另一个GNU License:GNU Lesser General Public License (LGPL)。
比起GPL 它授予的权限较少。
一般来说,LGPL比较适合连接到非GPL或者非开源文件的库文件。
由于GPL的规定,使用到部分GPL代码的软件,必须也使用GPL,开发人员不能使用GPL来开发收费软件或者专有软件。
LGPL则没有这方面的要求,不要求使用与部分代码相同的License。
商业软件可以使用,但不能修改LGPL协议的代码。
BSD License
BSD License与其他自由软件License相比,如GPL,限制更少。
但是请注意到BSD License两种版本之间的差别:New BSD License/Modified BSD License 和Simplified BSD License/FreeBSD License。
它们两者都是于GPL兼容的自由软件License。
New BSD License (”3-clause license”) 可以用于任何作为版权声明和保证许可的免责声明的目的,可以通过无限长的再分发来得以维持,也就是说如果再发布的产品中包含源代码,则在源代码中必须带有原来代码中的BSD协议。
它还有一个特殊限制条款,不用特别的许可就是限制使用派生工作的工作者名字,也就是说不可以用开源代码的作者/机构名字和原来产品的名字做市场推广。
New BSD License和Simplified BSD License的主要区别是,后者忽略了非认可条款。
商业软件可以使用,也可以修改使用BSD协议的代码。
MIT License
MIT是和BSD一样宽松的许可协议,作者只想保留版权,而无任何其他了限制.也就是说,你必须在你的发行版里包含原许可协议的声明,无论你是以二进制发布的还是以源代码发布的。
•你可以使用,复制和修改软件
•你可以免费使用软件或出售
•唯一的限制是,它是必须附有MIT授权协议
商业软件可以使用,也可以修改MIT协议的代码,甚至可以出售MIT协议的代码。
Mozilla Public License 1.1
Mozilla Public License 1.1 (MPL)协议允许免费重发布、免费修改,但要求修改后的代码版权归软件的发起者。
这种授权维护了商业软件的利益,,它要求基于这种软件得修改无偿贡献版权给该软件。
这样,围绕该软件得所有代码得版权都集中在发起开发人得手中。
但MPL是允许修改,无偿使用得。
MPL软件对链接没有要求。
商业软件可以使用,也可以修改MPL协议的代码,但修改后的代码版权归软件的发起者。
Common Development and Distribution License
CDDL(Common Development and Distribution License,通用开发与销售许可)开源协议,是MPL(Mozilla Public License)的扩展协议,它允许公共版权使用,无专利费,并提供专利保护,可集成于商业软件中,允许自行发布许可。
商业软件可以使用,也可以修改CDDL协议的代码。
Apache License
Apache Licence是著名的非盈利开源组织Apache采用的协议。
该协议和BSD类似,同样鼓励代码共享和尊重原作者的著作权,同样允许代码修改,再发布(作为开源或商业软件)。
需要满足的条件:
•需要给代码的用户一份Apache License。
•如果你修改了代码,需要在被修改的文件中说明。
•在延伸的代码中(修改和有源代码衍生的代码中)需要带有原来代码中的协议,商标,专利声明和其他原来作者规定需要包含的说明。
•如果再发布的产品中包含一个Notice文件,则在Notice文件中需要带有Apache License。
你可以在Notice中增加自己的许可,但不可以表现为对Apache License构成更改。
Apache Licence也是对商业应用友好的许可。
使用者也可以在需要的时候修改代码来满足需要并作为开源或商业产品发布/销售。
商业软件可以使用,也可以修改使用Apache协议的代码。
Eclipse Public License
Eclipse Public License(EPL)是一个与CPL相类似的许可证,任何扩展自Eclipse源码的代码也必须是开源的。
Creative Commons
Creative Commons(CC)的许可证不太开放源代码授权,它们通常用于设计项目。
CC 许可证有着宽广的定义,每个定义都会授予一定的权利。
它有四个基本部分,可以单独或者组合使用。
下面是部分概述:
•署名
作者必须是作品的原创者。
除此之外,作品可以修改,分发,复制和以其他方式使用。
•相同方式共享
工作可以修改,分发等等,但必须在一个许可证下。
•非商业
可以修改,分发等,但不用于商业目的。
关于什么是“商业”,说法比较含糊(没有提供明确的定义),因此您可能需要在自己的项目中澄清这一点。
•禁止修改
这意味着您可以复制和分发许可工作,但你不能以任何方式修改,或在原有的基础开发。
商业软件的使用要遵从CC协议的具体规定,最严格的许可证将是“署名,非商业,不能修改”的授权。
这意味着你可以自由共享的工作,但不能改变它,你必须把它归功于原创者。
Common Public License 1.0
Common许可证有一些细节性的规定值得参考:
•明确了专利授权。
一般的开源软件都明确源代码的版权人将自己的修改权、复制权等版权权利向公众许可,但保留署名权,而Common许可证在此基础上还明确假如源代码中含有专利权,源代码专利权人将复制、使用的专有权利向公众许可。
•规定可以将源代码及修改过的源代码与其他类型的不受本许可证约束的代码结合,以新产品的形式发布,只要其中经该许可证获得的源代码及修改过的源代码能按该许可证的要求发布即可。
•细化了该许可证终止的情形,包括发生专利侵权诉讼。
•明确了一个独立承担责任的原则,就是假如按该许可证使用源代码的使用者将获得的源代码应用于商业使用,那么他就要对在商业应用中出现的由于使用该源代码程序而产生的侵权诉讼承担完全责任。
这一条规定是比较特殊的,绝大多数开源软件许可证都不这么要求。
商业软件可以使用,也可以修改Common协议的代码,但要承担代码产生的侵权责任。
高考是我们人生中重要的阶段,我们要学会给高三的自己加油打气。