GNU GPL简介
文章来源: | 发布时间:2009-09-03 | 【打印】 【关闭】
GPLv1 GPLv1是最初的版本,发布于1989年1月,其目的是防止那些阻碍自由软件的行为,而这些阻碍软件开源的行为主要有两种(一种是软件发布者只发布可执行的二进制代码而不发布具有源代码,一种是软件发布者在软件许可加入限制性条款)。因此GPLv1规定,如果发布了可执行的二进制代码,就必须同时发布可读的源代码,并且在发布任何基于GPL许可的软件时,不能添加任何限制性的条款。
GPLv2 在GPLv2中所做的最大的改动就是增加了“自由还是死亡”(Liberty or Death)的条款。该条款规定,如果发布源于GPL的软件时,只能以二进制代码的形式发布软件,那么他将根本无权发布该软件。
GPLv3 发布于2007年6月29日。在所进行的修改中最重要的有四个:解决软件专利问题;与其他许可证的兼容性;源代码分割和组成的定义;解决数字版权管理 (DRM) 问题。
在GPL中有一个关键的概念就是Copyleft。GPL规定,再发行权的授予需要许可证接受人公开软件的源代码及所有修改,而且复制件、修改版本都必须以GPL为许可证。这些要求就是Copyleft,它的基础就是作品在法律上版权所有。
由于版权所有,一般情况下,许可证接受人无权对作品进行修改和再发行(除合理使用),除非它有一个 Copyleft条款。Copyleft利用版权法来达到与其相反的目的: Copyleft给人不可剥夺的权利,而不是版权法所规定的诸多限制。这也是GPL被称作“被黑的版权法”的原因。
Copyleft只在程序再发行时发生效力。对软件的修改可以不公开或开放源代码,只要不发行。注意copyleft只对软件有效力,而对软件的输出并无效力(除非输出的是软件本身)。
(本文摘自《计算机世界》2009年08月21日第32期)