自由软件之“父”—Richard. M. Stallman

      Richard Stallman是自由软件运动的领袖,是GNU计划及自由软件基金会FSF(Free Software Foundation)的创立者。他为自由软件运动竖立了道德框架,被许多人誉为当今自由软件的斗士、伟大的理想主义者,但同时也有人批评他过于固执、观点落伍。

 

“叫我RMS”

 

      1953年,RichardStallman出生于美国纽约曼哈顿地区。1969年,16岁的Stallman在IBM纽约科学中心第一次接触到了电脑,并从此与之结下了不解之缘。1971年,他进入哈佛大学学习。同年,一次偶然的机会使得他受聘于麻省理工学院(MIT)人工智能实验室,专业从事软件开发工作,并且一直在那里工作了10多年。

 

      当时,人工智能实验室使用一个ITS(不兼容分时系统)分时操作系统。开发人员用汇编语言为Digital的PDP-10计算机设计和编写程序,Stallman的工作就是改进系统。当时,自由拷贝和源代码开放是整个计算机业的软件开发和传播模式。那时软件是鼓励自由拷贝的,如果你看到别人使用一种你没见过且有意思的软件,就可以向他索要程序,这样你就可以读它、修改它,或者拆卸部分用于新的程序。可以说,正是这种自由,造就了很多成功的软件,如Pascal、Lisp、Unix等。

 

      然而,进入20世纪80年代后,计算机的商业化和软件专有化席卷了整个产业。好多有才能的MIT程序员投入了市场的怀抱。这大大伤了MIT人工智能实验室的元气。一个相互协作、彼此交流的社区就这样被禁止了。RichardStallman感到一个时代结束了。

 

      “随着社区的终结,我面临着一个道德上的抉择。最简单的就是投身于专有软件世界之中,签署不公开协议,并承诺不帮助同行、同事。我自己也很可能编写软件,并在不公开协议的前提下发布软件,去同流合污,迫使更多的人背叛自己的原则。显然,走这条路可以挣大钱,而且使编写代码的工作增添一份金钱上的快乐。但是我知道,等到自己职业生涯终结时,我再回首这些年为分离人类而砌造的‘墙壁’,我会感受到我将自己的一生都用在使这个世界变得更加糟糕。”Stallman如是说。

 

      另一个选择很直截了当,但令人不愉快,那就是从此离开计算机领域。“这样我的技能不会被滥用,但也将被浪费,我不会因为分化和限制计算机用户而感到有罪,但这些事情会继续发生。”RichardStallman说:“因此,我开始寻找一条出路,使程序员可以做真正的好事。我问自己,我能写什么软件?我能否让社区重焕生机?”

 

      1983年,Stallman曾写下了如下一段自传:“1971年我到了MIT的人工智能实验室。我的爱好包括交友、各国民间舞蹈、飞行、烹饪、物理、录像、双关语、科幻小说,当然还有编程。而我正是靠最后一样爱好来维生。一年前,我与相伴10年的‘老友’——PDP-10分手了。虽然我们仍然‘相爱’,但这个世界却让我们不得不分道扬镳。在这段时间里,我仍然住在麻省的剑桥。在我的记忆里,RichardStallman是我的俗名,人们可以叫我RMS。”

 

      虽然这个世界让他与“老友不得不分开”,但Stallman仍然在继续奋斗,仍然在“麻省的剑桥”,并大胆地宣布“Richard Stallman是我的俗名”,从此开始了他长期的、不屈服于世俗的、勇敢的战斗。

 

GNU计划和自由软件基金会诞生

 

      1983年,RichardStallman在net.unix-wizards新闻组上公开发起GNU计划,宣布它的目标是创建一套完全自由的操作系统,并附带一份《GNU宣言》。在该宣言中,Stallman声称发起该计划的一个重要理由是要“重现当年软件界合作互助的团结精神”。 GNU是“GNU'sNot Unix”的递归缩写,Stallman宣布GNU应当发音为Guh-NOO,以避免与new这个单词混淆(注Gnu在英文中原意为非洲牛羚,发音与new相同)。

 

      1984年1月,Stallman辞去了MIT的工作。他担心MIT会要求产品的所有权,会给产品强加入自己的销售条件,最终又会成为专有软件。

 

      对于他来说,首先需要的是一个操作系统,这是开始使用计算机的关键软件。有了自由操作系统,就能再次组建一个相互合作的自由社区,而且任何人使用自由软件都不必剥夺他/她与朋友家人的共享权利。 作为一名操作系统的开发人员,Stallman无疑最胜任。“虽然我没有认为自己一定能成功,但我意识到自己就是命中注定要做这项工作的。”他选择做一个与Unix兼容的操作系统,这样容易被移植,而且Unix用户可以方便地转移过来。

 

      一开始,GNU计划只有他一个人。当他发现自己原来在人工智能实验室的办公室还没有分给其他人用时,就每天晚上溜进去工作。久而久之,白天他也跑去用实验室里的电脑。当时,人工智能实验室主任PatrickH. Winston并不干涉。因为他始终不把Stallman的辞职当真,只要Stallman能创造些好东西给大家用,实在没有必要打发走这位老同事。因此,他爽快地答应Stallman可以继续使用实验室的设备。从此,Stallman就成了特殊的一员。

 

      GNU计划采用了部分当时已经可自由使用的软件,例如TeX排版系统和X-Window视窗系统等。工程启动后,Stallman听到有一个自由的编译器套件。他去信询问能否用入GNU。答复是嘲弄式的,说对大学是自由的,但软件本身不行。于是,他决定为GUN编写的第一个软件就是能跨平台的编译器。由于C语言是使用最多的开发语言,而且是Unix的开发语言,所以,他决定首先写一个C的编译器,并命名为GCC。

 

      1984年9月,Richard Stallman开始写GUN Emacs。到1985年初,GUN Emacs已经可以工作了,使用它可以用Unix系统进行编辑。此时,人们开始想使用Emacs,但如何传播它?当然,他将其放到了MIT的匿名服务器上。但那时互联网还未普及,人们很难通过FTP获得拷贝,而失业的Stallman也需要收入。于是,他宣布任何人都可以用150美元的价格获得该程序。自由软件的分销商业模式就此诞生。目前已有几百种Emacs的副程序,可用在50多种电脑上,从微电脑到Cray的超级电脑都可用Emacs。

 

      为防止不法厂商利用自由软件,使其专有化,RichardStallman还别出心裁与一群律师起草了广为使用的GNU通用公共协议证书(GNUGeneral Public License, GNU GPL),创造了Copyleft的授权办法。所有的GNU程序遵循一种“Copyleft”原则,即可以拷贝、可以修改、可以出售,但有一条就是源代码所有的改进和修改必须向每个用户公开,所有用户都可以获得改动后的源码。它保证了自由软件传播的延续性。

 

      由于Emacs的成功,Richard Stallman设立了自由软件基金会(FreeSoftware Foundation Inc.,简称FSF)。FSF致力于消除对计算机程序复制、分发、理解和修改方面的限制。凡是捐助FSF和GNU计划的厂商,也可享有减税的优待。单单1989年,FSF就收到了267782美元的捐助,基金会也因出售GNU程序手册和电脑磁带而赚了330377美元。

 

      此时,Stallman也不再天天溜回人工智能实验室“借”用电脑,因为许多厂家已为FSF提供一大堆的高性能工作站等硬件设备,包括HP、Thinking Machine、SONY、贝尔实验室等。也有一些厂商捐赠现金,并把技术人员送到FSF来向Stallman学习,而且支付FSF成员的薪水。

 

      FSF就用这些钱来养起14位基金会成员:9位程序设计师和3位负责撰写技术资料。虽然RichardStallman自己不支薪,但他不能期望他的同仁也和他一样看得开,饿着肚子为理想奋斗。FSF的程序设计师一年也只有25000美元的薪水,这也只是在一般厂商工作薪水的一半或三分之一。Stallman之所以以低薪待人,原因就是可多请几位志同道合的合作者,为理想而工作。

 

Linux应该称为“GNU/Linux”

 

      GNU激励了许许多多年轻的软件开发者,一些商业公司也开始介入开发和技术支持。其中最著名的就是之后被RedHat兼并的Cygnus Solutions,他们编写了除操作系统内核Hurd以外的大量自由软件。

 

      尽管GNU的计划是建立一个完整的自由软件世界,但是作为其根基的操作系统(Hurd)的开发进展却相对缓慢。Linux的出现恰逢其时,它使得GNU有了一个坚实的根基。

 

      Richard Stallman经常阐述:“GUN代表自由的思想,但不是免费的午餐。”而同是自由软件的积极倡导者,LinusTorvalds从不对自由软件应该是什么妄加评论,他毫不犹豫地把Linux奉献给了自由软件,奉献给了GNU计划。

 

      1991年,LinusTorvalds编写了系统内核,称之为Linux。Linux作为一个操作系统,用于编译、项目管理、运行的各种工具和各种函数库也源于GNU项目。Linux把所有软件和硬件连接起来。

 

      GNU和Linux密不可分,因此,Richard Stallman一直说,Linux并不能代表整个操作系统。Linux只是内核,整个系统还包含数以百计的软件工具和实用程序,它们大多是由GNU的开发者们完成的。他认为,Linux操作系统称为GNU/Linux比较合适。

 

为弘扬自由软件精神四处布道

 

      有人说,RichardStallman是地球上编写代码最多的程序员。他编写了大量优秀的程序,如Emacs 、GCC和GDB (程序调试器)。目前,尽管他对GNU的设想还没有完全实现,但是这个软件系统已经有1000多个应用程序,而且GNU自己的内核Hurd也已经发布了Beta版本。此外,GNU在工作站和微机市场也颇有成就,许多Unix/工作站和微机厂家,都把GNU纳入他们操作系统。

 

      Stallman的工作得到了认可,他曾获得多项大奖和荣誉:

 

        ◆1990年度麦克阿瑟奖(MacArthur Fellowship);

 

        ◆1991年度美国计算机协会(Association for Computing Machinery)颁发的Grace Hopper Award,以表彰他所开发的的Emacs文字编辑器;

 

        ◆1996年获颁瑞典皇家技术学院荣誉博士;

 

        ◆1998年度电子前线基金会(Electronic Frontier Foundation)先锋奖(PioneerAward);

 

        ◆1999年Yuri Rubinski纪念奖;

 

        ◆2001年武田研究奖;

 

        ◆2002年成为美国国家工程院院士。

 

      但是,RichardStallman真正的力量还是他的思想。在他的理论下,用户彼此拷贝软件不但不是“盗版”,而是体现了人类互助的美德。他说:“想想看,如果有人同你说,只要保证软件不拷贝给其他人用的话我就把这些宝贝拷贝给你,其实这样的人才是魔鬼;而引诱人当魔鬼的,则是卖高价软件的人。”

 

      他在《为什么软件不应有‘所有者’?》一文中指出,软件的编写者将软件“据为己有”看上去天经地义。但必须看到,一个软件并不是单纯的工具,一旦软件的编写者将其传播出去,就不简单地是在提供“工具”,而是在传播“思想”。在这一点上,现有的版权体系采用了所谓保护“表达”,不保护“思想”的两分法,为软件保护问题设置了无法解释的障碍,造成了软件的精神分裂。

 

      Richard Stallman认为,自由软件并非免费软件。为了募集资金,他建议销售软件光盘时制定一个适当的价格。另外,虽说是自由软件,也不一定必须设定一个较低的价格。而且,在Copyleft时代,软件公司可以靠服务和训练赚钱。如果你的公司没有人会用源代码,就得请位程序员,帮助修改由FSF得来的Copyleft程序。你不必怕出钱所改的程序会流传到另一家公司,因为那家公司也许会为这软件改头换面,或者修改或者添加些新功能。在任意拷贝的情况下,大家都会因此而受惠。

 

      Stallman希望,有一天软件业者不是靠目前的“Copyright”版权法,迫使客户花费巨额资金购买软件,而是依仗提供服务(如技术支援、训练)来获取应得的报酬。简而言之,未来软件业的基本准则就是“资源免费,服务收费”。

 

      Stallman总是风尘仆仆,行囊相随,四处布道。Stallman从来都只用自由软件(当然他没用过Windows)。他没有自己的汽车、电视和房产。这位单身汉居住在一间租来的房子里,他没有领过一天工资,因为他的工作就是使软件获得自由。

 

      然而在商业社会的今天,人们更愿意追逐财富,而不是贫寒的Stallman的崇高思想。Richard Stallman毫不妥协的个性和思想使其在自由软件内部也越来越成为争议人物。但不容置疑的是,正是他的思想成为自由软件运行的力量源泉。无论如何,RichardStallman仍然被认为是自由软件运动的核心人物,他在计算机领域的重要地位不容动摇。就连他的反对者也说:“如果不存在RichardStallman,人类也应该把他创造出来。”

 

 

 

你可能感兴趣的:(GNU)