1.1 GNU计划概貌
GNU/Linux的产生无非有这样几个前提条件:UNIX的产生和流行、GUN项目计划的提出和发展壮大、GNU的通用公共许可证的法律保护、Linux内核的发布以及Internet的迅猛发展。而其中出现的两个里程碑式的人物——Richard Stallman和Linus Torvalds则起到了技术和精神双重层面上的引领作用。
1.1.1 GNU计划
提到Linux操作系统,我们不得不从最初始的GNU Project说起。GNU是GNU's Not Unix的递归缩写,它是一个对UNIX向上兼容的完整的自由软件系统(free software system)。GNU的中文翻译是角马(南非产的像牛的大羚羊),其标志如图1-1所示。GNU Project于1984年由大名鼎鼎的黑客——Richard Stallman(见图2-1)提出,获得了自由软件基金会(FSF)的大力支持,其基本原则是源代码共享及思想共享。
图1-1 GNU标志
图1-2 自由软件之神:Richard Stallman
Richard Stallman白描:五短身材,不修边幅,过肩长发,连鬓胡子,时髦的半袖沙滩上装,一副披头士的打扮。看起来像现代都市里的野人。如果他将一件“麻布僧袍”穿在身上,又戴上一顶圆形宽边帽子,有如绘画作品中环绕圣像头上的光环。一眨眼的工夫,他又变成圣经中的耶稣基督的样子,散发着先知般的威严和力量。野人与基督,恰恰就是自由软件的精神领袖Richard Stallman的双重属性:他既是当今专有(私有)商业软件领域野蛮的颠覆者,又是无数程序员和用户心目中神圣的自由之神。
在Richard Stallman的理论下,用户彼此复制软件不但不是“盗版”,而且还是体现了人类天性的互助美德。对Richard Stallman来说,自由是根本,用户可自由共享软件成果,随便复制和修改代码。他说:“想想看,如果有人同你说:‘只要你保证不复制给其他人用的话,我就把这些宝贝复制给你。’其实,这样的人才是魔鬼;而诱人当魔鬼的,则是卖高价软件的人。”可以断定,未来软件业发生的最大变革就是自由软件的全面复兴。在自由软件的浪潮下,软件业的商业模式将脱胎换骨,从卖程序代码为中心,转化为以服务为中心。
有人说,Richard Stallman应该算是世界上最伟大,软件写得最多的程序设计师。但是,Richard Stallman真正的力量,还是他的思想。
1.1.2 GNU GPL——通用公共许可证
当我们谈到自由软件(Free Software)时,此处的“Free”指的是自由而不是免费的意思。大多数软件许可证残酷地剥夺了用户共享和修改软件的自由,对比之下,GNU组织制定的,由自由软件基金会发行的通用公共许可证GPL(General Public License),则力图从法律上保障用户共享和修改自由软件的自由——保证自由软件对所有用户是自由的。
具体地说,你可能需要或者不需要为获取GNU软件而支付费用。不论是否免费,一旦你得到了软件,你在使用中就拥有三种特定的自由,即GPL保证了任何人都有权对GPL程序进行复制和传播、修改(改进)以及重新发布GNU软件的源代码,并且规定在不增加费用的条件下得到源代码(基本发行费用除外),但你不能声明你做了原始的工作,或者声明是由他人做的。也就是说,所有采用GPL的程序都必须继续按GPL的规则来发布,以保证自由软件的权利不被侵犯,比如被商业公司所利用。反过来说,任何盗用GPL源代码,把GPL程序加入自己的商业程序封闭起来的行为,都是违法的。
正是因为GPL协议很好地保障了广大程序员和用户的权利,因此很多的软件开发者都自愿地遵循GPL,无数的程序员和软件爱好者都乐于把自己的软件通过GPL发布到互联网上,最终形成了一个更加庞大的GNU社区。