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日
- 编写者
理查德·斯托曼
- 意义
确保程序的自由被完善保留
- 简称
GNU GPL、GPL
自由
GPL授予程序接受人以下权利,或称“自由”:
以任何目的运行此程序的自由;
再发行复制件的自由;
改进此程序,并公开发布改进的自由(前提是能得到源代码)。
相反地,随版权所有软件的最终用户许可证几乎从不授予用户任何权利(除了使用的权利),甚至可能限制法律允许的行为,比如逆向工程。
GPL与其他一些更“许可的”自由软件许可证(比如BSD许可证)相比,主要区别就在于GPL寻求确保上述自由能在复制件及演绎作品中得到保障。它通过一种由斯托曼发明的叫Copyleft的法律机制实现,即要求GPL程序的演绎作品也要在GPL之下。相反,BSD式的许可证并不禁止演绎作品变成专有软件。
由于某些原因,GPL成为了自由软件和开源软件的最流行许可证。到2004年4月,GPL已占Freshmeat上所列的自由软件的约75%,SourceForge的约68%。类似的,2001年一项关于Red Hat Linux7.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)提供法律咨询。1
斯托曼在2006年2月25日自由及开源软件开发者欧洲会议的演讲上说: