英文原文:A Short Guide To Open-Source And Similar Licensesphp
不少软件开发者和设计者都有将本身的软件做品以开源的形式公之于众的想法。他们但愿其余人也能够分享本身的做品,使用本身的做品。开源社区之因此能蓬勃发展就是由于人们有这样的愿望。开源软件如此的丰富,任何你能想到的应用领域里都能找到它们的身影。 大部分的设计人员都已经把使用开源软件和开源代码做为平常工做不可缺乏的一部分了(WordPress, Drupal 和许多其它的内容管理系统都是开源软件)。html
可是不少的软件做者和设计者都对各类不一样的开源许可协议的内容和含义不甚了了。当你选择了某种开源许可协议时,你都放弃了哪些权力?在没有能明白各类开源协议的确切含义前,在不知道它们最适用于什么状况下时,软件开发者不可能在关于哪一个许可协议最适合本身的软件的问题上作出准确的抉择。web
关于究竟什么是许可协议的问题上有不少事实而非的说法。当你给软件附上许可证时,意味着你将保留对软件的全部权利。你将对你的做品拥有原创版权(或者是专利权,若是你申请到了)。许可协议用来受权其余人具备某种使用你的做品的权利。apache
依靠许可协议将你的做品对外开源或者对你的做品的各个方面逐一进行受权,是一个不错的方法。一旦对外开源,你将失去全部对你的做品的版权,别人也没有义务将你标注为做品的原创者或捐献者。而我说的后一种状况里,估计你须要从设计和开发的工做中抽出更多的时间来处理遇到的各类侵权问题。服务器
开源许可协议令人们免去了研究那些专业的许可条款的麻烦,令人们更方便的对开源项目贡献出本身的代码。并且它还能保护你做为做品的原创做者,确保你至少拥有因为贡献参与而带来的署名荣誉。它还能用来阻止其余人企图声明对你的做品拥有全部权的行为。dom
GNU General Public
Licence 通用公共许可协议 (GPL) 能够说是在开源项目中使用最普遍的一种协议来。 GPL 对开发开源软件的开发者们在权利上进行了周详的承认和保障。本质上讲,它容许用户对软件进行合法的拷贝,传播和修改。这意味着你能够:ide
把它拷贝到你本身的服务器上、你的客户的服务器上、你本身的电脑上,基本上任何你能想到的地方。对你拷贝的数量也没有任何限制。(译者按:中国人用盗版用惯了,估计对这点会很不觉得然。)网站
在你的网站上作一个下载连接进行下载。拷贝到你的移动硬盘里送人。把原代码打印出来,站在屋顶散发(最好别这样作,会浪费纸,并且影响环境清洁)。ui
请注意一个很是重要的概念:对源代码的传播和对已编译代码的传播是两个彻底不一样的事情。所以,有些应用程序的许可协议对着两种形式的代码分别进行了不一样的使用受权。 更多的信息能够参考文章 GPL 协议实用手册 (做者 @PierreJoye)。要想使用
GPL, 你还必须在代码里添加一些协议相关信息,还要有一份许可协议的副本拷贝。设计
你还须要了解另一种 GNU 许可协议: Lesser General
Public Licence 次通用公共许可协议 (LGPL)。它对做品的使用保留了更少的权利。一般,LGPL 适用于一些类库,它容许这些类库可以被非GPL或非开源软件引用。由于 GPL 要求,要想使用 GPL 保护下的代码,你必须把你的软件也置于 GPL 协议之下。开发者不可以在商业的和具备私有权的软件里使用GPL协议下的程序。而 LGPL 放弃了这些限制,它不要求其它程序也必须使用相同的协议才能使用这些代码程序。
BSD 协议有不少分支,它们都表明了一种宽松的自由软件协议,相对其它协议,例如GPL,来讲,它们对软件的传播给予了更少的限制。
在这种协议的各类版本中,有两个版本格外的重要: 新 BSD 协议/修订版 BSD 协议和简化 BSD 协议/FreeBSD 协议。这两类协议都实现的对 GPL 兼容的自由软件协议,并且被 Open Source Initiative 承认为开源软件协议。
新 BSD 协议(”3-clause license”)无任何限制的容许你以任何目的二次分发这种软件,惟一的要求是必须保留拷贝权的声明和协议里的软件权利放弃条款。这种协议还有一个限制,未经许可不得使用这个做品的全部曾经捐助者的署名。 新 BSD 协议和简化 BSD 协议的最主要的区别是后者删除了署名条款。
MIT 协议应该是在流行的开源协议中最简短的、使用最普遍的一种协议。它的条款很是的宽松,并且跟其它协议相比更自由。 这种协议最基本的条款 ( the information that it is provided without warranty, which comprises the final paragraph)
以下:
特此受权,任何人均可免费得到这个软件以及相关文档(the “Software”)的拷贝,能够无限制的使用这个软件,包括无限制的权利去使用、复制、修改、合并、发布、附加从属协议,以及/或者出售软件的拷贝, 同时,为了让软件的提供者有权利作到这些,下面的条件必须遵照:
上面的拷贝权声明和许可声明必须包含在全部的这个软件拷贝里和实际分署部分里。
这也就是说:
MIT 协议是目前最少限制的协议。它基本上就是任何人能够对这个协议下的软件的作任何的事情,只要你能承认这个协议。
Apache 许可协议, 2.0 版本, 授予了用户大量的权利。这些权利能够应用于拷贝权,也能够用于专利权。由于不少许可协议只能适用于拷贝权,不适用于专利权,因此这个灵活性就成了让有专利的开发者们选择许可协议时的一个显著参考因素 (要想明白二者之间的不一样,请参考 How Stuff Works 上的这篇文章)。
下面是关于 Apache 许可协议所容许的事项的详细说明:
一旦被受权,权利永久不失。
在一个国家里被受权,形同于在全部国家被受权。例如,你在美国,但许可权最初在印度被授予,你一样可使用这个被受权的程序。
你既不须要在使用以前支付任何的费用,也无需在每次使用时支付任何的费用,或者其它相似状况。
使用这种许可协议下的软件时,不妨碍你使用其它软件。
权利一旦授予,不可剥夺。也就是说,你在使用这个软件的过程当中,你无需担忧这种状况:当你开发出了使人羡慕的基于这种受权软件的衍生产品时,有人忽然跳出来对你说,“抱歉,你将再也不被容许使用这个程序。”(在这个协议里有个条款声明:若是你控告别人在这个许可协议下的产品有侵犯专利的行为,那你的受权将会自动终止,但这只是适用于有专利权的做品。只要你不搞有专利做品的诉讼,你永远无需担忧这种问题。)
对再分发的做品还有个特殊要求,总的就是说要给予这些程序的做者和许可协议的维护者适当的名誉。
Creative Commons (CC) 许可协议并不能说是真正的开源协议,它们大可能是被使用于设计类的工程上。 CC 协议种类繁多,每一种都受权特定的权利。 一个 CC 许可协议具备四个基本部分,这几个部分能够单独起做用,也能够组合起来。下面是这几部分的简介:
做品上必须附有做品的归属。如此以后,做品能够被修改,分发,复制和其它用途。
做品能够被修改、分发或其它操做,但全部的衍生品都要置于CC许可协议下。
做品能够被修改、分发等等,但不能用于商业目的。但语言上对什么是“商业”的说明十分含糊不清 (没有提供精确的定义),因此你能够在你的工程里对其进行说明。例如,有些人简单的解释“非商业”为不能出售这个做品。而另一些人认为你甚至不能在有广告的网站上使用它们。 还有些人认为“商业”仅仅指你用它获取利益。
这意味着你能够复制和分发它们,但你不能以任何方式修改它们,或基于它们进行二次创做。
上面提到过, CC 许可协议的这些条款能够自由组合使用。大多数的比较严格的CC协议会声明 “署名权,非商业用途,禁止衍生”条款,这意味着你能够自由的分享这个做品,但你不能改变它和对其收费,并且必须声明做品的归属。这个许可协议很是的有用,它可让你的做品传播出去,但又能够对做品的使用保留部分或彻底的控制。最少限制的CC协议类型当属 “署名”协议,这意味着只要人们能维护你的名誉,他们对你的做品怎么使用都行。
CC 许可协议更多的是在设计类工程中使用,而不是开发类,但没有人或妨碍你将之使用与后者。只是你必需要清楚各部分条款能覆盖到的和不能覆盖到的权利。
官方主页, with descriptions of the CC licenses and links to the legal copy of each.