天下网吧 >> 网吧天地 >> 网吧行业 >> 网络追踪 >> 正文

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

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

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

  GNU GPL条文概述

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

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

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

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

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

copyleft

  为了有效地保护这些自由,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软件公司发起建立并维护的数据库)的调查,目前使用GNUGPLv2的开源项目是最多的。到今天为止(2010年5月)的统计中,GPLv2占据了全部开源项目当中48.54%的比例,而GPLv3的使用率也已经不低,达到了5.61%。这其中包括很多我们所熟悉的开源项目:

GNU GPL

  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和NetBeansIDE也都采用此种许可协议。

  MySQL:著名的开源数据库。MySQL采用的是双重许可协议——带有例外的GPLv2,以及专有类型的最终用户许可协议。这种双重许可的方式是开源软件发展多年的一个产物,这种方式允许厂商通过售卖开源软件的许可证赚钱,为想要使用GPL开源项目而又不想公开自己代码的用户提供了另一种选择。

  至于这种方法是否有利于开源界,以及是否会被用来钻空子,目前还无法得出明确的结论。不过可以肯定的一点是,因为MySQL在GPLv2下发布,所以无论之后发生什么事,MySQL这个开源技术都是不可能被扼杀的。

9 7 3 1 2 4 8 :

本文来源:51cto 作者:51cto

声明
声明:本站所发表的文章、评论及图片仅代表作者本人观点,与本站立场无关。文章是出于传递更多信息之目的。若有来源标注错误或侵犯了您的合法权益,请作者持权属证明与本网联系,我们将及时更正、删除,谢谢。 Email:support@txwb.com,系统开号,技术支持,服务联系微信:_WX_1_本站所有有注明来源为天下网吧或天下网吧论坛的原创作品,各位转载时请注明来源链接!
天下网吧·网吧天下
  • 本周热门
  • 本月热门
  • 阅读排行