若为自由故(Free as in Freedom)

笔记本导出 若为自由故——自由软件之父理查德·斯托曼传(异步图书) Sam Williams

高科技产业在这短暂时间内迅速成长的过程中,则充斥着关于 GPL的争论。 GPL的支持者声称:由于计算机硬件平台的短暂寿命,为了避免买到过时产品,用户会倾向于购买大品牌的产品。由此带来的结果,造成了软件市场赢者通吃的局面 [2]。而如今,由于软件被认为是专有的,具有垄断地位的公司就会滥用它的权利,使得整个产业停滞不前。垄断企业会堵住所有去路,让竞争者无法生存,也让后起的创业公司无处立足。

正如微软副总裁蒙迪于 5月 3日在纽约大学所说的, GPL的“病毒”特性为各大公司带来了威胁,威胁着它们赖以生存的软件产品。蒙迪道:“它严重地威胁着独立的商业软件。出售软件不仅仅是要收回发行成本,还有更多的人力附加价值。而 GPL则让这种买卖变成天方夜谭。 [4]”

“我并不喜欢这种反抗文化,”斯托曼坦言,“我不喜欢他们的音乐,不喜欢毒品。我非常害怕毒品。我更厌恶他们那套反理性反知识的论调,厌恶他们对各种技术的偏见。因为无论怎么说,我还是喜欢计算机的。我还经常遇到各种没头脑的反美意见,这也让我很反感。有些人的头脑真的太过简单了,他们觉得如果要反对美国参加越南战争,就意味着支持越南北方政权。他们就天真到想不出另外一种可能。”这样的评论也许是在为斯托曼当时的怯懦找到些借口,但也标志着斯托曼自己政治思想的逐步成熟。对于他来说,政治上的信心和自信心成正比。到了 1970年,斯托曼已经在数学和科学以外的一些领域里树立起了自信。当然,有在数学方面的信心和能力作为基础,让斯托曼可以从纯逻辑的角度分析越南战争。这种分析最终带来的结论让斯托曼觉得,尽管反对越南战争,但不可否认,战争在维护自由和捍卫正义方面起到了积极作用。然而,斯托曼也不想让自己在同龄人里过分特立独行,于是他关于战争的这些分析,也就一直留在自己肚子里了。

要想了解什么是“刻板”和“官僚流程”,斯托曼说只要去哈佛的计算机实验室看看就行了。在那里,使用终端的先后顺序,是按照年级排序的。作为一个本科生,斯托曼经常要等好几个小时才能用上计算机。等待本身并不是件难事,但却是个很无聊的事情。尤其是明明知道,在各个教授的办公室里都有一个能用的计算机终端,可每间办公室的房门都是紧锁的,却只能在那里按部就班地等着用那几台公共终端。在斯托曼看来,这实在暴殄天物。尽管他后来也会偶尔去哈佛大学的计算机实验室,但他显然更喜欢人工智能实验室的平等环境。他说:“在那里总算能呼吸到新鲜空气了。人工智能实验室里,人们更关心手头的工作,而不是各自的地位状态。”

斯托曼的这种反密码抗议,以及各种拒绝安全保护的行为,最终还是要失败的。 20世纪 80年代起,哪怕是人工智能实验室,也开始支持密码登录系统。可即便如此,斯托曼的行为标志着他个人政治思维成熟的里程碑。斯托曼迈出了一大步。当年他还是怯懦的中学生时,哪怕遇到决定生死的大事,他也不敢上街公开反对。如今,他成为了一名活跃人士,把各种嘻笑怒骂当作家常便饭。反对计算机安全这事体现了斯托曼早年性格中的几个关键特质:对知识如饥似渴,对权威厌恶嘲弄;可又烦恼于别人对自己的各种偏见不解,被一些人看作异类。这些也正反映出了未来主导他行动的道德基础:对集体的责任感和信任;还有遇到问题,直接行动的黑客精神。用软件界的行话来说,反密码抗议行动体现的正是斯托曼 1. 0版。虽然有些地方还很不完善,但大部分已经成熟。

对于斯托曼这样的黑客来说, Napster的商业模型内包含着复杂的信息。一方面,这家公司大力倡导黑客社区所欣赏的信息共享精神;而另一方面,该公司又出售着基于专有软件的服务。这种复杂性,让斯托曼对这一事件少言寡语,因为他知道,自己已经花了很大工夫去传播自己的思想,而对这种部分和自己思想相同,但很大程度上又有矛盾的事件发表评论,很容易被媒体断章取义、平添混乱。可斯托曼依旧承认,从 Napster事件上,他也认识到了一些有价值的东西。“以前,我觉得人们私下分享娱乐信息就可以了,”斯托曼说,“可如此庞大数量的用户在 Napster上分享音乐,这让我觉得,不仅仅是私下朋友和朋友之间的共享很重要,在公共场合,公开给大家分享信息的自由也同样重要,不可剥夺。”

当说起版权作品的时候,斯托曼把整个领域分为三个类型。第一个类型是所谓的“功能类”。软件、辞典、教科书都属于此类。第二个类型可以称为“证据类”。科技论文、古籍文献都属于此类。这些作品,如果可以被任意修改,则没有了价值。这一类也同样包括对个人感受的记录,如日记、游记、自传。修改这些作品,则会影响到对某人的回忆或观点。因此,斯托曼觉得对此类作品,读者不能有权修改。第三类则是“艺术类”,包含了艺术和娱乐作品。这三类作品中,对于“功能类”的作品,用户应该具备无条件地修改它们的权利;而对于“证据类”和“艺术类”作品,则要根据作者意愿,才能赋予用户一定的修改权力。斯托曼坚信,无论哪类作品,用户出于非商业目的复制与分享行为都应该被允许。

回头看看这段往事,斯托曼觉得,从一个学生转变成一个全职黑客几乎是命中注定的。他觉得,自己早晚都会放弃其他任何追求,专心成为一名黑客。他说:“物理和数学领域里,我很难做出一些自己原创的贡献。倘若我能在那里有所成就,我自然乐见其成。可我始终没能在这些领域里,找出自己的套路。我甚至都不知道从何开始。而在软件领域中,我立即就能知道怎么写软件,怎么让它跑起来,怎么做出有用的东西。软件领域里的知识,让我有了继续深究下去的动力,也让我从中感受到了无尽的乐趣。”

对于这位从 ITS世界来的架构师来说,在 UNIX中设计软件似乎更像是设计城郊购物中心,而非设计紫禁城皇宫。即便如此,设计成类 UNIX系统依旧有它的优势。 ITS的确强大,但仍有一处致命缺陷:麻省理工学院的黑客们创造的 ITS系统,是专门针对当时强大的 DEC PDP-10计算机设计。可到了 20世纪 80年代,人工智能实验室的管理员决定淘汰掉实验室的 PDP-10计算机。当年辉煌一时的 ITS系统也因此成了一座无人的“鬼城”。而 UNIX的设计则与此不同。它的设计非常强调移植性,它并不依赖于某个特定的硬件环境。因此,面对硬件更替, UNIX毫无压力。

虽然斯托曼对这种排斥行为非常反感,但并没对此有什么行动。可 Symbolics的最后通牒则改变了一切,这事从此也不再是私人恩怨了。当 Symbolics公司不再给用户提供源代码的时候,斯托曼决心要对此进行反击。他日夜坐在他的办公室里,在麻省理工学院的 Lisp机系统上,实现了 Symbolics提供的各种新功能和 Bug修正。他把修改后的版本代码分发给各个用户,包括 LMI公司的客户。这样, LMI公司的客户也可以拥有 Symbolics系统类似的功能。这也为斯托曼在黑客圈子里平添了几分名气。斯托曼早就因为 Emacs而名声大噪。如今,他一个人单枪匹马,对抗整个 Symbolics公司的开发团队,而且这团队之中还尽是各色传奇黑客。斯托曼的这一行为本身,就足以成为信息时代的一段传奇。

从 20世纪 70年代走到 20世纪 80年代,出售软件已经不再仅仅为了弥补开发的成本,它变成了一种政治宣言。当年,里根政府正在极力清除大萧条时期政府制定的各种避免竞争的限制,越来越多的程序员也把黑客文化视为一种反对竞争,乃至违背美国精神的东西。最起码,他们觉得所谓黑客精神,最多是股复古风,不过是 20世纪 60 ~ 70年代反对大型企业态度的延续,一种企盼回到理想年代的情结。

其实,大多数开源软件的支持者其实也一样反对软件专利。但关于开源软件和自由软件的区别,斯托曼的描述却也不错:开源软件的观念更偏向于实用主义;而自由软件的观念则更强调用户自由。开源的支持者不怎么喜欢强调软件用户的自由,他们更愿意强调黑客开发的工程模型。强调同行互相审校的重要性。他们认为, GNU/Linux或 FreeBSD的开发模式可以创造出更好、更强大、更值得信赖的软件。

雷蒙德写道:那另外 95%的人中,包括很多公司经理、投资人,以及普通的计算机用户,他们不是黑客,他们会倾向于跟从专有商业软件的大市场。雷蒙德认为,如果不能赢得这些人的支持,黑客们将只能游离于主流之外,去追随自己的理想。 RMS向我们谈论起“计算机用户权利”的时候,他向我们发出了一份吸引人却危险的邀请函,引导着我们重犯旧错。我们应该拒绝它——不是因为它的原则是错的,而是因为那样的词汇用在软件上,只能说服我们自己,而不能说服别人。事实是,它把大多数圈外人都拒之千里 [5]。

最后的结果,用斯托曼的话说,就是好比很多第三世界国家建立的城市。人们怀揣梦想从四面八方涌入城市,希望能让自己的生活变得更加富裕,或者至少能融入到这个充满活力和开放文化的社会,但是那些真正有权有势的人则通过制定各种新的方针政策来玩弄老百姓。软件专利就是一个很好的例子。“你把百万千万的人扔到城市中,结果是在城市里建起了成千上万的城中村、贫民窟。但是没人开始着手做下一步的工作:把城中村,贫民窟里的人解救出来。如果你觉得讨论软件用户的自由是有意义的,那么请加入我们,开始做第二步工作。很多人都在做第一步,但这第二步却无人问津。”这“第二步”工作直指自由软件运动的核心:自由软件的重点并非是装机量用户量,而是赋予用户自由。有些人希望能从内部瓦解整个专有软件工业,这实在是痴人梦话。斯托曼说:“从内部瓦解实在不现实,除非你能像当年戈尔巴乔夫那样攀到高位,否则你多半会被同化。”

GNU工程的成员,以及 GNU工程的非营利性赞助商——自由软件基金会的一些成员回忆说,当时的大家的心情非常不好,甚至加芬克尔的文章对大家造成的伤害都已经显得不是那么重要了,“当时的情况很明显,至少在我看来是这样,那就是引入一个全新的操作系统需要一个时间窗口,”查瑟尔说,“一旦错过了这个时间窗口,人们对新的系统就不会有太大的兴趣,但这却正是当时大家所面临的情况 [3]。”

1990年 ~ 1993年期间, GNU工程一直处在挣扎中。有些人为此批评斯托曼,但 GNU Emacs早期团队中的一员并后来成为斯托曼批评家的埃里克·雷蒙德认为,造成一切问题的根源是体制。“自由软件基金会太骄傲了,”雷蒙德说,“他们把自己的目标从开发一个成熟的操作系统,转移到了进行操作系统的研究。他们认为除了自由软件基金会,没人可以对他们造成影响。”

默多克,作为一名并不参与 GNU工程内部运作的人,更具有包容的观点。“我认为问题的一方面是他们有点过于好高骛远,把钱投入了不正确的地方,”默多克说道,“微内核在 80年代和 90年代初期是一个非常热门的话题。很不幸的是,那正是 GNU工程开始设计他们的内核的时间,结果就是带来了很多额外的包袱,这些包袱很难被轻易甩掉。”

但斯托曼表示他完全不记得 1996年的大会上有什么紧张的气氛,只不过他记得在那次大会上,他被托瓦兹的厚脸皮刺激到了。“在 Linux的文档中有一段描述,让人们把 GNU编码标准打印出来,然后再把它们撕烂,”斯托曼举例道,“好吧,我知道他对我们的一些做法持有反对意见。有不同意见是可以的,但是他选择了一种格外令人生厌的方式去表达这样的观点。他完全可以换个说法,‘我觉得你可以使用另一种方式来缩进你的代码。’这样就不会有攻击性了。”

对于雷蒙德来说,黑客们给予托瓦兹高度的评价和真诚的欢迎从另一个角度上证实了他的怀疑。 Linux开发者与 GNU/Linux开发者之间几乎存在着一个代沟。很多像托瓦兹那样的 Linux黑客是在专有软件的世界中成长起来的。除非软件的质量确实很低下,否则没什么人会对软件的许可证问题发出抱怨。在自由软件的世界中,也许隐藏着一个 PowerPoint的自由软件替代品。但是,在黑客们真正开始转向使用这个软件前,为什么要嫉妒微软开发了这样一个好用的专有软件呢?

回头去看,奥莱理认为没有邀请斯托曼的决定并不是因为怠慢了他。奥莱理说:“在那个时候,我没有见过理查德·斯托曼本人,不过在我们的电子邮件沟通中,斯托曼看上去是个很强势的人,并且不太愿意加入对话。我希望能够保证在会议中展示出 GNU的传统,所以我邀请了约翰·吉尔摩和迈克尔·蒂曼,这两个人我都比较熟悉,我知道他们对于 GPL的价值都非常有热情,不过看上去他们更愿意参与有关自由软件项目和传统的优势和弱点的讨论。从后面发生的事情来看,我有点后悔没有邀请理查德,但是我没有这么做并不能看成是对 GNU工程或理查德·斯托曼本人的不敬。”

事实上,在 LinuxWorld大会之前,斯托曼已经表现出他正在慢慢疏远他的同盟。免费软件峰会召开后几个月,奥莱理主办了他的第二次年度 Perl大会。这一次,斯托曼参加了会议。在一次有关 IBM决定在它们的商用方案中整合 Apache Web服务器这个自由软件的小组讨论中,斯托曼抢过了听众的话筒,把矛头指向了与会者之一的约翰·欧斯特霍特( John Ousterhout),他是 Tcl脚本语言的作者。斯托曼把欧斯特霍特称作是自由软件社区的寄生虫,因为他通过他自己开办的名为 Scriptics的创业公司销售一个商业版本的 Tcl。“

不管这些评论是否减轻了雷蒙德和其他开源拥护者的行为是以金钱为目的嫌疑,但是他们向开源社区传达了一个最基本的信息:想要宣传自由软件的概念,只需要一张友善的面孔和合乎情理的信号。不用像斯托曼那样正面与商业市场斗争,雷蒙德、托瓦兹和其他黑客社区的新领导者们需要一种更宽松的方式:在某些领域忽略市场,通过别的方式去影响它。不能扮演被学校开除的那个角色,而应该成为社会的名流,在这个过程中不断扩大自己的影响力。雷蒙德说:“在理查德最不如意的日子里,他认为我和林纳斯·托瓦兹串通搞阴谋绑架他的革命。理查德拒绝使用开源一词,并且故意认为我的观点是意识形态上的分歧,这是由于他自己的理想主义和领地主义的混合结果。从外人的眼光看来,可能会以为这是理查德的个人野心膨胀的结果。但我不这样认为。我觉得这不仅仅是野心,这更是因为理查德把自己和自由软件的理念紧紧地绑在了一起,在他看来,任何对自由软件的威胁就是对他本人的威胁。”

除此之外,近期关于开源的争论也表明:当斯托曼手持武器时,通常是他找到了一种可以让他的事业有所进展的方式的时候。伊恩·默多克说:“斯托曼最重要的一个性格特征就是他不会动摇自己的立场。如果需要,为了让别人接受他的观点,他可以等上十年。”默多克所发现的斯托曼这个不动摇的特质既新鲜又宝贵。就算斯托曼不再是自由软件运动的唯一领袖,他仍然是自由软件社区的北极星。默多克说:“你可以坚信他永远会坚持他自己的观点,虽然大部分人都不是这样的。不管你是否同意他的观点,你都必须尊重他的观点。”因为事实常常证明:他站得更高,看得更远。

“你可不可以不要再笑了!”他咆哮道,雾气蒙上了他的眼镜片,“这全是你的错。如果听我的走另一条路就不会这样了。”斯托曼加重了“听我的”一词,紧紧的抓住方向盘并两次把它拽向自己。斯托曼的样子就像是一个在汽车座位里发脾气的小孩子,他的声音进一步加强了这样的形象。斯托曼又生气又郁闷,眼泪几乎就要掉下来。

作为一个负责推动斯托曼的自由软件运动进程的人,莫格林非常理解那种不确定的同盟所带来的挫败感。莫格林说:“理查德是一个从不妥协的人,在他认为是一些核心的根本问题上,他从不尝试通过语言上的技巧或换用一种更委婉的说法来取悦别人,但这种技能又是在人类社会中必不可少的。”

莫格林这样的评价否定了斯托曼对自己的评价:“我不是个能运筹帷幄的人。”斯托曼针对一些从未谋面的人认为他是一个精明的战略家的评价,曾这样说:“我不善于看到未来的形势并且参与一般人所会做的那些事情。我的方法是永远关注事情的基础,也就是说,‘让我们一起尽可能地打好基础吧。’”

当我提到莎拉所说的“粉碎孤独”的评价,斯托曼没有意识到身体和精神层面的孤独和黑客层面的孤独之间的联系,他说:“分享代码的推动力来自朋友情谊,而友情在更低的一个层面。”不过,后来又提到这个话题时,斯托曼承认了他对孤独,或者说是对持续的孤独的恐惧。在 GNU工程最初的岁月里,这样的孤独帮助他做了的各种重要的决定。他说:“我对计算机的迷恋不是任何别的东西的结果。如果我人缘更好,有更多追随我的女性,我对计算机的迷恋也不会有什么改变。当然,我感觉到自己没家,找到一个人又失去她,找到另一个又摧毁她,这对我一生都有很大的影响。我失去的是我们的宿舍,我摧毁的是人工智能实验室。没有家和社区的归属感所带来的不安全感非常巨大,它们迫使我去战斗,并把它们抢回来。”