设为首页收藏本站

LUPA开源社区

 找回密码
 注册
文章 帖子 博客

开源漫谈之GNU GPL的前世今生

2010-5-7 16:29| 发布者: joejoe0332| 查看: 3648| 评论: 0

  由于参与开源运动的多为开发者与设计者,而开源许可协议的原文往往跟法律条文一样难懂,导致开源社区的很多参与者并没有对开源许可协议产生足够的认识。但事实上,了解开源许可协议不仅可以帮助我们更好的做出选择,并且可以更加深入的参与开源社区的文化。

  要了解开源许可协议,当然要从GNU GPL开始说起。这个许可协议究竟是如何诞生,又是如何被社区接受并广为使用的呢?请看下面的介绍。

  GNU GPL条文概述

  GNU General Public License,通常简称为GPL,是当下最为通用的开源许可协议。GPL的条文最早在1989年由Richard Stallman(RMS)撰写,用于GNU项目。这位自由软件之父在当年提出了四大自由的诉求:

  ◆可以使用软件做任何事的自由

  ◆可以根据自己需要任意修改软件的自由

  ◆可以与别人分享软件的自由

  ◆可以与别人分享自己对软件所做改动的自由


  为了有效地保护这些自由,RMS将GPL定义为第一个、同时也是最为严格的Copyleft许可协议——也就是说,如果你使用了按照GPL发布的项目,那么你的项目也必须按照GPL许可协议发布,不得添加任何其他限制。(不过,Copyleft这个理念却不是从GPL开始,而是从20世纪70年代起就有人开始实行的。)使用GPL协议的代码制作的程序并非不能拿来卖钱,事实上RMS开始自由运动的第一笔经费就是通过售卖附在磁碟上的Emacs赚来的。GPL的主要规定在于源代码必须自由公开。之后为了增强此协议的Copyleft效力以及与专有软件代码以及其他协议代码的兼容性,RMS又先后在1991年和2007年敲定了GPLv2和GPLv3的条文。

  使用GPL的知名开源项目

  根据Black Duck Open Source Resource Center(直译为黑鸭子开源资源中心,由Black Duck软件公司发起建立并维护的数据库)的调查,目前使用GNU GPLv2的开源项目是最多的。到今天为止(2010年5月)的统计中,GPLv2占据了全部开源项目当中48.54%的比例,而GPLv3的使用率也已经不低,达到了5.61%。这其中包括很多我们所熟悉的开源项目:


  Linux:如日中天的操作系统,和Unix以及整个自由软件运动有着非常深的渊源。目前使用GPLv2(因此在理论上,所有的Linux发行版都遵循GPL许可协议)。

  GNU系列:GNU Emacs,GNU调试器,GNU C编译器等等。当然,GNU项目已经在使用GPLv3。

  eMule电驴:众所周知的P2P下载工具,目前使用GPLv2。有兴趣的读者可以看看他们翻译的非官方GPL中文文本

  WordPress:流行的博客系统,目前使用GPLv2。

  Java:Java的HotSpot技术和Java语言编译器javac从2006年开始采用GPLv2,不过条款中在GPLv2允许的范围内使用了linking exception(直译为连接例外),所以是一个修改过的GPLv2。另外,同属于Sun的Glassfish和NetBeans IDE也都采用此种许可协议。

  MySQL:著名的开源数据库。MySQL采用的是双重许可协议——带有例外的GPLv2,以及专有类型的最终用户许可协议。这种双重许可的方式是开源软件发展多年的一个产物,这种方式允许厂商通过售卖开源软件的许可证赚钱,为想要使用GPL开源项目而又不想公开自己代码的用户提供了另一种选择。至于这种方法是否有利于开源界,以及是否会被用来钻空子,目前还无法得出明确的结论。不过可以肯定的一点是,因为MySQL在GPLv2下发布,所以无论之后发生什么事,MySQL这个开源技术都是不可能被扼杀的。


酷毙

雷人

鲜花

鸡蛋

漂亮
  • 快毕业了,没工作经验,
    找份工作好难啊?
    赶紧去人才芯片公司磨练吧!!

最新评论

关于LUPA|人才芯片工程|人才招聘|LUPA认证|LUPA教育|LUPA开源社区 ( 浙B2-20090187 浙公网安备 33010602006705号   

返回顶部