新闻资讯
看你所看,想你所想

GNU宽通用公共许可证

GNU宽通用公共许可证(GNU通用公共许可证)

GNU宽通用公共许可证

GNU通用公共许可证一般指本词条

GNU通用公共许可协定(英语:GNU General Public License,缩写:GNU GPL、GPL),是一个广泛被使用的自由软体许可协定条款,最初由理察·斯托曼(Richard Matthrew Stallman)为GNU计画而撰写。此许可证最新版本为“第3版”(v3),于2007年6月29日发布。GNU宽通用公共许可证是改自GPL的另一个版本,其目的是为了套用于一些软体库。

GPL给予了电脑程式自由软体的定义,并且使用Copyleft来确保程式的自由被完善的保留。

基本介绍

  • 中文名:GNU通用公共许可证
  • 外文名:GNU General Public License
  • 性质:自由软体许可协定条款
  • 发布时间:2007年6月29日

自由

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通用公共许可协定的台湾法律用语翻法为GNU通用公共授权条款,香港法律用语翻法亦为GNU通用公共授权条款. [2010-7-20].。

历史

GPL由斯托曼撰写,用于GNU计画。它以GNU Emacs、GDB、GCC的许可证的早期版本为蓝本。这些许可证都包含有一些GPL的着作权思想,但仅只针对特定程式。斯托曼的目标就是创造出一种四海之内皆可使用的许可证,这样就能为许多原始码共享计画带来福音。GPL版本1就这样,在1989年1月诞生。
到1990年时,因为一些共享库而出现了对比GPL更宽鬆的许可证的需求。所以当GPL版本2在1991年6月发布时,另一许可证——程式库通用许可证(Library General Public License,简称LGPL)也随之发布,并记作“版本2”以示对GPL的补充。版本号在LGPL版本2.1发布时不再相同,而LGPL也被重命名为GNU宽通用公共许可证以体现GNU哲学观。

GPLv1

GPL版本1,即最初的版本,发布于1989年一月,其目的是防止那些阻碍自由软体的行为,而这些阻碍软体开源的行为主要有两种(一种是软体发布者只发布可执行的二进制代码而不发布具体原始码,一种是软体发布者在软体许可加入限制性条款)。因此按照GPLv1,如果发布了可执行的二进制代码,就必须同时发布可读的原始码,并且在发布任何基于GPL许可的软体时,不能添加任何限制性的条款。

GPLv2

理察·斯托曼在GPLv2中所做的最大的改动就是增加了“自由还是死亡”("Liberty or Death")这章条款,即第七章liberty-or-death Presentation。这章中申明道,如果哪个人在发布源于GPL的软体的时候,同时添加强制的条款,以在一定程度上保障和尊重其它一些人的自由和权益(也就是说在一些国家里,人们只能以二进制代码的形式发布软体,以保护开发软体者的着作权),那幺他将根本无权发布该软体。
到了1990年,人们普遍认为一个限制性弱的许可证对于自由软体的发展是有战略意义上的好处的;因此,当GPL的第二个版本(GPLv2)在1991年6月发布时,与此同时第二个许可证程式库GNU通用公共许可证(LGPL, Library General Public License)也被发布出来并且一开始就将其版本定为第2版本以表示其和GPLv2的互补性。这个版本一直延续到1999年,并分支出一个派生的LGPL版本号为2.1,并将其重命名为轻量级通用公共许可证(又称宽通用公共许可证,Lesser General Public License)以反映其在整个GNU哲学中的位置。

GPLv3

到2005年,GPL版本3正由斯托曼起草,由伊本·莫格林和软体自由法律中心(Software Freedom Law Center)提供法律谘询。
斯托曼在2006年2月25日自由及开源软体开发者欧洲会议的演讲上说:
  • 在所有的改动中,最重要的四个是:
    解决软体专利问题;
  • 与其他许可证的兼容性;
  • 原始码分区和组成的定义;
  • 解决数位着作权管理问题。
2006年,自由软体基金会针对GPL的可能的修改开始了12个月的公共谘询。
Stallman GPLv3 launch MITStallman GPLv3 launch MIT
在公众谘询过程中,有962条评论被提交给第一稿草稿。最终总共有2,636条评论被提交。
GPLv3草稿于2006年1月16日开始可用。
2007年3月28日正式启用。
2007年6月29日,自由软体基金会正式发布了GPL第3版。
但是Linux社区的领导者林纳斯·托瓦兹等人决定不让Linux使用第三版授权,仍然使用版本2与版本3授权。此事曾引起理察·斯托曼的不满。

条款

以下是对GPL条款的一个通俗易懂的总结。而GPL原文文本才是真正法律上精确的。该文本的连结可从本页底部获得。

授予的权利

此GPL的条款和条件适用于任何收到GPL下的作品的人(即“许可证接受人”)。任何接受这些条款和条件的许可证接受人都有修改、複製、再发行作品或作品的演绎版本的授权。许可证接受人可以对此项服务收取费用 ,反之亦然。这一点是GPL与其他禁止商业用途的自由软体许可证最大的不同。Stallman认为自由软体不应限制其商业用途,同时GPL清楚地说明了这一点。
但GPL又规定发行者不能限制GPL授予的权利。例如,这禁止对软体在单纯沉默(消极默示)式协定或契约下的发行。GPL下的发行者同时也同意在软体中使用的专利可以在其它GPL软体中使用。

Copyleft

GPL不会授予许可证接受人无限的权利。再发行权的授予需要许可证接受人开放软体的原始码,及所有修改。且複製件、修改版本,都必须以GPL为许可证。
这些要求就是copyleft,它的基础就是作品在法律上着作权所有。由于它着作权所有,许可证接受人就无权进行修改和再发行(除合理使用),除非它有一个copyleft条款。如果某人想行使通常被法律所禁止的权利,只需同意GPL的条款。相反地,如果某人发行软体违反了GPL(比如不开放原始码),他就有可能被原作者起诉。
copyleft利用着作权法来达到与其相反的目的:copyleft给人不可剥夺的权利,而不是着作权法所规定的诸多限制。这也是GPL被称作“被黑的着作权法”的原因。
许多GPL软体发行者都把原始码与可执行程式捆绑起来。另一方式就是以物理介质(比如CD)为载体提供原始码。在实践中,许多GPL软体都是在网际网路上发行的,原始码也有许多可以FTP方式得到。
copyleft只在程式再发行时发生效力。对软体的修改可以不公开或开放原始码,只要不发行。注意copyleft只对软体有效力,而对软体的输出并无效力(除非输出的是软体本身)。不过这在GPL版本3中可能会有改动。

GPL是许可证

GPL设计为一种许可证,而不是契约。在英美法系国家,许可证与契约有法律上的明确区别:契约由契约法保障效力,而GPL作为一种许可证由着作权法保障效力。不过在许多採用欧陆法系的国家并无此种区别。
GPL原理简单:在着作权法下,你不遵守GPL的条款和条件你就没有相应权利。而作品在没有GPL的情况下,着作权法作为默认条款发生效力,而不是作品进入公有领域。

着作权所有人

GPL文本是着作权所有的,且着作权人是自由软体基金会。但是,自由软体基金会没有在GPL下发行作品的着作权(除非作者指定自由软体基金会是着作权人)。通常认为,只有着作权人才有权对许可证的违反进行起诉,但是那并不準确。法国的一个教育组织AFPA于2000年从Edu4购买课堂使用的计算机设备发现其使用GPL软体但并未附带原始码。
自由软体基金会允许人们使用以GPL为基础的其他许可证,但不允许演绎的许可证未经授权地使用GPL的前言。不过像这样的许可证通常与GPL不兼容。
GNU计画创立的其他许可证包括:GNU宽通用公共许可证和GNU自由文档许可证。

争议

一个关于GPL重要的争议是,非GPL软体是否可以动态连结到GPL库。GPL对GPL作品的演绎作品在GPL下发布规定很明确。但是对于动态连结到GPL库的作品是否是演绎作品就规定得不清楚了。自由和开放原始码社区为此分成两派,自由软体基金会认为这种作品就是演绎作品,但其他专家并不同意。这个问题根本的并不关乎GPL本身,而是一个着作权法如何定义演绎作品。美国联邦抗诉法院第九巡迴审判庭在Galoob v. Nintendo案对演绎作品尝试定义,但最终没有明确的结果。
不幸的是,许多开发者觉得这是个技术问题。但实际上这完全是法律问题。不过由于迄今为止没有案例表明有人以动态连结的方式来绕过GPL的条款或者并被起诉,动态连结的限制已经是事实上地(de facto)有效,不论它是否是法律上地(de jure)有效。
2002年,MySQL AB公司起诉Progress NuSphere侵犯着作权和商标。NuSphere被指以连结代码的形式侵犯了着作权。最终此案以调解结束。在听证期间,法官“认为没有什幺原因”(不管是否是动态连结)会使得GPL失去法律效力。
2003年8月,SCO Group称他们认为GPL没有法律效力,且準备就在Linux核心中使用的SCO Unix代码进行诉讼。参见SCO诉IBM。
2004年4月,在SiteCom拒绝停止发行Netfilter项目的GPL软体后,慕尼黑地区法庭据对GPL条款的侵犯判定对SiteCom进行临时性禁令(诉前停止侵犯专利权行为的措施)。同年7月,法庭确认此勒令为对SiteCom最终判决。此判决明显的印证了自由软体基金会的法律顾问伊本·莫格林的预言:
  • “被告侵犯了原告的着作权:提供了软体netfilter/iptables的广告及下载,但没有遵守GPL的条款。可以说,如果被告有许可证许可,这些行为是完全合法的……原被告就GPL是否达成协定这是一个独立的问题。如果当事人没有同意,被告将没有複製、发行、公开‘netfilter/iptables’的权利。”
此判决十分重要,因为它是全球首次法庭确认GPL是有法律效力的。
2005年5月,Daniel Wallace于美国联邦印第安纳南区地方法院起诉自由软体基金会,因为二者对GPL是否是非法意见不一。后诉讼于3月结束,因为Wallace没有有效的反托拉斯陈述。法庭注意到“GPL鼓励,而不是反对电脑作业系统的自由竞争和发行,这直接使消费者受益。” Wallace被拒绝改变诉由,并被要求支付诉讼费用。

兼容性

大多数自由软体许可证,比如MIT/X许可证、BSD许可证、LGPL,都是“GPL兼容的”,即它们的代码与GPL代码混用无冲突(但新代码则是GPL下的)。但是有某些开源软体许可证不是GPL兼容的。通常意见是开发者仅只使用GPL兼容的许可证,以免法律问题。
参见软体许可证列表以查证兼容性。

批评

2001年微软的执行长史蒂夫·鲍尔默称Linux为“癌症”,因为GPL的影响。微软批评者指出,微软憎恶GPL的真正原因是因为对微软的“包围、扩展、消灭”策略起了反作用。注意微软已以GPL为许可证发行了SFU(Microsoft Windows Services for UNIX)中所包含的部分组件,例如GCC。
GPL的批评者常常认为GPL是有“传染性”的“病毒”,因为GPL条款规定演绎作品也必须是GPL的。由于“演绎作品”通常被解释为包含GPL代码或动态连结到GPL库(如上)的软体,“病毒说”来源于GPL对于许可证的强制继承的要求。这正是GPL与BSD式许可证的哲学思想上的差异。GPL的支持者确信自由软体世界应具有自我保护能力和可持续发展性——确保自由软体的演绎作品同样“自由”,但其他人认为自由软体应给予“所有人”最大的自由。
不同版本之间的GPL并不兼容。例如,当原始的作品以GPLv2发布,而补丁以GPLv3发布时,因为这样的原因,其编译之后产生的二进制版本不可以再行传播。因此,FSF通常会推荐以“GPLv2 or later”这样的形式来标示授权许可证,或GPLv2 + GPLv3双许可证以规避这一问题。

相关推荐

声明:此文信息来源于网络,登载此文只为提供信息参考,并不用于任何商业目的。如有侵权,请及时联系我们:yongganaa@126.com