Linux开源的法律基础--GPL开源许可协议简介

最近由于华为事件,操作系统被炒得很火,国人都盼望着我们能有自己国产的操作系统。前几日报道说中兴新支点操作系统进入了政府采购名单,但却有些网友认为中兴新支点用的是Linux内核,并不算完全自主,仍有被外国限制的可能,其实这点是完全不用担心的,这篇文章就来介绍一下保证Linux开源的法律基础--GPL开源许可协议。

许可协议,或者说许可证,是指软件出版商与用户之间签订的、规定软件使用过程中双方权利与义务的合同。开源许可协议就是规定用户使用开源软件时的权利与义务,开源许可协议有许多种,而Linux使用的就是“通用公共许可协议”(General Public License,GPL)。

GPL溯源

要想了解GPL涉及到几个关键词,理查德·马修·斯托曼(Richard Matthew Stallman, 简称RMS),自由软件基金会(Free Software Foundation),GNU("GNU is Not Unix"的递归缩写)工程。

Richard Stallman是自由软件运动的发起者,这位大叔很配得上道德模范和人生标杆的称号了,人家就觉得专有软件是不道德的,你写个软件,申请了个专利,结果后面几十年人家都不能再弄这个东西了,简直就是反社会啊,用大叔自己的话来说“(加入专有软件的世界)我可能因此发财,也可能编程时乐在其中。但是我知道在我结束职业生涯之时,当我回顾那些建造围墙、隔离大众的岁月之时,我会感到我的一生是在让这个世界变得更糟糕”,看到大叔这觉悟了吧。

有了这层觉悟,斯托曼大叔就付诸行动,因为当时的操作系统都不是自由软件,大叔觉得要想推动自由软件发展,首先就得有自由的操作系统,这里的操作系统是广义的操作系统,因为在70年代,每个操作系统都有命令行、汇编器、编译器、解释器、调试器、文本编辑器、邮件服务等等很多东西,并不是仅仅指操作系统内核。大叔选择让这个系统和Unix兼容,这样Unix用户就能够轻易切换过来,这项伟大的计划就起名叫GNU计划,也有向Unix致敬的意思。

GUN计划大概是在1984年元月启动的,但单打独斗是不成的,斯托曼大叔在1985年10月成立了一个非盈利性组织,自由软件基金会(Free Software Foundation),其主要任务就是推进GUN计划,开发出更多的自由软件。

GUN计划下的都是自由软件,那就得阻止用户把这些自由软件拿去改动一下变成专利软件。前面说过软件发行的时候有个许可证告诉用户应该怎么用该软件,传统的许可证一般都告诉用户这软件是发行商的,你只能用,不能传播,不能牟利,否则就是在盗版之类的,而现在需要的这个许可证应该是告诉用户你可以随便用、随便改、随便传播,和传统的许可证有反着的意思。斯托曼大叔也挺逗,传统许可证是宣示“copyright”的,那现在这种许可证就是宣示“copyleft”的,新发明了一个词。斯托曼在1989年2月发布了许可证的第一版,起名叫GNU通用公共许可证(GNU General Public License),1991年6月发布了第二版(GPLv2)。GPL的施行和监督也是由自由软件基金会负责的。

GPL主要内容

GPLv2全文有12大条,这里只总结一下主要的内容:

1.可以自由的复制和分发,比如你可以从网上下载,可以传送给别人,可以放你自己网站上让别人下载,唯一的要求是不论以何种形式发布,必须同时提供源代码。

2.可以自由的修改源码,你可以在源码的基础上进行二次开发,随便的添加或删除功能,可以将其中的部分代码用到你自己的系统中,但是你必须在你的代码中声明使用GPL协议。这就是所谓的GPL的传染性,这一条很受争议,我们会在后面的文章中讨论。

3.可以收费,但只能是为转让软件副本这种行为或者提供软件使用上的技术支持而收费,即为服务收费,而不是为软件收费。

GNU与Linux的关系

前面说了GNU是一个完整的操作系统,那当然就需要有内核,本来GNU有自己的内核项目,叫GNU Hurd,但这个产品据说是因为设计的太灵活了导致难产。这时正好Linus Torvalds开发出了Linux内核,被斯托曼大叔一忽悠,得了,把Linux贡献给GNU计划了,这样GNU系统就是一个完整的系统了,Linux也成了当今最成功的自由软件。既然是GNU的一部分,当然也就遵守GPL开源许可证,这也就是我们今天为什么可以在Linux上开发自己的操作系统的法律保证。只不过在此基础上开发出来的系统,按照上面说的GPL的规定,也必须是开源软件,所以可以看到现在的国产操作系统其实都是可以在网上随便下载使用的。

另外,我们今天所说的Linux操作系统,其实更准确的说法应该是GNU/Linux,因为里面不光有Linux内核,还有GNU计划下的其他开源软件,比如编译器、解释器等等。

结尾

GPL是当前应用最广泛的开源许可协议,像Linux、Mysql等都遵守该协议,但该协议在使用中也有一些问题,尤其是及极强的“传染性”备受争议,于是之后还有GPLv3,LGPL等等,Mysql还采用了双授权的模式,这些我们会有以后的文章中讨论,欢迎关注。

发表评论
留言与评论(共有 0 条评论)
   
验证码:

相关文章

推荐文章

'); })();