开源协议参考
Updated:
简单地理解如下:GPL,其授权的代码做开发,新开发的软件依然需要GPL,GPL对所有的开发者一视同仁,所有的用户都可以免费得到软件及其源码;LGPL,为商业引用而存在,这样商业软件就可以应用开源的代码了,只要在发布的声明中说清楚就可以了;BSD,你怎么使用BSD授权的东西都可以,但是如果要闭源,那么需要附上所引用的原先BSD软件部分的声明;MIT,我的协议很简单,你怎么用软件都可以,只要你赞同我的协议;APL,权利永不失,权利不拍他,尊重原作者,附上APL,商业友好但需说明修改的部分;CC,知识共享。
GPL
授予程序接受人以下权利,或称“自由”:
· 以任何目的运行此程序的自由;
· 再发行复制件的自由;
· 改进此程序,并公开发布改进的自由(前提是能得到源代码)。
相反地,随版权所有软件的最终用户许可证几乎从不授予用户任何权利(除了使用的权利),甚至可能限制法律允许的行为,比如逆向工程。
GPL与其他一些更“许可的”自由软件许可证(比如BSD许可证)相比,主要区别就在于GPL寻求确保上述自由能在复制件及演绎作品中得到保障。它通过一种由斯托曼发明的叫Copyleft的法律机制实现,即要求GPL程序的演绎作品也要在GPL之下。相反,BSD式的许可证并不禁止演绎作品变成专有软件。
由于某些原因,GPL成为了自由软件和开源软件的最流行许可证。到2004年4月,GPL已占Freshmeat上所列的自由软件的约75%,SourceForge的约68%。类似的,<2001年一项关于Red Hat Linux 7.1的调查显示一般的代码都以GPL发布。著名的GPL自由软件包括Linux核心和GCC。
GNU General Public License 通用公共许可协议
GNU General Public
Licence 通用公共许可协议 (GPL) 可以说是在开源项目中使用最广泛的一种协议来。 GPL 对开发开源软件的开发者们在权利上进行了周详的认可和保障。本质上讲,它允许用户对软件进行合法的拷贝,传播和修改。这意味着你可以:
随意复制。
把它拷贝到你自己的服务器上、你的客户的服务器上、你自己的电脑上,基本上任何你能想到的地方。对你拷贝的数量也没有任何限制。(译者按:中国人用盗版用惯了,估计对这点会很不以为然。)
随意传播。
在你的网站上做一个下载链接进行下载。拷贝到你的移动硬盘里送人。把原代码打印出来,站在屋顶散发(最好别这样做,会浪费纸,而且影响环境清洁)。
收费传播
如果你想通过发放这种软件来收取费用,你可以把它放到你的网站上出售,或者通过其它你可以做到的方式达到你的目的。 但是, 你必须将一份GNU GPL 协议和你卖出的软件一起给买主,以让买主知道这种软件是可以通过其它途径免费获得的。最好是事先人知道这些,以及你为什么要出售它们。
随意修改。
如果你想增加或删减一些功能,那就干吧。如果你想在其它项目里使用它里的一部分代码,也是允许的。只是有一点,这个其它项目也必须是使用 GPL 授权的。
请注意一个非常重要的概念:对源代码的传播和对已编译代码的传播是两个完全不同的事情。因此,有些应用程序的许可协议对着两种形式的代码分别进行了不同的使用授权。 更多的信息可以参考文章 GPL 协议实用手册 (作者 @PierreJoye)。要想使用
GPL, 你还必须在代码里添加一些协议相关信息,还要有一份许可协议的副本拷贝。
GNU Lesser General Public License 次通用公共许可协议
你还需要了解另外一种 GNU 许可协议: Lesser General
Public Licence 次通用公共许可协议 (LGPL)。它对作品的使用保留了更少的权利。通常,LGPL 适用于一些类库,它允许这些类库能够被非GPL或非开源软件引用。因为 GPL 要求,要想使用 GPL 保护下的代码,你必须把你的软件也置于 GPL 协议之下。开发者不能够在商业的和具有私有权的软件里使用GPL协议下的程序。而 LGPL 放弃了这些限制,它不要求其它程序也必须使用相同的协议才能使用这些代码程序。
BSD 许可协议
BSD 协议有很多分支,它们都代表了一种宽松的自由软件协议,相对其它协议,例如GPL,来说,它们对软件的传播给予了更少的限制。
在这种协议的各种版本中,有两个版本格外的重要: 新 BSD 协议/修订版 BSD 协议和简化 BSD 协议/FreeBSD 协议。这两类协议都实现的对 GPL 兼容的自由软件协议,而且被 Open Source Initiative 认可为开源软件协议。
新 BSD 协议(”3-clause license”)无任何限制的允许你以任何目的二次分发这种软件,唯一的要求是必须保留拷贝权的声明和协议里的软件权利放弃条款。这种协议还有一个限制,未经许可不得使用这个作品的所有曾经捐助者的署名。 新 BSD 协议和简化 BSD 协议的最主要的区别是后者删除了署名条款。
BSD 代码鼓励代码共享,但需要尊重代码作者的著作权。BSD由于允许使用者修改和重新发布代码,也允许使用或在BSD代码上开发商业软件发布和销售,因此是对商业集成很友好的协议。而很多的公司企业在选用开源产品的时候都首选BSD协议,因为可以完全控制这些第三方的代码,在必要的时候可以修改或者二次开发。
MIT 许可协议
MIT 协议应该是在流行的开源协议中最简短的、使用最广泛的一种协议。它的条款非常的宽松,而且跟其它协议相比更自由。 这种协议最基本的条款 ( the information that it is provided without warranty, which comprises the final paragraph)
如下:
特此授权,任何人都可免费获得这个软件以及相关文档(the “Software”)的拷贝,可以无限制的使用这个软件,包括无限制的权利去使用、复制、修改、合并、发布、附加从属协议,以及/或者出售软件的拷贝, 同时,为了让软件的提供者有权利做到这些,下面的条件必须遵守:
上面的拷贝权声明和许可声明必须包含在所有的这个软件拷贝里和实际分署部分里。
这也就是说:
你可以随意使用,复制,修改这个软件。没有人能够阻止你在任何工程里使用它,你可以复制任意次数、以任何形式,或按你的愿望修改它。
你可以向外免费发放,或出售。你可以随意的分发它,没有任何限制。
唯一的限制是你必须接受协议条款。
MIT 协议是目前最少限制的协议。它基本上就是任何人可以对这个协议下的软件的做任何的事情,只要你能认可这个协议。
Apache 许可协议
Apache 许可协议, 2.0 版本, 授予了用户大量的权利。这些权利可以应用于拷贝权,也可以用于专利权。因为很多许可协议只能适用于拷贝权,不适用于专利权,所以这个灵活性就成了让有专利的开发者们选择许可协议时的一个显著参考因素 (要想明白两者之间的不同,请参考 How Stuff Works 上的这篇文章 )。
下面是关于 Apache 许可协议所允许的事项的详细说明:
权利永恒。
一旦被授权,权利永久不失。
权利无疆界。
在一个国家里被授权,形同于在所有国家被授权。例如,你在美国,但许可权最初在印度被授予,你同样可以使用这个被授权的程序。
授权无需付费和支付酬劳。
你既不需要在使用之前支付任何的费用,也无需在每次使用时支付任何的费用,或者其它类似情况。
权利不排他。
使用这种许可协议下的软件时,不妨碍你使用其它软件。
权利不可变更。
权利一旦授予,不可剥夺。也就是说,你在使用这个软件的过程中,你无需担心这种情况:当你开发出了令人羡慕的基于这种授权软件的衍生产品时,有人突然跳出来对你说,“抱歉,你将不再被允许使用这个程序。”(在这个协议里有个条款声明:如果你控告别人在这个许可协议下的产品有侵犯专利的行为,那你的授权将会自动终止,但这只是适用于有专利权的作品。只要你不搞有专利作品的诉讼,你永远无需担心这种问题。)
对再分发的作品还有个特殊要求,总的就是说要给予这些程序的作者和许可协议的维护者适当的名誉。
Apache 许可协议, 版本 2.0
版本 2.0,2004 年1月
http://www.apache.org/licenses/
“许可”是指从本文档1 到 9节所定义的使用、复制及分发的条款。
“授权人”是指版权拥有者或由版权拥有者授权许可的实体。
“法律实体”是指代理团体及控制、受该实体共同控制的所有其他团体。关于这个定义的用途,“控制”意思是(i)直接或间接地无论是通过合同或其他方式操纵这样实体的引导方向或管理,或者(ii) 流通股百分之五十(50%)以上的拥有,或者(iii)这样实体有权受益的拥有。
“你”(或“你的”)只行使本许可授权的权限的个人或法律实体。
“源”形式指做出修改的首选形式,包括但不限于软件源代码、文档源代码及配置文件。
“目标”形式指从一种源形式机械地转换或翻译而产生的任何形式,包括但不限于编译的目标代码、生成的文档及其他媒体类型的转换。
“作品”是指根据本许可协议可用的原作者的作品,无论是源形式还是目标形式的,如包含或附加在作品中的版权声明所示的(下面的附录提供了一个例子)。
“派生的作品”指无论是源形式还是目标形式的基于作品(或从其派生的)任何作品,整体上,原作者的原作品的编辑修改、标注、修饰或者其他的修改形式。对于本许可的这种用途,派生的作品不能包含与原作品分离的,或者仅仅到接口的链接(或者按名称绑定的)从而派生的作品。
“奉献”指任何原作者的作品,包括作品的原始版本及对该作品或派生作品的任何修改与增补,即有意提交给授权人,或者由个人或者法律实体代表版权拥有者提交给授权人,由作品的版本拥有者包含在作品中。对于这个定义的用途,“提交”意思是发送给授权人或其代表的任何形式的,电子的、口头或书面交流,包括但不限于电子邮件列表、由授权人出于讨论及改进作品目的的源代码控制系统及问题跟踪系统,但是不包括由版权拥有者明确地标记或者书面指定为“非奉献”的交流。
“奉献者”指授权人及代表其奉献由授权人接受并后来包含到作品中的任何个人或者法律实体。
2.**授予版权许可**. 按照本许可的条款,每个奉献者授予您一个永久的、全球性的、非排他性的、不收费,免版税的,不可撤销的版权许可证,许可您以源形式或目标形式复制、准备派生作品、公开展示、公开表演、再授权、分发作品及派生作品。
3.**授予专利许可**. 按照本许可的条款,每个奉献者授权您一个永久性、全球的、非排他性的、不收费、免版税的、不可撤销的(除本节所述)专利实施许可,可以创建、使用、许诺销售、销售、引进及转换作品,其中这样的许可只适用于因其奉献者单独或者与其奉献者与提交的作品结合而受到侵犯的这些奉献者授权的那些专利声明。如果您针对任何实体提起诉讼(包括反诉或诉讼中的反诉),主张作品或者纳入到作品中的奉献构成直接或间接的侵犯,那么按本许可授权您该作品的任何专利许可在提起诉讼之时终止。
4.**再分发**. 您可以任何媒体形式,无论是否修改,以源或目标形式复制和分发作品或派生作品的副本,只要你符合下列条件:
1. 您必须给予作品或派生作品的任何其他的接收者以本许可,并
2. 您必须对于任何修改过的文件带有明显的声明,说明你改变了这个文件;而且
3. 您必须用您分发的任何派生作品的源形式保留,作品源形式的所有的版权、专利、商标及属性声明,不包括不输入派生作品的任何部分的那些说明;而且
4. 如果作品包含一个“声明”文本文件作为其分发的部分,那么你分发的任何派生的作品必须在至少下面的地方之一,包含这样的声明文件在内的一个包含该属性声明的可读的副本,不包含不属于派生作品的任何部分的那些:在作为派生作品的部分分发的一个声明文件之内;在源代形式或者文档中,如果随着派生的作品提供的话;或者在由派生作品生成的显示中,如果在第三方声明出现的任何地方。这个声明文件的内容是只是信息性用途的,不修改许可协议。您可以在您分发的派生作品中添加你自己的属性声明,如果这样额外的属性声明不能构造为对许可协议的修改的话,那么与作品的声明文本一起或作为附录。你可以给你的修改添加你自己的版权声明,可以提供使用、复制或分发你的修改的不同的许可协议条款,或者对于任何这样的派生作品整体上,只要您的使用、复制及分发作品符合本许可规定的条件。
5.**奉献的提交**. 除非你明确地不同地声明,否则按照本许可协议的条款任何由您向授权人提交的奉献都有意包含在作品中而没有任何额外的条款。尽管如上所述,但是任何情况下均不得取代或修改你也许已经与授权人执行的关于奉献的任何许可协议条款。
6.**商标**. 本许可不授予许可权限使用授权人的商品名称、商标、服务标记、或产品名称,除了用于说明原作品及声明作品的声明文件的内容需要的合理及习惯使用之外。
7.**免责条款**. 除非适用法律或者书面同意的需要,授权人都“原样”提供作品(及每个奉献者提供其奉献),无任何形式的无论是明确的还是隐含的担保或条款,包括但不限于标题、非侵权性,适销性或针对特定用途的适用性的担保或条款。您唯一地确定对作品的使用或再分发是否合适,并承担与你行使本许可权限相关的任何风险。
8.**责任限制**. 在任何情况下,没有有法律理论,在是否侵权(包括过失)、合同或者否则因适用法律的需要(如故意和疏忽行为)或者书面同意任何风险者对您的伤害负责,包括任何直接、间接的、特殊的、偶然的或者任何特征的引起的伤害(包括但不限于商誉损失,工作停止,计算机故障或失灵,或任何和所有其他商业损害或损失),即使这样的奉献者已被告知此类损害的可能性。
9.**接受保证或附加责任**. 在再分发作品及派生作品时,你可以选择提供、并收取一定的费用、接受支持、担保、免除或者其他的责任义务及/或符合本许可的权限。但是,接受这些义务时您可以仅以进自己的名义,仅对您自己的行动负责,而不代表任何其他的奉献者,如果你由这样的奉献者因接受任何这样的担保及附带责任引起或针对其主张的任何义务同意赔偿、辩护,保证对每个奉献者无害。
条款结束
Creative Commons 知识共享协议
Creative Commons (CC) 许可协议并不能说是真正的开源协议,它们大多是被使用于设计类的工程上。 CC 协议种类繁多,每一种都授权特定的权利。 一个 CC 许可协议具有四个基本部分,这几个部分可以单独起作用,也可以组合起来。下面是这几部分的简介:
署名:作品上必须附有作品的归属。如此之后,作品可以被修改,分发,复制和其它用途。
相同方式共享:作品可以被修改、分发或其它操作,但所有的衍生品都要置于CC许可协议下。
非商业用途:作品可以被修改、分发等等,但不能用于商业目的。但语言上对什么是“商业”的说明十分含糊不清 (没有提供精确的定义),所以你可以在你的工程里对其进行说明。例如,有些人简单的解释“非商业”为不能出售这个作品。而另外一些人认为你甚至不能在有广告的网站上使用它们。 还有些人认为“商业”仅仅指你用它获取利益。
禁止衍生作品:这意味着你可以复制和分发它们,但你不能以任何方式修改它们,或基于它们进行二次创作。
上面提到过, CC 许可协议的这些条款可以自由组合使用。大多数的比较严格的CC协议会声明 “署名权,非商业用途,禁止衍生”条款,这意味着你可以自由的分享这个作品,但你不能改变它和对其收费,而且必须声明作品的归属。这个许可协议非常的有用,它可以让你的作品传播出去,但又可以对作品的使用保留部分或完全的控制。最少限制的CC协议类型当属 “署名”协议,这意味着只要人们能维护你的名誉,他们对你的作品怎么使用都行。
CC 许可协议更多的是在设计类工程中使用,而不是开发类,但没有人或妨碍你将之使用与后者。只是你必须要清楚各部分条款能覆盖到的和不能覆盖到的权利。
其他的一些参考
最概括性的一句话就是“BSD保证了开发者的自由,GPL保证了使用者的自由”。GPL保证了使用者对程序及其今后的升版的修改和免费使用的自 由,BSD不能保证基于BSD开发的程序今后的所有改进版都能够允许修改和免费使用。BSD保证了开发者能够任意处置程序代码,包括封闭代码和商品化。
如果有更多 的考虑的话,可以建立自己的软件许可。一般都是集中在修改权方面的条款。比如“所有的修改都要寄一份给原作者”、“所有的修改都要和原始程序脱离”、“不 允许有非原始作者允许的修改公开发行”这些都是为了原始程序的作者有最大的利益。这些许可方式虽然属于开放源代码的范畴,但只保证了软件个性化和学习的目 的,却对修改权做了最大的限制,失去了源代码共享的好处。这种许可满足了原作者的利益,但是它不配开放源代码的光环,完全不能和自由软件相提并论。如 APL、MPL、QPL等
可以归入BSD类软件的包括:perl,php,apache,freeBSD,xwindows,python,zope等
MPL软件包括mozilla,open office。GPL的比较不严格的授权LGPL也是一个很好的选择。
实际上,perl、freebsd、python等都是保留版权的,但他们限制非常小,和GPL相比,不强制要求补丁公开源代码,这样就更有商业价值。
在GPL协议中,原始开发者和后来得修改者地位是平等得,每个人都 有权保留自己得版权,每个人都没有无偿拥有其他人代码得权利,不管是原始作者还是修改者。