预览加载中,请您耐心等待几秒...
1/4
2/4
3/4
4/4

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

越来越多的开发者与设计者希望将自己的产品开源,以便其他人可以在他们的代码基础上做更多事,开源社区也因此充满生机。在我们所能想到的应用领域,都有开源软件存在(象WordPress,Drupal这些开源CMS)。然而很多人对开源许可并不了解,本文介绍开源领域常用的几种许可协议以及它们之间的区别。什么是许可协议?什么是许可,当你为你的产品签发许可,你是在出让自己的权利,不过,你仍然拥有版权和专利(如果申请了的话),许可的目的是,向使用你产品的人提供一定的权限。不管产品是免费向公众分发,还是出售,制定一份许可协议非常有用,否则,对于前者,你相当于放弃了自己所有的权利,任何人都没有义务表明你的原始作者身份,对于后者,你将不得不花费比开发更多的精力用来逐个处理用户的授权问题。而开源许可协议使这些事情变得简单,开发者很容易向一个项目贡献自己的代码,它还可以保护你原始作者的身份,使你至少获得认可,开源许可协议还可以阻止其它人将某个产品据为己有。以下是开源界的5大许可协议:GNUGPLHYPERLINK"http://www.opensource.org/licenses/gpl-2.0.php"\t"_blank"GNUGeneralPublicLicence(GPL)有可能是开源界最常用的许可模式。GPL保证了所有开发者的权利,同时为使用者提供了足够的复制,分发,修改的权利:1.可自由复制你可以将软件复制到你的电脑,你客户的电脑,或者任何地方。复制份数没有任何限制。2.可自由分发在你的网站提供下载,拷贝到U盘送人,或者将源代码打印出来从窗户扔出去(环保起见,请别这样做)。3.可以用来盈利你可以在分发软件的时候收费,但你必须在收费前向你的客户提供该软件的GNUGPL许可协议,以便让他们知道,他们可以从别的渠道免费得到这份软件,以及你收费的理由。4.可自由修改如果你想添加或删除某个功能,没问题,如果你想在别的项目中使用部分代码,也没问题,唯一的要求是,使用了这段代码的项目也必须使用GPL协议。需要注意的是,分发的时候,需要明确提供源代码和二进制文件,另外,用于某些程序的某些协议有一些问题和限制,你可以看一下HYPERLINK"http://www.twitter.com/PierreJoye"\t"_blank"@PierreJoye写的HYPERLINK"http://www.softwarefreedom.org/resources/2008/compliance-guide.html"\t"_blank"PracticalGuidetoGPLCompliance一文。使用GPL协议,你必须在源代码代码中包含相应信息,以及协议本身。GNULGPLGNU还有另外一种协议,叫做LGPL(HYPERLINK"http://www.opensource.org/licenses/lgpl-2.1.php"\t"_blank"LesserGeneralPublicLicence),它对产品所保留的权利比GPL少,总的来说,LGPL适合那些用于非GPL或非开源产品的开源类库或框架。因为GPL要求,使用了GPL代码的产品必须也使用GPL协议,开发者不允许将GPL代码用于商业产品。LGPL绕过了这一限制。BSDBSD在软件分发方面的限制比别的开源协议(如GNUGPL)要少。该协议有多种版本,最主要的版本有两个,新BSD协议与简单BSD协议,这两种协议经过修正,都和GPL兼容,并为开源组织所认可。新BSD协议(3条款协议)在软件分发方面,除需要包含一份版权提示和免责声明之外,没有任何限制。另外,该协议还禁止拿开发者的名义为衍生产品背书,但简单BSD协议删除了这一条款。MITHYPERLINK"http://www.opensource.org/licenses/mit-license.php"\t"_blank"MIT协议可能是几大开源协议中最宽松的一个,核心条款是:该软件及其相关文档对所有人免费,可以任意处置,包括使用,复制,修改,合并,发表,分发,再授权,或者销售。唯一的限制是,软件中必须包含上述版权和许可提示。这意味着:你可以自由使用,复制,修改,可以用于自己的项目。可以免费分发或用来盈利。唯一的限制是必须包含许可声明。MIT协议是所有开源许可中最宽松的一个,除了必须包含许可声明外,再无任何限制。ApacheApache协议2.0和别的开源协议相比,除了为用户提供版权许可之外,还有专利许可,对于那些涉及专利内容的开发者而言,该协议最适合(HYPERLINK"http://www.howstuffworks.com/question492.htm"\t"_blank"这里有一篇文章阐述这个问题)。Apache协议还有以