GNU通用公共许可协议


请输入要查询的词条内容:

GNU通用公共许可协议




概述


GNU通用公共许可协议(英语:GNU General Public License,简称GNU GPL或GPL),是一个广泛被使用的自由软件许可协议,最初由理查德斯托曼为GNU计划而撰写。2007年6月29日发布了最新版本——“第3版”(v3)。GPL给予了电脑程序自由软件的定义,并且使用“Copyleft”来确保程序的自由被完善的保留。

自由


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。

历史


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宽通用公共许可协议(Lesser General Public License)以体现GNU哲学观。

相关分词: GNU 通用 公共 许可 协议