各种开源协议说明(License)

合集下载

几种常见的开源软件许可协议(GPL,LGPL,ApacheLicense,BSD)

几种常见的开源软件许可协议(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  开源协议

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详解

开源≠免费,开源协议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基金会采用的一种开源许可证,允许用户使用、修改和分发软件,同时对于衍生作品也有特定的规定。

请注意,每种许可证都有其独特的条款和限制,因此在选择和使用开源软件时应仔细阅读和理解相关许可证的内容,并根据项目需求进行选择。

此外,由于法律和许可证可能会随时间而变化,请在使用开源软件前查阅最新的许可证版本和法律条文。

了解开源的许可证GPL、LGPL、BSD、Apache 2.0的区别

了解开源的许可证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就是一个好例子。

常见的开源License

常见的开源License

常见的开源License⽬录什么是开源软件开放源代码的软件。

假设有⼀天⾃我感觉代码能⼒不错,写了个⼩⼯具,但我并不想通过它来赚钱,我更想把这个⼯具及代码分享出去,让别⼈免费使⽤或阅读我写的代码,对我⽽⾔,能获得别⼈的认可,提升影响⼒我就感到很开⼼,这就是开源,开源也是⼀种精神。

相对应的就是闭源,不开放源代码,⽐如⼤多数商业软件。

关键技术不能跟你分享,不然哪⼀天你成为我竞争对⼿咋办,我还得靠这代码恰饭。

什么是 licenselicense 翻译为许可证。

理解为协议或版权声明,违反协议的后果就是商业纠纷。

⽤原创作品类⽐,我发布这篇⽂章时声明了原创,别⼈如果要转载这篇⽂章,要经过我允许,否则就侵犯了我的权益。

当然⽂章的版权与软件版权还是不⼀样的,不做过多⽐较。

商业许可证与开源许可证商业许可证理解为使⽤该软件的门票,⽐如要使⽤ IDEA,你需要付费购买 license。

原创⽂章,你可以免费看,但不可以抄袭或者⽤作商业⽤途。

类似的,开源软件,你可以免费使⽤、修改代码、与别⼈分享,但有⼀定的约束,通过开源许可证进⾏约束,它就像⽂章原创声明,但⽐原创声明复杂得多。

开源许可证有很多种类型,包含的内容各不相同,也就是对使⽤者的约束不⼀样。

⽐如开源代码如果使⽤ GPL 协议,那么你就不能将这个代码利⽤在⾃⼰的商业产品中。

对开发者的影响如果公司开发⼀个产品,需要使⽤到开源项⽬,将开源项⽬作为 jar 包引⽤或者需要修改项⽬源代码,不同情况应该使⽤不同的项⽬,否则会引起商业纠纷。

开源许可证的类型开源许可证种类繁多,⼤概有上百种,但常⽤的有 6 种,为了⽅便理解,以主要特点作简要说明。

不推荐⽤于商业产品的协议GPL - GNU General Public LicenseGNU 通⽤公共许可协议,免费使⽤、引⽤、修改代码,但不能⽤在闭源软件中发布及销售。

“传染性” 表⽰如果⼀个软件使⽤了 GPL 协议的开源代码,那么这个软件也必须开源,仍然免费使⽤。

各种开源协议说明(License)

各种开源协议说明(License)

各种开源协议说明许多开发者和设计者希望把他们的作品作为开源项目共享,他们希望其他人能够利用和共享他们的代码。

而各种开源社区就是因为这个原因而充满活力。

开源软件可以用于你能想象得到的任何应用程序,许多web设计人员使用开源软件作为开发基础(例如WordPress,Drupal等等许多CMS系统都是开源的)。

但是许多开发者和设计者并没有对开源License有清楚的了解,不清楚当他们选择开发自己的源代码时,他们有什么权利。

如果不知道明确的License的内容,他们就不知道如何做出最明智的选择,如何做对他们最有利。

对于中国的开发者来说,因为中国发达的盗版文化,泛滥的盗版软件,大部分人恐怕都完全没有License或者版权这个概念,都是奉行拿来主义。

如果我们一直都是这样的话,中国软件何来进步。

所以对于国内的开发者来说,第一课就是应该学习如何使用和遵守License。

什么是License许多混乱就始于你不知道License到底是什么,到底有什么含义。

当你对你的产品使用License时,并不意味着你放弃了任何权利,你依然对其拥有原著作权。

License只是授予他们于特定权利来使用你的产品。

License只是把你的作品释放到公有领域,或者给各个拷贝赋予权限。

也意味着你放弃了版权收入,别人也没有义务把你列为原作者或贡献者。

开放源代码许可协议更容易为他人作出贡献,而不必寻求特别的许可。

它也可以保护你作为原创者的权利,至少确认了你的贡献。

它还可以保证你的工作不为别人所剽窃。

GNU General Public LicenseGNU General Public License (GPL)的可能是开源项目最常用的许可证。

GPL赋予和保证了开源项目开发者广泛的权利。

基本上,它允许用户合法复制,分发和修改软件。

这意味着你可以:复制软件复制软件到自己的服务器,客户端的服务器,你自己的电脑,几乎任何你想要的地方,而且没有数量限制。

python开源协议的种类

python开源协议的种类

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作为一种开源语言,采用了多种开源协议来保护和规定其使用和分发的条件。

开发者可以根据自己的需求和偏好选择适合自己的开源协议,既保护了软件的自由性,又兼顾了商业化的可能性。

开源 ≠ 免费,开源协议License详解

开源 ≠ 免费,开源协议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。

2. BSD许可证(BSD License)BSD是一种非常宽松的开源许可证,在使用者满足一些基本要求的前提下,允许自由地使用、修改和再发布软件。

BSD许可证要求在再发布软件时,必须包含原始的许可证和版权声明。

3. MIT许可证(MIT License)MIT是一种非常简洁和宽松的开源许可证,允许自由地使用、修改和再发布软件。

与BSD许可证类似,MIT许可证也要求在再发布软件时,必须包含原始的许可证和版权声明。

4. Apache许可证(Apache License)Apache许可证是由Apache软件基金会开发的一种开源许可证,允许使用者自由地使用、修改和再发布软件。

Apache许可证还提供了额外的专利授权,以保护使用者免受可能存在的专利侵权诉讼。

5. Eclipse公共许可证(Eclipse Public License,EPL)EPL是一种基于GPL的开源许可证,在保护开发者和使用者的自由的同时,还鼓励商业软件的开发和整合。

EPL要求源代码必须开放,但不要求继承者的衍生作品也必须遵守EPL。

6. Mozilla公共许可证(Mozilla Public License,MPL)MPL是由Mozilla基金会开发的一种开源许可证,它是一种混合许可证,结合了GPL和BSD的特点。

MPL要求源代码必须开放,同时还允许使用者将衍生作品以其他开源协议发布。

这些开源协议各有特点,用户可以根据自己的需求和对软件的开放程度的要求,选择适合自己的开源许可证。

无论选择哪种许可证,开源协议都提供了一种通过共享和合作来促进软件开发和创新的方式,有助于推动开源社区的发展和成长。

常见的几种开源协议

常见的几种开源协议

常见的⼏种开源协议在学习中经常能看到⼀些词,例如: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 保证了所有开发者的权利,同时为使⽤者提供了⾜够的复制,分发,修改的权利:可⾃由复制你可以将软件复制到你的电脑,你客户的电脑,或者任何地⽅。

五种开源协议书

五种开源协议书

五种开源协议书甲方(版权持有者):________________________地址:______________________________________联系方式:__________________________________乙方(使用者/贡献者):____________________地址:______________________________________联系方式:__________________________________鉴于甲方是以下开源软件的版权持有者,乙方希望使用或贡献该开源软件,甲乙双方本着平等自愿、诚实信用的原则,经协商一致,就开源软件的使用和贡献事宜达成如下协议:第一条定义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 乙方贡献的知识产权归甲方所有,除非开源许可证有其他规定。

开源协议介绍范文

开源协议介绍范文

开源协议介绍范文开源协议是指为开放源代码项目所制定的法律规定和政策。

它们定义了开放源代码项目的权利和义务,以及社区成员共同遵守的规范。

开源协议对于推动创新、促进知识共享、保护开发者和用户的权益都起到了重要的作用。

本文将介绍几种常见的开源协议,包括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)等。

这些协议在许可证的精确条款、适用范围和特点上会有所区别,开发者可以根据具体项目的需求选择合适的开源协议。

开源协议的好处是多方面的。

首先,它促进了知识共享和技术创新。

开源协议使得开发者可以共享经验、学习别人的代码,并根据自己的需求进行修改和改进。

关于那些各种各样的开源协议

关于那些各种各样的开源协议

关于那些各种各样的开源协议⼀般在github或者gitee上项⽬在开源协议时基本上⼤多都不明⽩这些协议的意思,都包含什么。

当专⽤⼀些开源项⽬时其实也会害怕是否没有遵守或者说有违反协议的时候。

它们都包含什么⼜有什么区别呢?说⼀说常见的⼏种开源协议,当然咱也不是专业搞知识产权的,只能从字⾯意思稍作了解,当做知识的扩充:BSD协议⾸先我想说的是BSD协议,BSD是加州⼤学伯克利分校发布的协议。

在软件复⽤上给了最⼩程度的限制。

BSD协议允许作业使⽤该协议下的资源并私有、闭源发布。

⼆条款BSD1.再发布的产品中含有源代码,则源代码必须带有原有的BSD协议。

2.如果再发布的是⼆进制类库/软件需要在⽂档中声明原来包含的BSD协议。

三条款BSD除了上⾯⼆条款那⼏条外3.不准⽤原来开源的作者或机构的名字来做市场推⼴。

GPL协议(GNU General Public License)这个在Linux⾥见的⽐较多,是由GNU组织发布的,Linux和Git正是遵守这⼀协议。

该协议为了确保⾃由软件,包括⾃由复制、分发和修改。

强调⾃由。

⾃由发布软件可以收费。

必须包含许可协议和版权声明。

MIT协议(MIT License)MIT许可来⾃⿇省理⼯学院。

内容与BSD相似。

但是授予软件被授权⼈更⼤的权⼒。

被授权⼈可以使⽤、⽗⼦、修改、合并、出版发⾏、散布、在授权以及销售。

副本需要包含版权声明和许可声明。

在这⾥插⼀点。

我第⼀回知道copyleft(著佐权)是⾃由版权的意思,反版权。

以前只知道copyright,我曾经看到的别⼈⽹站下⾯有个copyleft我还以是搞笑的。

这个也是GNU 提出的。

LGPL 协议是GPL⼀个主要为类库设计的开源协议。

采⽤LGPL协议的开源代码可以被商业软件作为类库引⽤发布和销售,允许商业软件使⽤link类库的⽅式使⽤⽽本⾝不需要开源。

衍⽣的代码必须采⽤LGPL协议。

保障原作者的知识产权,避免被别⼈复制开发同类产品。

五种开源协议的比较

五种开源协议的比较

五种开源协议的比较(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 协议,因为可以完全控制这些第三方的代码,在必要的时候可以修改或者二次开发。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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协议的代码,但要承担代码产生的侵权责任。

高考是我们人生中重要的阶段,我们要学会给高三的自己加油打气。

相关文档
最新文档