GNU通用公共许可证
一套自由軟件許可證 / 维基百科,自由的 百科全书
GNU通用公共授权条款(英语:GNU General Public License,缩写GNU GPL 或 GPL),是被广泛使用的自由软件许可证,给予了终端用户运行、学习、共享和修改软件的自由。[6]许可证最初由自由软件基金会的理查德·斯托曼为GNU项目所撰写,并授予计算机程序的用户自由软件定义(The Free Software Definition)的权利。[7]GPL是一个Copyleft许可证,这意味著只要项目的某个部分(如动态链接库)以GPL发布,则整个项目以及衍生作品只能以相同的许可条款分发[8]。这与宽松自由软件许可证有所区别 ,如BSD许可证和MIT许可证就是其中被广泛使用的例子。GPL是第一个普遍使用的Copyleft许可证。
![]() GNU GPLv3 Logo | |
作者 | 自由软件基金会 |
---|---|
版本 | 第3版 |
发布者 | 自由软件基金会 |
发布日期 | 1989年2月25日 |
DFSG兼容 | 是[1] |
自由软件 | 是[2] |
OSI认证 | 是[3] |
Copyleft | 是[2][4] |
与其他协议代码链接 | 仅可与GNU AGPLv3代码相链接[5] |
网站 | ![]() |
历史上,GPL许可证系列一直是自由和开源软件领域最受欢迎的软件许可之一。[6][9][10][11][11][11][12][13]根据GPL许可的优异自由软件程序的例子有Linux内核和GNU编译器集合(GCC)。大卫·A·惠勒认为,GPL提供的Copyleft对于基于Linux的系统的成功至关重要,给予向内核贡献的程序员保证他们的工作将有益于整个世界并保持自由,而不至于被不提供回馈给社群的无良软件公司所剥削。[14]
2007年,发布了第三版许可证(GNU GPLv3),以解决在长期使用期间发现的第二版(GNU GPLv2)所发生的一些困扰。为了使许可证保持最新状态,GPL许可证包含一个可选的“并延伸到未来版本”条款,允许用户在FSF更新的原始条款或新版本之间进行选择。有些开发人员在软件授权使用时,选择省略它;例如,Linux内核已经在GPLv2下获得许可,就不需包括“并延伸到未来版本”的声明。[15][16]
GPL授予程序接受人以下权利,或称“自由”,或称“copyleft”:
- 基于任何目的,按你的意愿运行软件的自由(自由之零)。
- 学习软件如何工作的自由,按你的意愿修改软件以符合你的计算的自由(自由之一)。可访问源代码是此项自由的先决条件。
- 分发软件副本的自由,因此你可以帮助你的好友(自由之二)。
- 将你修改过的软件版本再分发给其他人的自由(自由之三)。这样可以让整个社区有机会共享你对软件的改动。可访问源代码是此项自由的先决条件。[17]
相反地,随版权所有软体的最终用户许可证几乎从不授予用户任何权利(除了使用的权利),甚至可能限制一些法律允许的行为,比如。
GPL与其他一些更“许可的”自由软体许可证(比如BSD许可证)相比,主要区别就在于GPL寻求确保上述自由能在复制软体及衍生作品中得到保障。它通过一种由斯托曼发明的叫Copyleft的法律机制实现,即要求GPL程序的衍生作品也要在GPL之下。相反,BSD式的许可证并不禁止衍生作品变成专有软体。
GPL是自由软件和开源软件的最流行许可证[18]。到2004年4月,GPL已占Freshmeat上所列的自由软件的约75%,SourceForge的约68%。类似的,2001年一项关于Red Hat Linux 7.1的调查显示一般的代码都以GPL发布。著名的GPL自由软件包括EMACS,Linux核心(并非所有Linux发行版的核心都是开源的)和GCC。