打印

[转帖] 关于一场革新的便笺

6、linux有了用户
哦,阿里?莱姆克,是他为我把这个系统上载到FTP地址上铺平了道路。
他极不喜欢Freax 这个名字。倒喜欢我当时正在使用的另一个名字——linux,并把我的邮件路径命名为pub OS/Linux。我承认我并没有太坚持。但这一切都是他搞的。所以我既可以不惭愧地说自己不是那么以个人为中心,也不得不承认自己并非完全没有自我意识。并且我认为,这是个不错的名字。
如上所述,我的操作系统并非很有用。比如,如果储存太多的东西,或仅仅是因为不小心,系统就会马上崩溃。而哪怕你并非不小心,如果让它运行时间稍长一点,也会崩溃。但是在那个阶段,它并不是给人运行的,而是让人看的。对了,是让人仰慕的。
所以它只是为给少数几个热衷于开发新的操作系统的人分离的。他们都是非常迷恋技术的人,甚至是技术迷当中的特殊兴趣小组。
他们的反应无一例外是积极的,但是这是一种“它要是能这样或那样就更好了”的肯定态度。或说:“看起来倒是挺酷,但是在我的电脑上根本就转不起来。”
我记得一个人在邮件中写道,他真的很喜欢我的操作系统,并用了至少一大段文字来描绘它的好处。接着他说我的系统吃掉了他的硬盘,而我的磁盘驱动程序则是“又娇气又脆弱”之类的。他丢失了他先前所有的文件,但他还是对我的操作系统持积极支持的态度。读这样的邮件很令人感动。事实上是一个软件“臭虫” 毁了他的文件系统。
我的就是这种反应。我修补了几个程序上的瑕疵,包括那个当内存用完时就会死机的漏洞,而且还取得了一个,经GCC编译器装载到操作系统上,这样我就可以编写小的程序了。这也意味着使用者在运行这个操作系统之前不必先导入我的GCC编译器了。

你是否渴望回到那样的时代,当男人像男子汉并且能自己编写驱动程序?
——linux0.02版本的上载宣言

十月初我发布了0.02版,包括了几个对瑕疵做的补丁程序和一些增加的新程序。十一月我又发布了0.03版。
我本来可能会在1991年底之前就洗手不干了。我已经做了很多自认为有意思的事。并非一切都绝对圆满,但在软件世界中,一旦你已解决了最根本的问题,兴趣就容易很快地消失。我也是那样。解决软件中存在的小问题并不是什么吸引人的工作。但接下来发生了两件让我继续下去的事,第一:由于失误,我破坏了我的MINIX分区;第二,人们不停地传给我反馈的意见。
那时,我在导入linux时仍要把MINIX作为主要的开发环境。我在Linux系统下做的大部分事只是这我写的终端仿真器从学校的电脑上读邮件和新闻。
学校的电脑总是很难登录,所以我编了个可以自动拨号的程序。但是在十二月时,我本想自动拨devtty1——这是系列电话线,但却错误地拨成了 devhda1,既硬盘分区,结果是我无意中覆盖了保存的MINIX中最重要东西的空间。是的,这也就意味着我不能再进入MINIX的环境了。
那就是我要做出抉择的一刻。
我可以重新装入MINIX系统,或者也可以将错就错,自认linux已是足够的好,以至不再需要MINIX了。我将通过在Linux下编程来编译 Linux,而只要我觉得需要MINIX中好的功能,我就把这些MINIX的优点编到Linux中。无疑,这是观念上重要的一步,因为你要摆脱原有的系统环境,使新的系统真的能够自我包容。这一步十分重大,因此我将十一月底发布的版本命名为0.10版。几个星期之后,就升级到了0.11版。
正是从那时起,开始有人使用这个系统并可以用它来做一些事了。
到那时为止,我已经修补了一系列的漏洞。但没有人向我提出新的建议。我记得为了满足更多存储的需要,我曾出过门,并将机器的内存从4兆升级到8 兆。我还出去买了个浮点协同处理器(floating point co-processor),因为人们开始问我linux是否能支持他们的浮点协同处理器。这个附加硬件使我的电脑能执行浮点运算(floating point math)。
我记得是在十二月,德国的一个计算机只有2兆内存却试图汇编Kernel的家伙,他也不能运行GCC,因为那时的GCC需要1兆以上的内存。于是,他问我linux是否能用一个无需太多内存的较小的编译器来进行汇编。尽管我并不需要这个特别的功能,但我仍决定要为这个家伙实现这种功能。接着就出现了那个称为page-to-disk的东西,这就意味着尽管他只有2兆的内存,他也可以通过使用这个存储盘使他的电脑看起来宽敞一些。那是在1991年圣诞节前后。我记得曾在12月23日那一天加班加点,努力使page-to-disk运行。到了12月24日,它已经可以在某种程度上运行了,但是每隔一会儿就死机。最后到12月25日,也就是圣诞节那天,它终于成功了。这可以说是我为满足别人而不是为自己的需要而增加的第一项功能。
而我也为此感到很骄傲。

linux的用户天天都在增加,我也不断接到来自我曾向往的国度的电子邮件,包括澳大利亚和美国。关于此事,我在祖母家的圣诞聚会上对家人只字未提。不要问我为什么,我只是觉得没有必要和我的父母、姐妹或任何亲戚讨论这件事。他们不懂计算机。至少,我认为他们不懂计算机。
就他们而言,我每天干的事就是把电话线连到调制解调器上。当时的赫尔辛基,电话费在夜间可以打很多折,所以我在家的大部分工作都在深夜进行。但偶尔也会一整天地连在电话线上。我本想另接一条电话线,但是我母亲的公寓所在的大楼十分古老,没有额外的电话线,也不打算增加新的。那时我妹妹萨拉除了在电话上聊天之外也是无所事事,至少在我看起来是这样。所以我们会偶尔为抢电话线打架。真的会打起来。她和朋友打电话时,我会强行用“猫”拨号,她就会听到 “嘀——嘀——”的声音。这自然会打断她,而她也就知道我确实、确实要上网收电子邮件了。
我可没说过自己是世界上最好的哥哥。
Page-to-disk是一个相当庞大的程序,因为它是MINIX没有涉及到的东西。该程序出现在0.12版中,于1992年1月的第一个星期发布。人们马上开始不仅仅把linux和MINIX相比较,而且开始和Coherent相比。后者是由TK开发的小型UNIXclone。从一开始,增加 page-to-disk就使Linux在竞争中脱颖而出。
那是linux起飞的开始。
突然间,人们纷纷从MINIX转向linux。那时Linux尚不能胜任MINIX的所有工作,但是它还是可以做人们真正需要的大部分重要的工作。而它拥有一项人们特别喜欢的功能:有了page-to-disk,你可以运行超过你内存的巨大程序。这意味着,当超出内存之后,你可以将一块旧的内存存到磁盘上,要记存到了哪儿,仍然使用那块内存来解决你的问题。这在1992年的第一个星期是一件不寻常的事。
正是那个月,linux的用户从我知道名字并与其有邮件往来的五到十个人,增加到了成百上千我不知是谁的人。我并不认识每一个Linux的用户,这多有意思。

别忘了我们还有《 Linux专版 》

TOP

7、linux能换来金钱吗?
那时,互联网上正有一个恶作剧在盛行。
据说有一个叫克雷格的可怜男孩得了癌症,正在死亡线上挣扎,而在网民中则流传着一个连锁邮件,让人们向这个男孩邮寄明信片以表示对他的支持。实际上这是某人的一个恶作剧,可能根本就没有克雷格这么个人,更别提什么癌症了。但是这一呼吁竟招来了上百万张明信片。所以我半开玩笑寺要求使用linux的人给我寄明信片,而不用给钱。这像是一个人们会感叹“哦,上帝,又是一个要明信片的家伙!”的玩笑。在那时的个人电脑世界中,有一个有关软件共享的牢固传统。你下载了一个程序,就应该给作者寄回十块钱左右的回报。所以我收到了很多邮件问我是否要人们给我寄三十块钱。就是在这种情况下,我觉得必须说点什么了。
现在回想起来,我觉得那些钱一定会很有用的。我已欠了大约五千美元的学生货款,同时每个月要为我的电脑支付约五十美元。我另外的主要消费是比萨饼和啤酒。但是由于开发linux,我那时没有时间外出,最多每周出去一次。我不花钱约女孩子,把钱都花在了为我的电脑增加硬件上。也许要是换一个人,就会向大家要钱了,哪怕是为了减轻他那日夜辛苦劳动的单身母亲的负担呢?唉,我那时却没有想到这一点。去告我吧!
那时,我更想知道都有哪儿的人在使用linux。与收到钱相比,我更喜欢收到明信片。事实上,明信片确实在滚滚而来,从新西兰、从日本、从荷兰和美国。萨拉曾偶尔象征性地去取取信,突然意识到那总和他争吵的哥哥竟有来自那么遥远的朋友。那是她第一次认识到,在我总是占用电话线的时间里,我可能是在做一件会很有用的事情。那些明信片加起来足有几千封,但它们现在早已不知去向了,一定是在我某次搬家时丢掉了。我的朋友艾温坦说,我是他所见过的最不怀旧的人。
实际上,我不要钱还有很多原因。在最初发布linux的时候,我觉得自己是在沿着几个世纪以来的科学家们和其他学术界人士的脚印在前进,而他们的成就往往建立在别人所打下的基础上——用牛顿的话来说,我是站在巨人的肩膀上。这样做,我不仅仅是在与别人分离我的成果,别人也将会觉得我的工作是有用的。我还想听到反响(当然,是想听到赞扬)。朝那些可能会帮助我改进工作的反馈信息要钱是没有。我想,如果我不是长在芬兰,我的态度会不完全不同。在芬兰,只是一个人稍微显露出一丝贪心的迹象,人们就会视之为可疑而不会羡嫉(自从诺基亚电话公司开始赚整个世界的钱并充实了很多芬兰人的钱包之后,这一点已经有了一些变化)。并且,对了,如果我不是在顽固的学究祖父和共产主义立场的父亲影响下成长起来的话,无疑我会对这件不要钱的事持不同态度。
无论如何,我不想把linux卖掉,我也不想失去对它的控制权。也就是说,我不想别人把它买掉。早在九月上传每一个版本时,我就在有关复制的文件中表明了这个版权声明。根据十九世纪的波恩公约,除非你将其出卖,你拥有自己所创造的一切东西的版权。作为版权所有者,我开始定下了以下关于Linux 的规则:
1、 人们可以免费使用该操作系统,2、 但不3、 得将它作为商品。
4、 对其所作的改动和改进,5、 必须以源代码的形式将其公开(而6、 不7、 是二进制,8、 这是不9、 公开的。)
10、 如果不11、 同12、 意以上规定,13、 则无权对它进行复14、 制或从事任何行为。
你不妨自己设想一下。你为这个程序倾注了六个月的心血,你希望它是有用的,并且自己也能从中有所收获,但你肯定不想让它白白被人占去便宜。我想让大家都能够看到它和使用它,同时也可以随意对其进行改动和改进。但是,我也希望能确保我自己可以及时了解他们做过哪些改动。我希望自己有权使用源程序,这样,假如别人做了什么改进,我也可以利用它。我认为,要使linux发展成最完美的技术就必须保持它的纯洁性。如果有铜臭渗透进来,事情就要变黑暗了。所以,如果不让钱的问题掺和进来,就不会有贪欲的参与。
尽管我没兴趣拿linux去赚钱,但别的人却不这么认为,他们在给别人一份已经下载到软盘上的拷贝时都要索取回报。到了二月份,参加UNIX用户会议的人,几乎人人手上都有一张装有Linux系统的软盘。这些人也问我,他们能不能把Linux作为商品出售,比如说,只要五块钱,为的是收回软盘和时间上的成本。这听起来还有点道理,但问题在于,这样做就会侵犯了我的版权。
显然,我已经到了反思“linux是非卖品”这一立场的时候了。
那时,linux已经在网上引发了很多讨论,这使得我很自信,再没有人能够窃取我的劳动成果了——而这曾经是我最大的担忧。至少,假如真有谁这样做了,他也难逃众人的谴责。如果有人想篡夺Linux并将其变为一个商业项目,必将会在网上掀起黑客的反对潮,会有无数黑客似的人物大声斥责道:“嘿,那是Linux,住手。”当然,措辞可不会如此文雅。
事情的发展已经势不可挡:世界各地的黑客们每天都在共同分享彼此提出的修改建议。
我们正在集体创造一个最好的操作系统,这种发展轨道已经不可改变。正因为如此——因为linux已广为人知,我才觉得把它作为商品也是可以接受的。
但是,在使我自己看起来像个慈善先生之前,还有另一个关键的因素使我做出了这一决定。事实是,为了使linux有用,我曾依赖过很多在网上免费下载的工具——我把自己放到了巨人的肩膀上。这些免费软件中最重要的是GCC编译器,它是理查德?斯多曼的杰作,并且已经在公共执照协会(GPL)上注册了版权。在GPL条款之下,钱不是问题,只要有人愿意买,你可以卖一百万美元。但是,你必须提供软件来源。而得到或买到你的来源的人,将拥有和你一样多的对于该程序的。这实在是很高明的一招。我认可GPL的原则,但是和那些认为所有的软件创新都应该在GPL下向全世界公开的顽固的GPL信仰者不同,我认为发明者本人有决定如何处置自己的发明的权利。
于是,我抛弃了自己旧有的版权声明,采纳了GPL的内容,一个斯多曼也曾经和他的律师一道签署过的文件(因为有律师的参与,该文件被搞得洋洋洒洒有好几页)。
新的版权声明被放进了0.12版本中。但是,我记得在发布当晚我从睡梦中醒来,想到商业利益将可能有点古怪,因为当时所涉及的商业利益真是不多。但不知怎的,我觉得自己应该小心。我的担心之一是——现在仍然是——有人将丝毫不尊重我的版权地将linux掳去。我担心,在现实中,如果有个美国人侵犯了我的版权,我无法对其提起诉讼。现在这仍是我的担心。状告某人侵权很容易,而我的担心是,有的人会即使被起诉也继续从事这种违法行为,除非加诸某种强制执行的法律行动他们才会停止。同时我也不断地担心,在像中国这样的地方,企业并不承认GPL的效力,从而也不会尊重我的版权。
事实上,这些地方的法律体系对侵犯版权的制止在当时并不得力(中国已经签署了一系列的国际公约,李纳斯在这里谈的是1991年的情况——译注),而且,为防止违法行为的投入在这些地方被认为是不划算的。大软件公司和唱片公司曾作过努力,但是成效不大。
不过,事实减轻了我的担忧。有的人确实会暂时侵犯我的版权,但是他们往往也是那些尊重版权、反馈改进意见、使系统功能得以提高的人。他们将是系统升级过程中的一分子。相反,那些不尊重版权的人们则不会利用这些升级,他们的顾客也会离他们而去——我希望。
总的来说,我从两个方面看版权。比如一个每月挣五十美元的人,他可能会为一个软件花费二百五十美元吗?如果花一点钱买非法拷贝软件,而把五个月的工资用于吃饱肚子,我一点不觉得他不道德。这种侵权是道义上可以接受的。去追捕这种“侵权者”是不道德的,更不要说简直就是愚蠢的。就linux而言,谁在乎如果只将其用于个人目的时,一个人是否真正遵循了GPL呢?那些想藉此赚大钱的人们,才是真正不道德的,不管他们是在美国还是非洲,也不管程度如何。

别忘了我们还有《 Linux专版 》

TOP

8、MINIX对linux
引人注目并非全是好事。
我从不擅长处理对抗,但也被迫站出来为linux和我的尊严辩护,因为安德鲁?塔南鲍姆不断攻击我的Linux取代了他的MINIX操作系统。我们都是网虫,所以论战是通过电子信件进行的。
他只穿着件T恤就浑身冒火,能怪谁呢?
在还没有linux讨论组之前,我一般都是在MINIX讨论组上宣布有关Linux的信息和寻找对这个操作系统感兴趣的人。对此,安德鲁怎么会高兴呢?
所以,开始的时候,他对我入侵他的讨论组有些不快。很显然,他也很不高兴自己的操作系统正在被一个来自芬兰雪原的新发明夺去光彩,而且看来有众多的软件设计者正在加入进去。同时,他对应该如何创建操作系统持与我对立的观点。那时,安德鲁属于主张以微内核的方法建立操作系统的计算机科学家阵营。他把 MINIX做成适用于微内核和Amoeba(一种他当时正在创建的也适用于微内核的系统)的形式。
适用于微内核的系统在八十年代晚期和九十年代早期十分盛行,而linux的成功威胁到了这一运动。所以他不断地在网上帖一些难听的带攻击性的帖子。
微内核的理论依据是,操作系统是非常复杂的,所以要通过模式化来减少复杂性。微内核方法的原则,即核心的核心,是昼减少功能。它的主要功能是传播。电脑所提供的一系列不同的服务都是通过微内核的传播渠道实现的。因此,应尽量分割问题的空间,使其不再复杂。
我认为这种做法很愚蠢。
是的,每一个单独的部分是简单的,但是相互作用的多种功能如果放在一起就要复杂得多,而linux就是后者的情况。想一想自己的大脑。每一个单独的部分都很简单,但是各部分的相互作用构成了一个复杂的系统。这是一个整体比个别更大的问题。拿一个问题来说,如果你简单地将问题一分为二,说半个问题要容易一半,那么你就忽略了一个事实,即:你必须要考虑到两个半个之间的联系所带来的复杂性。微内核的理论是,如果把核分为五十份,那么每一份都只有五十分之一的复杂性。但是每个人都忽视了一个事实,即各部分之间的联系事实上比源系统更加复杂,而且那些个别部分也不是那么简单。
这是我对微内核最重要的反驳:你想实现的简单化是错误的简单化。
开始时,linux是一个较小的软件,而且简单得多,没有必要进行模式化。所以用Linux可以比MINIX更直截了当地做很多事。我最初发现 MINIX的缺陷是,如果你同时运行五个软件,五个软件都要读不同的文件,那么五项任务要一个一个地先后进行。换句话说,你要向系统发出五次请求:“我可以读文件X吗?”文件系统主管读取的后台驻留程序先接受一个请求,对其进行回应,然后再接受一个,再进行回应……
linux系统只有一个核,在这个系统之下,五个不同的过程都对核进行系统呼叫。核必须要十分小心,不会将其混淆,但是它会很自然地让各个过程各行其是。因此Linux更加快捷高效。
MINIX的另一个毛病是:尽管你有了源代码,但是许可证并不允许你做很多事情。拿布鲁斯?伊文斯来说,他对MINIX做了重大改进,使其更易在 386上使用,但是他却无法将其所做的改进纳入原系统之中,因为MINIX限制人们对其进行修改。从实用的角度来说,这不啻是一个灾难。使用者哪怕为了得到一个可使用的系统都要经过多个步骤,这真是太不实用了。
就这样,我与安德鲁?塔南鲍姆结束了交战,那是在1992年年初。想象一下,在一个暴风雪过后的早晨,你看见这样一条信息:

来自:安德鲁塔南鲍姆ast@cs.vu.ni(安德鲁?塔南鲍姆)
新闻组:comp.os.MINIX
题目:linux过时了。
日期:1992年1月29日,格林威治时间12:12:50

我在美国待了几个星期,所以没来得及对linux做多少评论(不是说如果我在,我就会说什么)。但是,Linux确实值得一评。我现在就有话要说。
正如你们所知,MINIX只是我的爱好,每当晚上我写烦了书,如果当时没有什么战争、革命、CNN直播的参议院听政会,我就会摆弄MINIX。我的真正职业是大学教授和操作系统领域中的研究人员。
由于我的职业,我想我知道在今后的十年左右时间里操作系统会向何处发展。有两个方面引人注意:
1)微内核对Monolithic system
大多数操作系统是独立一体的,也就是说,整个操作系统是一个单独的a.out文件,一个“核形式”运行。这种二进制中有管理过程、存储管理、文件系统及其他。这类操作系统目前有UNIX,MS-DOS,VMS,MVS,OS/360,MULTIC以及其他很多。
另一种则是基于微内核的系统,在这种系统中大部分OS都作为单独过程进行,还有许多通过沟通在核外运行。核的任务是管理信息仁慈,控制中断的情况,低层次的过程管理,还可能有I/O。这种形式的操作系统有RC400,Amoeba,Chorus,Mach,以及尚未发行的WindowsNT。
在我详尽论述两者的利弊之前,可以说那些设计了这两个操作系统的人们之间的急诊已基本结束。微内核胜出。Monolithic system唯一的优点在于运行上,而现在有足够的证据证明,微内核系统也能和Monolithic system一样快。
MINIX是一个基于微内核的系统。文件系统和存储管理相分离,在核外运行。I/O驱动也是分离的(在核中,只是因为英特尔中央处理器中的大脑是死的这一原因,才很难寻求其他的做法)。
linux是Monolithic风格的系统。这一做法是回到七十年代的一大退步,就像对一个令人激动的C程序以BASIC语言重新编写。对我来说,在1991年还写一个Monolithic system的系统是一个不折不扣的坏主意。
2)不分界域性(Portability)
很久很久以前有一种4004CPU,它成熟后变成了8008,接着它接受了整形手术,就成了8080。由8080诞生了8086,接下来是 8088,再后来是80286、80386、80486,一直到了第n代。同时还出现了RISC芯片,有些能以100MIPS运行。200MIPS的速度以及更高能在近几年中出现。这些都不会马上消失,而是会很快从80*86发展开去。它们会通过在软件中解析80386来运行旧式的MS-DOS程序。我认为任何一个架构设计OS都是极大的错误,因为它会很快消失。
MINIX的设计就是不分界域性,并已从英特尔ported到680*0(Atari,Amiga,苹果),SPAC,以及NS32016。linux紧紧地与80*86联系在一起,方向错了。
别误解我,我并非不喜欢linux,主要是Linux会使所有那些想在BSD UNIX上运转MINIX的人弃我而去。坦诚地说,对那些想获得一个“现代的”免费OS的人们,我想建议他们找一个基于微内核的、portable的操作系统,如GNU之类。

安德鲁?塔南鲍姆(ast@cs.vu.nl)

附:顺便说一下,Amoeba有一个UNIX仿真器(在用户的空间中运行),但是还远未完成。若有人有志在此方面努力的话,请告诉我。运行Amoeba需要几个386,其中一个要有16M,所有的都必须具备WD以太网卡。

于是,我知道有必要维护自己的荣誉了,所以就有了下面的反击:

来自:李纳斯本尼迪克特托沃兹torvalds@klaava.Helsinki.Fi(李纳斯?本尼迪克特?托沃兹)
题目:回复“linux是过时的”
日期:1992年1月29日,格林威治时间23:14:26
组织:赫尔辛基大学

看到这种言论,我想我得有所回应了。先向那些已经听够了对linux系统进行的议论的MINIX用户们说声抱歉。我很想能“对诱饵视而不见”,但是……该是我好好地自我辩护的时候了。

安德鲁塔南鲍姆写道12595@star,cs,vu,niast@cs.vu.nl(安德鲁?塔南鲍姆)写道:
>我在美国待了几个星期,所以没来得及对linux做多少评论(不是说如果我在,我就会说什么)。但是,Linux确实值得一评。我现在就有话要说。
>正如你们所知,MINIX只是我的爱好,每当晚上我写烦了书,如果当时没有什么战争、革命、直播的参议院听政会,我就会摆弄MINIX。我的真正职业是大学教授和操作系统领域中的研究人员。

你用这个作为MINIX局限性的借口?对不起,但是你输了。我的借口比你的还多,而linux在很多领域还是胜MINIX一筹。更别说MINIX的大部分似乎是由布鲁斯?伊文斯编写的了。
反驳一:你说你把MINIX当作爱好来玩——那么,请问是谁在拿MINIX挣钱呢?又是谁在免费发送linux呢?再来谈谈爱好。让MINIX能免费获得,我对MINIX的最大抱怨就会消失。Linux在很大程度上对我是一个爱好(但是一个很严肃的爱好,最棒的一种爱好)。我没有从我的爱好中赚一分钱,它也不是我在大学要修的课程之一。我是纯粹用我自己的时间,在自己的机器上做出来的。
反驳二:你是教授和研究人员。这真是一个MINIX出现核心缺陷的好借口。我只能希望Amoeba不会像MINIX那样垮掉。

>1.微内核对Monolithic system
没错,linux是Monolithic的,我同意微内核是好一点儿。如果不是你的话题有争议性,我可能会同意你的大中分意见。从理论角度(及审美角度)而言,Linux输了。如果GNU的kernel在去年春天就已完善的话,我可能就不会开始这个工程。而事实是,GNU还没有完善,也远非如此。如果现在就已实现的这一点而论,Linux才大获全胜。
>MINIX是一个基于微内核的系统。linux是Monolithic的系统。
如果这是判断一个kernel好坏的唯一标准,你的观点就对了。但你没提到的是,MINIX在微内核方面的表现并不出色,而且对核内多元任务的操作仍存在着问题。如果我做的是一个在多线文件系统上有问题的OS的话,我就不会这么快来责备别人。而事实上,我竭尽所能来使人们忘记软件设计者在此问题上的惨败。
(是的,我知道MINIX拥有众多黑客支持者,但他们只是黑客。而布鲁斯?伊文斯告诉我有很多可以竞争的机会。)

>2.不分界域性
“不会界域性是给那些写不出新程序的人们准备的。”
——我,现在刚说的,口出狂言

事实上,linux比MINIX更具有分界域性。“你说什么?”我听见你说。是真的——但却不是在你所说的意义上。我使Linux尽量符合标准(我当时手边并没有POSIX标准)。把程序移植到Linux上比到MINIX上要容易得多。
我同意,不分界域性是个好东西,但是只有在它确实有意义的地方才是个令人向往的特性。没有必要专门使一个操作系统太具有不分界域性:能粘到可移植的API上就行了。操作系统的实质就是利用硬件的特点,并将其隐藏在一层高级的呼叫后面。而linux就是如此,它比任何kernel都更多地利用了 386的特性。当然这便利真正意义上的kernel变得不可移植,但是这也使设计大为简化,是一个可以接受的权宜之计,因为这首先保证了Linux的诞生。
我也同意,linux又太不具有不分界域性了。去年一月我拥有了自己的386,而Linux系统的创建在一定程度上成为了一个让我认识386的项目。如果要成为一个真正的项目,必须能够在不分界域性方面做一些事情。但是,我最初的设计思想就是没有考虑到不分界域性,如果我这样说并不是太过分地为自己辩护。去年四月我开始这个项目时,认为不会有什么人会真的使用它。我很高兴我的这个想法错了。随着我对源代码的发布,每个人都可以免费来装截 Linux,哪怕还不是很方便。
李纳斯

附:很抱歉我有时言辞过激。如果你没有其他的操作系统可供选择的话,MINIX已经挺好的了。如果你有五到十个386机器闲着没用,那么Amoeba也会不错,只是我确定无疑是没有的。我一般不会勃然大怒,但是在涉及到linux的问题时,我是有点容易感情用事。

在这件事上还有一些口舌,那是我唯一一次发火。但是我要说明的问题是:的确有反对的声音出现,哪怕在早先的日子里(或者我还证明了这一点:当你参加网上论坛时,一定要小心从事,打字错误和语法错误会永远纠缠着你)。

我和李纳斯把家人和朋友留在露营地,开始沿着一条清流的小溪做一次午后散步。我们的露营地是在东西亚拉(Eastern Sierra)一个叫格鲁夫尔温泉(Grover Hot Springs)的地方。此时是七月四日国庆日的周末,这里的风光秀美得好像是把《国家地理杂志》上的照片原封不动搬下来似的。“现在是柯达一刻,”李纳斯一边背诵着广告词,一边停下来欣赏着突兀的峭壁背景下铺满野花的草地。随后,我们在溪边坐下。我让他描述一下他的生活,尤其是自从linux越出了其发源地——即由他认识的那些参加新闻讨论组的狂热爱好者组成的小圈子——而广泛地传播开来之后,他的生活有何变化。
“这种感觉一定很棒,”我说道,“那些年你一直跳不出户,除了你的电脑之外只和这个世界保持着仅有的一点点联系。突然间,这个星上的每一个角落都有人认识到你正在进行的伟大工作,你成了这个对你寄予厚望的发展中的linux世界的中心……”
“我从不认为这对我来说是什么大事情,”他回答道,“我真的不认为是这样。对我来说,linux确实是那种我随时都在思考的东西,但这主要是因为总有问题需要我去解决。我确实为它投入了很多,但主要是因为它是一个智力的挑战,而不是因为任何感情的因素。
“我喜欢有这么多的人给我从事这个事业的动力,我曾认为自己已接受于完成它了,但我一直没有真正做到这一点。人们始终给我更多继续的理由,以及更多困扰的棘手难是,这使得继续完善linux变得更为有趣。否则,我可能早就干其他事情去了。但我没有,因为这是我喜欢的工作。做这件事充满乐趣。我怀疑,我对自己的大鼻子或其他这方面的事情的提成,显然比在Linux上花费的精力还要多。”
几个星期后,在斯坦福购物中心,李纳斯为怎样挑选一双慢跑鞋而犯愁。“你一般每星期跑多少里地?”售货员问李纳斯。李纳斯不由得笑了起来:在过去十年里他还从未?上过一里地。锻炼不是过去的首选功课。但在他感到疲惫的时候,李纳斯承认他愿意走出过度的自我监禁式生活。
“塔芙一定求过你,要你帮我去掉大肚子。”他开着开玩笑,一边拍着自己的肚子。
“告诉她,她的要求你本周内绝不可能达到。”我回答道。
接下来的一个半小时,我们开始在斯坦福校园里兜圈,以便找到一个可以合法停车的地方。然后,在伸展了一下胳膊腿之后,我们开始跑了起来。我们越过干涸的湖里狭窄的泥土小道来到林中,向着我们的目标——山顶巨大的卫星接收天线——前进。当然,我们根本没有跑到那儿。我一边迈着不寻常的轻快步伐奔跑,一边很惊讶李纳斯能够仅仅以一里的距离落在我后面而不被甩开。接着他终于不行了,几分钟后,我们在边的草上上舒展地躺了下来。
“你的家里人对因linux而发生的一切事情的反应是怎样的?”我问道,“他们对此一定感到非常的激动。”
“我不认为有谁真的对此很在意,”他回答道,“我不是说没有人真的关心这件事。但我一直花费我最多的时间在编程序上,这一次也与以前没什么不同,他们不至于为此而有什么更多的关切。”
“那么,你一定曾对你的亲属们说过些什么。比如当你和你爸爸一同出动时,你是否曾对他说:‘嘿,你可能不会相信我一天到晚在计算机上鼓捣的那个玩艺儿现在怎么样了,现在已经有好几百人在用它了……”
“没有,”他回答道,“我只是觉得没有必要与家人和朋友分享这些,我从来也没有想过要把它推荐给更多的人。我想起了在我写linux程序时,拉素曾经决定要买Xenix,UNIX的SCO系统版(微软开发的用于PC机的UNIX版本)。我记得他曾经试着劝说我‘不要在这上面犯错误了。’他的意思是叫我不要再继续写下去了。但我不在意他的话,最终,在这个问题上他也有所转变。但对我来说,Linux仍然不是什么大事情。在我看来,人们使用它固然是好事情,能够从中获得反馈意见也很棒,同时这些却并不是那么重要。我不想传播什么福音。我为人们使用我的代码而感到骄傲,但我从来也没有过要与所有人共同分享它的念头。我从来没有认为这是世界上最重要的事情。我也不认为有几百人用我的软件有任何的重要性可言,以至要告诉我爸爸。不是的,它对我来说更多的是一种乐趣。直到今天我也还是这么认为。”
“那么,你甚至都没有想过告诉你的父母、家人和朋友这些事吗?你自己真的不为这些事情而激动吗?”我问道,没有掩饰我的怀疑。
他沉吟了几秒钟,然后回答道:“我不记得我当时是否感到过激动。”
李纳斯买了一部新车,一部按他的定义很有“乐趣”的宝马Z3双座敞篷车,车身是金属蓝,完善的男孩子的汽车颜色。他选中这款颜色是因为没有他所中意的亮黄色。这黄色的宝马,他解释道,“看起来就像尿。”几年来,他去位于圣克拉拉的Transmeta公司总部上班时,总是将他的庞蒂亚克车尽可能停在离大门口近的地方。但现在,他却将心爱的宝马车停在他办公室外的窗前,按他的廉洁这样可以停在阴影中避免暴晒。于是,现在李纳斯在电脑前工作时就可以不时地欣赏一下他的新车了。
大约在一年多以前,我们曾经首次在一起外出旅行——开着我特意租来的白色野马敞篷车翻山去圣克塔克鲁兹。在我们这次旅行期间,李纳斯曾停下来观察我们所参观的桑拿浴场和酿酒厂外停着的运动型轿车。现在,我们是在他自己的运动轿车里翻山越岭。当他在十七号公路上驶过弯路时,他脸上浮起微笑。
“你应该得到这些。”我说。
我从车内的储物箱里拿出一摞CD。
“听什么?平克?弗洛伊德?”我问道,“或者詹妮斯?乔普林?”
“这是我小时候听的音乐。我小时候从来没有在音乐上花过钱,但我在我家的房间里捡到过它,我猜是我妈妈听过的,尽管我记得她是艾尔维斯?卡斯蒂罗(Elvis Costello)的歌迷。”
这是一个周五的下午,一个欢快而美好的加利福尼亚周五的下午,各种令人愉悦的感觉围绕着我们:蓝色的天空映入眼帘,火辣辣的阳光照在身上,鼻子里是山中桉树的芳香和清新空气的甜甜味道,耳中传来的是平克?弗洛伊德的歌声。在外人的眼里,我们看起来一定很像那种后青春期的陈腐过客,涂着防晒霜,放着经典的摇滚曲调。不过,并没有多少车超过了李纳斯的新宝马Z3。
我们把车停在圣塔克鲁兹以北一点儿的一号高速公路旁。路旁早停了些普通的车子,我们来到几乎没有什么人的空旷海滩上,舒舒服服地躺了下来。几分钟后, 我从背包里掏出录音机。再一次的,我请他讲一讲linux早期的事情。
李纳斯用手指在沙滩上画了个四方形,表示是他的卧室,然后又指出了他的床和计算机的位置。“我起床的第一件事就是检查有新的电子邮件,”他说道,一边用手指比划着,“有些时候我一整天都呆在屋子里。我看邮件不仅仅是为了看有谁在和我联系,而更多的是为了看是否附带为我准备了些特殊的问题,比如是否出现了新的状况和问题,或者是一些我们已有解决方案的老问题又遇上了新情况。”
李纳斯告诉我,那个时候他的社会生活是“可怜”的。接着他认为这样说听起来有点过分,所以他修正道,“可能比可怜稍微好一点。”
“我并没有成为一个完全的隐士,”他说道,“但是即使在linux出现之后,我一如既往地不善交际。我的大多数朋友都很善于与人相处,但我不行。你可以想象一下,如果从来没有给女人打过电话,那约会的情况会是怎样的呢?所以在那段时间里,我只有几个常到我那里敲窗子、想和我喝杯茶的朋友。我不认为有人会到处传说我正在做一项伟大的事业、我将改变世界之类的话。我不认为有人曾经这么想过。”
李纳斯唯一有规律的社交活动是每周的学生聚会,在这儿他可以和其他主修科学的学生混在一起,这个聚会由一些对技术的热爱胜过一切的人组成。
“什么是我担心的?正是一般的社交活动,也许提成不是一个准确的词汇,但这确实给我带来了很多情绪上的影响。在那个时候,只要一想到姑娘,linux系统就变得不再重要了。在某种程度上,今天也还是这样,我仍然可以不把Linux当回事。
“在大学的头些年,社会交际对我来说变得非常重要。这倒不是因为担心别人会嘲笑我驼背什么的,这种渴望社会活动的感觉来自于对朋友和别的什么东西的向往。我喜欢去学生聚会的原因之一就是,这是一种无须过分社会化的社交活动。在这样的晚上我融入了社会,而在其他时间我与计算机在一起。在学生聚会里玩远比linux更为感性,我从未为Linux感到心烦意乱,也从未因为Linux而睡不着觉。
“过去和现在,能够使我心烦意乱的,从本?上讲并不是技术,而是与之相关的社会因素。我为安德鲁?塔南鲍姆的帖子如此心烦的原因,主要不是因为他所提出的技术观点。
“使linux越来越完善和有活力的原因之一是,我不断地收到回馈的信息。这意味着Linux被人所注意,同时这也是一个正在形成的社会团体,而我是这个社会团体的领袖。这是一个明确的信号。这一毫无疑问是重要的,甚至比告诉爸爸妈妈我曾做了些什么更重要。我越来越关注那些使用Linux的人,至于我创造了一个社会圈子并获得了他们的尊重之类,却始终不是我关心的重点,甚至现在也仍然不是。不过,这确实是一个最重要的事实,也是我对塔南鲍姆的指责如此反应过度的原因。”
太阳已经没入了太平洋,到了该离开海滩的时候了。李纳斯坚持要我驾驶他的车返回——以体验一下这车究竟有多棒。我们要经过一段又长路又多的九号路返回硅谷。
李纳斯告诉我,他与MINIX创造者之间的争执,因为变得越来越富于攻击性而不再适于在公众面前进行,最后不得不通过私人电子邮件进行。接下来是几个月的平静。一天,塔南鲍姆给李纳斯来了一个电子邮件,指出在《Byte》杂志的背面有一条五行字的广告在推销商业性的linux版本。
“在我最后一次收到的来自安德鲁的电子邮件中,他问我是否真的在授意别人出售我的系统。我回信告诉他是的。然后我就再也没有收到过来自他的讯息了。”
大约一年后,当李纳斯到荷兰去作他的首次公开演讲时,有机会来自塔南鲍姆任教的大学,并希望获得那本改变了他一生的书籍——《操作系统:设计与执行》——的作者在该书上的亲笔签名。李纳斯在门口等了许久,但塔南鲍姆并没有出现,因为那时他恰好外出了。就这样,他们至今仍没有见过面。

在我首次公开演讲的头天晚上,我颤抖着躺在床上。房间里很冷,温度也就刚好在零度以上一点。荷兰的房间不像芬兰那样冬天有暖气,而我这间漏网的大屋子甚至还有一扇大玻璃窗,就好像荷兰永远只有夏天似的。但是,在1993年11月4日的这个夜晚,寒冷不是使我睡不着的唯一原因。我睡不着,因为我是如此的紧张。
在公开场合讲话一直是我的短项。中学时,他们让我说明一些我们曾吃力地研究过的东西,比如老鼠或其他什么的,而我总是讲不好。我站在那里,说不出话来,然后开始傻笑。说真的,我并不喜欢这样。当我很不情愿地被老师叫到黑板前,当着全班同学解答习题时,甚至比这还要难受。
在阿姆斯特丹附近的埃德市(Eide),我接受了在这里举行的荷兰UNIX用户第十五届年会的邀请,将在会上做主题发言。我很想通过这次机会证明一下自己在公开场合的说话能力。在此之前一年,我也曾收到过来自西班牙的类似邀请,但我拒绝了。其实在那个时候,我是非常希望出国旅行的,但我想前往一游的愿望被害怕公开演讲的心理抵消了(我现在仍然喜欢旅行,不过在今天,这已经不像当年那样新鲜了。在那之前,我几乎从未离开过芬兰。那以前我唯一到过的地方就是瑞典,我们在那儿露营过几次,或许还可以算上到莫斯科去看我爸爸那次,那时我才六岁)。
拒绝到西班牙庄旅游一番的机会让我有些懊恼。所以我告诉自己,如果还有第二次这样的机会,我绝不放过。我躺在床上,另外一些思绪渐渐取代了我的回想:我能克服恐惧站在人前吗?我还会像过去一样嗫嚅吗?或者比这更糟,我会在将近四百名来宾面前舔着嘴唇傻笑吗?
要真是那样,我就真是一个不折不扣的傻瓜。
我对自己说些惯常的废话以劝慰自己。来宾都希望我成功,如果不喜欢我的话他们根本就不会来,并且我也很熟悉演讲的主题:在linux的核心产品中采用那些不同的技术决定的理由,以及开放源代码的理由。然而,尽管如此,我还是不能让自己确信演讲会取得成功。我的脑子里像是有一台停不下来的火车引擎一样轧轧作响。
演讲到底怎样?噢,来宾们看到我明显地带着惊慌站在他们面前,把通过Power Point——感谢上帝安排微软发明了这种软件——放映幻灯作为敷衍场面的救生工具,并在回答他们的问题时羞涩迟疑,但他们富有同情心地接受了我的表现。
事实上,我的答疑是演讲中最棒的一部分。在我演讲完之后,马歇尔?克尔克?迈克库斯克(Marshall Kirk McKusik)——他现在在太阳微系统公司工作——走到我跟前,说他认为演讲很有趣。对这个表示我是如此感谢,我觉得我都想跪下来吻他的脚以示谢意了。在计算机领域里很少有让我尊敬的人,克尔克却是其中之一。正是因为在我第一次演讲后,他对我是如此的友善。
我的第一次演讲就像是在进行休克疗法。接下来我还要遭遇许多类似的状况,但这些经历开始让我变得更自信了。
大卫一直在问我,伴随着linux的不断成长壮大,我的大学生活尤其是精神状况有怎样的变化。但我不记得有任何教授和我谈到甚至是提到过它,我也不记得有谁指着我的背景对他的朋友说:“瞧,这就是那个李纳斯。”没有这样的事情。大学里我周围的人都知道Linux这回事,但大多数与其有密切关系的黑客都不是芬兰人。

别忘了我们还有《 Linux专版 》

TOP

9、最后的冲刺
1992年秋天我成了一名用瑞典语讲授计算机基础课的助教(这事的起因是,系里需要人用瑞典语上基础课,但在这之前的几年里,本系只有两名能讲瑞典语的主修生,拉尔斯和我,他们没有更多的选择,所以找上了我)。真实,我甚至对?上讲台和演算习题都感到担心,但这种情况持续得并不长,靠把注意力集中在讲课内容上并尽力不去自寻烦恼,我战胜了自己的担心。就这样,三年后我晋升为研究班的助教,从此,我的工作不再是在讲台上讲课主要是在实验室里继续linux的发展完善研究。这可能也预示着一种趋势:有人愿意付酬让我从事Linux的研究。这也是我和Transmeta之间关系的基础。
大卫:“那么,linux是在什么时候开始成为一件大事情的?”
我:“它到现在为止也还不是。”

也许我说得太绝对了?好的,我可以作一点修正,在有许多人毋庸置疑地依赖着linux(作为他们计算机的操作系统)而不是把它当作玩具式的操作系统的情况下,它确实变得更像那么一回事了。当他们开始不再只是把它作为修修补补的玩意之后,我就认识到,如果出了什么问题的话,我就要对此负责任。或者说,我至少在精神上感到了某种责任感(至今还是如此)。在1992年,Linux从一个更像是游戏的玩意变成了一些人生活中不可或缺的一部分,成为他们的生计和生意。

变化发生在1992年春天。过了大约一年半后,当第一个X视窗系统在linux条件下运行时,我开始着手进行终端仿真。它意味着这个操作系统将有能力支持一个图形用户的界面,而用户也可以在多视窗条件下工作。这个工作应该归功于麻省理工学院的X视窗项目(X Windowing Project)。这个工作的完成将带来一个很大的改变。我还记得在此之前的大约一年半,我还和拉尔斯开玩笑,说总有一天我们会完成一个在Linux下运行的X系统。但我绝没想到这一天这么快地来到。一个名叫奥瑞斯特?扎布罗斯基(Orest Zborowski)的黑客能够把X视窗装载到Linux上去。
对于我们有了图形用户界面的事实,我有一个短暂的适应过程。在最初的一年里我甚至都没有把它作为通常的运行环境,但是现在我简直不能没有它了,在我工作时总是同时开着许多窗口。
奥瑞斯特的贡献不仅使我们有了窗口,同时它还打开了通向未来的大门。Domain Socket可以用于能够支持X视窗系统运行的本地网络,但我们可以指望这些同样的套接字(Socket)能让linux有能力跳出本地网络,而可以异地连接计算机。没有网络化的功能,Linux只能对那些从不上网或只是在家拨号上网的人还有点用。
靠着极大的乐观主义精神,我们开始在这些新颖的套接字上开发linux的网络工作功能,哪怕这些套接字本来完全不是为网络工作而设计的。

我相信这很容易做到。我们有一个关于版本发表的编号进度表,原计划是在1992年5月发表0.13版,由于有了恰当的图形用户界面,我感到我们对一个完整的、可靠的并且支持网络工作的操作系统这一既定目标有了95%的把握,所以我把将要发表的新版重新命名为0.95版。
嘿,我是不是很天真?请不要提到这个让我难堪的话题。
网络功能的开发让人很厌烦,我们花了差不多整整两年的时间去完成它,以形成一个可以发表的东西。当要加入网络功能时,突然之间所有的新问题都冒了出来,全都与安全问题有关。你不知道谁在旁边,也不知道他想要干些什么,你不得不足够小心地防备恶意的垃圾邮件对你的系统的攻击;同时,也再也不能完全控制有人想和你的系统连接的企图了。此外,许多人使用着不同的网络设备,依靠TCP/IP网络通讯协议这样的网络工作标准,很难让所有的超时(time- outs)正确。这些问题看起来好像要一直久拖不决下去。
到1993年末,我们大致上有了一个网络工作能力的解决方案,尽管部分人还很难让它正常地工作。我们还不能在没有8-bit boundaries的情况下解决网络问题。
我过分乐观地将新版本定名为0.95版,而不甚乐观的实际情况却将这种乐观变成了一种束缚。又花了我们将近两年的时间,1.0版才得以问世。在此期间,我们仍然需要不停地发布各种有关瑕疵修和添加功能的新版本。但在0.95和1.0之间,却没有那么多的数字可以作为序号,这让我们着实有些疯狂。等到0.99也用过之后,我们只好在它后面加上数字以简要表示附加的序列,接着又开始依靠字母来表示,比如0.99版第15A次后面紧接着0.99版第 15B次,0.99第15Z次是最后一个以此方式命名的版本,因为,原本应该命名为0.99版第16A次的版本正是我们已经完成了的linux 1.0版。
1994年5月,新版本终于在赫尔辛基大学计算机科学系的礼堂里闪亮登场。现在回过头去看,完成这一版本的过程完全可以说混乱不堪的。
但是,没有任何东西可以阻挡linux的普及。我们有了自己的讨论组,取名为comp.os.linux,这是一个从我和安德鲁?塔南鲍姆激烈战斗的劫后灰烬中诞生出来的小团体,一个极具吸引力的游牧部落。当时,还或多或少地主导着互联网的Internet Cabal,每月都会针对每个讨论组吸引了多少读者发布一个非官方的统计报告,尽管这不是一个可以完全依赖的统计报告,但却是你可以找到的有关你的站点 ——在这里是指有多少人对Linux感兴趣——的普及程度的最好的参考信息。Alt.sex(一个著名的性问题网站,以另类性爱为其诉求——译注)站点那时是最受欢迎的(不过我对它并不热衷,我确实上过它一两次,不过是为了看看它吸引人的究竟是些什么玩意罢了。我更像是你那种类型的清心寡欲者。我宁愿和我的浮点处理器呆在一起,也不愿参与到alt.sex上那些热门话题中去——什么最新的做爱姿势啦,以及什么关于深度爱抚者们的报告之类)。
通过Cabal的月度统计,我可以很方便地追踪我们两个讨论组(comp.os.linux.)在网上的声望。而事实上我也确实做了这样的跟踪 (虽然我可能是一些人心目中民于向强势挑战的英雄,但我却从来也不像那些糊弄人的新闻所表达的那样,是一个只知道科技的无私和利他主义的孩子)。到 1992年秋天,我们的讨论组成员估计已经超过万人,这里面有些人只是加入到讨论组来自自到底发生了些什么,而并不是linux的使用者。每个月的统计结果出来的时候,首先提供的是一个普及率排名前四十名的讨论组的简要报告,如果你的讨论组没有挤进前四十名的话,你可以从另一个地方取得在这四十名之外的其他讨论组的完整报告,而我当时就不得不经常这样做。
我们的讨论组的排名仍在缓慢爬升。终于有一天,它挤进了前四十名。
这真是太棒了!我是如此地感到高兴,我记得我还为此写了一篇文章,在其中我基本列举出了包括MINIX的各种不同的操作系统,并说:“嗨,你们瞧,我们比(微软)视窗还要普及。”其实,真正的原因是当时的视窗系统还不能应用于互联网上。
1993年,我们的讨论组闯入排名前五位。那天晚上,我带着巨大的自我满足感躺到床上,为这样一个事实而兴奋无比:comp.os.linux和alt.sex不相上下,这意味着,linux应得和性一样普及了。

在我的小世界里当然不会有这样的竞赛。
我真的没有什么生活。在那个时候——正如我在前面已经提到过的,彼德?安文组织了一次在线捐活动,共筹得了三千元帮助我买计算机。在1993年圣诞节,我的计算机升级为486DX266——它在此后还要陪伴我好些年。在那个时候我的生活不过如此:吃、睡、到学校、编程、读电子邮件。我的朋友们越来越走向社会,我对此已习以为常。
十分坦白地说,我的大多数朋友也是失败者。
在埃德的那次演讲几乎使我确信我能应付任何事情,既然连站在一群俨然陌生的人面前并成为他们注意的中心这样难堪的事我都可以应付,我的信心在其他方面也渐渐建立了起来。我被迫就linux的修补和升级问题迅速做出了决定,而每一次这样的决定,都让我感到作为一个成长中的团体的领袖,我是称职的。在所有的决定中,纯粹的技术决定并不成其为问题,困难的是用老练的技巧向一个人指出你更乐于采用另一个人的建议而不是他的。有时候,我只是这样简单地对他说:“这东西用起来很不错,我们就用它吧。”
我从不认为接受不同于自己的想法是找到最佳解决方案的办法,而认为这可以防止在提出不同的竞争的程序员之间形成对立。尽管当时我可能不是这样想的,但这样做也有助于获得别人的信任。信任不是没有用的,在人们相信你时,他们更容易领会你的建议。
当然,你首先要建立别人之所以信任你的基础。对我而言,我猜想主要不是因为我发明了linux的核心部分,而是因为我最终做出了将它放到互联网上、并且对所有希望使用或改进它的人公开源代码的决定。

多从未想过自己在计算机之外的现实生活因为linux而有所改变,我也从未想过要做一位领导者。这一切的发生完全是一种偶然。
在一些关键性的发展阶段中,一个五人核心开发小组开始担当大多数的开发任务,他们由此觉得自己好像是一个筛子,有责任维持这个领域的工作。
我很早就明白,最好的领导者不是让手下做他要求他们做的事情,而是让手下做他们自己想要做的事。同时,最好的领导者也明白,当手下犯错时,要让他们自己有能力纠正而不要总是自己出面纠正。最佳的领导者是能够让手下自作主张的人。
让我换一个表述。
linux所取得的许多成功,其实可以归结为我的缺点所致:
1、 我很懒散。
2、 我喜欢授权给其他人。
黑客们,不,程序员们,把在linux和其他开放源代码的项目上工和放在比睡觉、锻炼身体、小圈子聚会,以主,有时是性生活更优先的地位。因为他们喜欢编程,更因为他们乐于成为一个全球协作努力的活动的一部分——Linux是世界上最大的协作项目,这一努力将给所有喜欢它的人带来最好最美的技术。这种努力是如此率真,又是如此有趣。
好了,我现在听起来就像是在不知羞耻地自吹自擂。开放源代码的黑客(程序员)们,不是特蕾莎修女在高技术领域的翻版,他们也在每个项目的“贡献者名单”和“历史记录”等文件中将他们的名字和贡献联系在了一起。最为多产的贡献者,将获得那些希望获得代码和雇佣顶尖程序员的产的注意。此外,黑客们的很大一部分动力,也来自于靠实实在在的贡献获得同行的认可和尊重的企图,这是一个重要的激励因素。每个人都想影响自己的同行、提高自己的声誉、改善自己的社会地位。
开放源代码的发展项目给黑客们提供了这样的机会。
不用说,我在1993年也如同在1992年、1991年一样将大部分时间花在了电脑前,这看来应该有所改变了。

别忘了我们还有《 Linux专版 》

TOP

10、塔芙
跟随着我爷爷的学院教学生涯,我也成了赫尔辛基大学的一名助教,被分配在这年秋季学期里开始用瑞典语教授《计算机科学入门》课程。
就这样,我遇上了塔芙。她对我一生的影响甚至比《操作系统:设计与执行》一书对我的影响还要大。不过,我不会用这种影响的细节来让你烦恼的。
当时,塔芙是我的班上十五个学生中的一个。她已经有了一个学龄前教育学的学位(不像在美国,芬兰要求学龄前儿童的教师要有大学学历),她还想学习计算机,却不能取得像班上其他同学那样的进步。当然,最后她还是?上去了。
我们交往的过程是如此简单。那是在1993年秋天,互联网还没有流行开来。因此,有一天,我在这个班布置的家庭作业就是给我发一个电子邮件(这要放在今天简直要笑死人),我对学生说:“今天的家庭作业:发给我一个电子邮件。”
其他人的邮件不是一些供记录的短语,就是一些没什么意思的笔记。
只有塔芙,她邀请我和她出去约会。
我娶了第一个通过电子方式走近我的女人。
塔芙是一个曾六次获得过芬兰空手道冠军的幼儿园教师。她的家庭很独特,尽管我认为还不如我们家那么离奇。她有许多朋友。从我们在一起的第一刻起,她就像是最适合我的女人。经过了几个月的约会,我和我的猫兰迪就搬到她的公寓房间去了。
在搬进去后的最初两周,我甚至都没有动过一下我的计算机。
不算上我服兵役的时间,这两周是我自从我十岁那一年坐在外祖父膝盖上摆弄计算机以来,离开计算机最长的一段时间了。不必详细描述,但这确实是除去服兵役之外我离开计算机最长的时间的记录了。不知为何,我并不为离开计算机而难受(再次声明,具体情节对你来说并不感兴趣)。对于这一切,我曾经看见她有几次嘀咕过什么“母性的胜利”,而我爸爸和妹妹可能只是感到困惑罢了。
不久,塔芙去找了只猫来和兰迪做伴。
晚上我们都有很好的安排,或是就我们俩人在一起,或是找几个朋友一块儿玩。早上五点我们就起床了,她去上班,而我也好早点儿到学校去,在没人打扰的情况下读一读与linux有关的电子邮件。

别忘了我们还有《 Linux专版 》

TOP

第4章 舞会上的国王

1、1.0版本闪亮登场
1.0版的诞生也意味着linux有了新的需要:公关关系和广告宣传。而我,只是像推出此前的那些版本一样略微的有些兴奋。我倒愿意在讨论组上写些东西,比如:“1.0版问世,试试如何”之类的话(这就够了,不需要多余的话了)。
但许多人认为,1.0版的发行是件大事——这都是些开始出售以linux作为操作系统的成长中的商业软件公司,他们希望1.0版对发行有所帮助。在他们看来,1.0这个数字的心理意义要远比其本身的技术含量更为重要。我对此倒没有什么异议,因为事实就是如此。以0.96版的序号销售操作系统确实比较糟。
我盼着这一切早点儿过去。对于我来说,这也具有某种标志性的意义,它意味着我可以不用再在小修小补上耗时间,可以重新回到对系统的开发上来了。与此同时,这些商业软件公司和整个linux圈子都盼着把它大张旗鼓地推向公众。
我们需要一个公共关系方面的策略。但我不会去作这个努力,因为我对发布新闻或陈述声明之类的活计不感兴趣。而有些人自认为对此很在行,所以他们就接过了这个任务。这倒是很像linux的开发方式,并且事实上这样也完成得不错。
拉素(Lasu)是将这一事件付诸实施的主要推动力量之一。他和其他一些人认为,赫尔辛基大学是最适合的发布地点,在我的住处发布,不仅地方小,而且会开一个在商业场所发布linux新版的不好的先例。所以拉素自告奋勇地开始与学校联系,好在我们学校很小,他可以直接与计算机科学系的头儿们商量这件事。
学校非常乐意为我们提供场地。为什么不呢?学校并不常有值得电视报道的事情啊。
我不得不同意做一个讲话。这次讲话一点也没有像我初次讲演那样困扰我。但今天想来,有些事情实际上反而更可怕,比如我爸爸会坐在台下之类。但真正让我有点犯难的是芬兰电视台的转播,这可是我头一次有机会看看自己在电视里是什么模样。
发布当天,我爸爸妈妈来了,塔芙也来了,而且这还是我爸爸第一次见到塔芙,所以这就不仅仅是什么1.0版的发布现场了,倒颇有些家庭聚会的意思。可当时我正在做演讲前的最后准备,比如看看幻灯是否装好了之类,结果他们遇见时我根本就不在场。我想他们大概是在进场是碰到的,但这只是我的猜测罢了。
正如此后几年人人都在谈论的一样,我在演讲中几乎没有讲新版本的技术细节,而主要着力于阐述开放源代码的意义。
发布会的效果很好,至少它改变了我们系对linux的看法。在此之前,Linux是计算机科学系对外炫耀的某种东西——看,我们的教师有多棒—— 并在某种程度上对其加以鼓励。但在这次发布之后,更多的人开始把它当作正经事来看了。毕竟它已经上了各个新闻机构的版面或屏幕了。
在事隔这么多年之后,有人猜测赫尔辛基大学曾试图获得linux的所有权,但这是完全不对的。我们系的确给了我很多的支持,但这发生在很早期的时候,至于“让我们支持这个软件吧,因为它将会闻名全球”的念头,我敢说从来也没有人有过。当然,他们很乐意成为这次发布的重要部分,因为这提供了难得的广告宣传和公关活动的机会。我知道现在已有更多的讲瑞典语的芬兰学生来我们系上课。而在这以前,我们系一直被赫尔辛基理工大学压在下面。
对成功者的嫉妒是芬兰文化的特点之一。
随着linux在全球范围内越来越知名,我开始担心学校里的人是否会因嫉妒而来为难我。但事实恰恰相反,他们非常支持我。从一开始他们就在个人计算机上放弃了X终端而改装上了Linux操作系统。
这次发布也使linux成为芬兰人注意的中心,并开始在其他国家获得公众。关于Linux的报道显著增多,份量也重多了。这是因为有一些记者虽然对Linux一知半解,却从中感到很振奋。事实上,从商业的立场上看,1.0版的发行并未给任何大商业软件公司构成什么威胁,它只不过是获得了先前由 MINIX和Coherent占据的市场,但它却得到了比它们更多的圈外注意。这可不是我在一开始所能料想到的。
不经意间,开始有记者——大多是商业杂志的记者通过查找门牌号而找上门来。塔芙可不乐意在周末的清晨被带着礼物上门要求做一次专访的记者所吵醒,而这记者甚至可能来自日本,也不知从哪里得知我对手表有着爱好。塔芙对这种事情很不高兴。但这类造访持续了好几年,直到我们搬入了一个谢绝记者的居住小区为止。但即使这样,我有时也会忘记事先告诉塔芙我约了记者到家里来,也说不定我潜意识里就想忘掉它。结果当塔芙眼里的不速之客在门外出现时,她还不得不出面招待。
接着,又突然出现了一些linux发烧友网站。一个服务器放在法国的网站登出了许多让我尴尬的照片,例如我当年在大学学生聚会上的表现:上身赤裸、喝着啤酒,并且看上去很粗鲁。
并不只是记者或linux的发烧友们对我有兴趣。突然之间,商业巨头们也想就他们的技术和我谈谈了。
UNIX之所以长期以来被看作有着巨大潜力的操作系统,主要是因为它强大并且可以支持多项任务的能力。因此,有不少对UNIX感兴趣的公司开始关注linux的情况了。其中之一就是网络软件公司Novell,他们已经开始以Linux为基础开发一个名为“黄鼠狼计划”(skunkworks project)的项目,其前身也是由该公司开发的叫做“视镜”(Looking Glass)的UNIX桌面系统。这个项目看起来不错,但遇到了一点障碍,因为他们缺乏普通的桌面环境那样的记时标准。
1994年8月,该公司邀请我造访其设在美国犹他州奥勒姆市的部门,和他们谈谈其桌面系统。既然Novell给我提供了到美国的机会,我就提出条件说,如果他们能够提供我参观另外一个美国城市的机会,我就愿意接受邀请,因为,即使是我这样对世界所知不多的芬兰人也可以推测奥勒姆市——甚至还有盐湖城——是相当独特和有别于美国其他城市的地方。他们同意了,并且建议我参观华盛顿,但我并不想去那里,我想那不过又是一个和赫尔辛基差不多的首都罢了。然后他们又建议我去纽约,但我自己更想去加利福尼亚。
在Novell的总部,我很难搞清楚他们对这个项目究竟有多重视。后来,他们的行为终于显示出他们在开初并不是非常重视:他们终止了这个项目,而与之相关的九个人则转入了叫做Caldera的新项目。不过,这次造访使我对美国有了第一印象,这是一个值得我为之居留的地方。Novell对 linux的关注表明,美国看来仍是技术进步的核心地区。
美国之行对我还是有所触动的。
第一件让我有所感触的事情是,这里的一切相比旧大陆来说都是那么新鲜。我所参观的摩门教堂已有一百五十年的历史,但却经过清洗,显出亮丽的白色。要是在欧洲,所有的教堂都是老旧不堪的,并蒙上了一层岁月的斑痕。看着这洁白亮丽的教堂,我脑海里产生的唯一联想竟然是迪斯尼乐园。因为它看起来太像是童话故事中的城堡,而不太像是一个教堂了。
在奥勒姆,我在旅馆里洗完桑拿后结账时还犯了点小差错。说到那桑拿,其实是一种简易的桑拿,里面的壁板是用塑料而不是木头做的,并且一点儿也不烫,只比外面热一点。在那一刻,想到在美国竟然没有地道的桑拿,不由得有点想家。
但我也开始逐渐熟悉周围的环境了。正如一个到芬兰的旅游者很快就会明白不能随便和酒吧里的陌生人搭讪一样,我也开始明白——开始在犹他,然后在其他地方——在美国你不可能与人理性地讨论堕胎或枪支管制等问题。因为你至少有一半可能会遇上对这些问题带有非常情绪化看法的人,并且很容易陷入到有关某事究竟应不应当的无休止的争执当中去。在欧洲,这些问题根本就不是问题。我认为,在美国,人们之所以如此强烈地捍卫自己的立场,恰恰是因为他们随时都会听到持反对立场的声音。这有些相互激励的意思。其实若以人均比例而论,芬兰的枪支拥有率可能会更高,但这些枪大多是用来打猎而不是用来防卫的,所以这根本就不成问题。
我在美国的最初那些天里学到的另一件事就是:根汗啤酒(root beer)让人作呕。
离开犹他,我飞往旧金山。我一下子就深深地喜欢上了这个城市。我顶着阳光不停地在这个城市里游逛,结果晒伤了自己,不得不在旅馆里躲了一整天。
我记得自己徒步走过了金门大桥。在桥的这头开始跨越大桥时,望着对岸的Marin海岬,恨不得立刻就到对岸去徜徉在那美丽的群山之间。但等我真走到Marin这边时,我简直就要走不动了。那时的我绝对想不到在事隔差不多整整六年以后的今天,我会坐在这海风吹拂的海岬峰顶,一边将太平洋、旧金山湾、金门大桥、笼罩在雾中的旧金山城区尽收眼底,一边对着大卫的录音机讲述这一切。
一年后我重访了美国。这次有塔芙和我一道。这次是到新奥尔良的数字用户集团(Digital’s User Group)参加DEGUS会议并作演讲。会议只有四十人参加,所以并没有什么犯难的。这次会议的最大收获是认识了别名“疯狗”(Mad Dog)的约翰?霍尔,他是Digital UNIX负责技术服务的市场人员,并且是老式UNIX的使用者。会议指定他来陪同我参加这次会议。这位以长过肚脐的胡子和可笑的幽默感(不要提他容易打鼾的事)闻名的人士,创立并领导着linux国际(Linux International)这个专门支持Linux系统及其用户的组织。他还是我女儿帕特里夏的教父。
新奥尔良会议的另一项遗产是:“疯狗”让Digital UNIX公司借给我一台Alpha芯片的计算机。这次linux将尝试与不止一种的PC机接入。在此之前,已经有人将Linux接入其他硬件系统,比如使用68K芯片的阿特里(Atari),使用Motorola 68000的Amiga等。但在这些案例中,Linux并没有在同一时间同时运行于两个平台之上。为了使Scaling work的版本能够工作,我将所有不能工作的部分全部抛弃并代之以新写的部分。但Alpha是首次与Linux接入。而且要让那同一套源程序同时在PC体系的Alpha系统上运行。于是我加了一个抽象层(abstraction layer)以便同一套代码可以不同的方式被汇编运行在不同的系统上。代码只有一套,但可以适用于不同的系统。
到我们在1995年3月发布linux1.2版时,已经增加到约二十五万行代码了,新杂志《Linux杂志》的发行量也有了一万份,并且Linux已经能够适用于Intel、Digital和Sun SPARC等不同的处理器了。这真是巨大的进步。

别忘了我们还有《 Linux专版 》

TOP

2、版权之争
在1995年出现了一批各种各样的linux的版本,并且商业性的Linux软件公司吸引了更多的追随者。这一年,学校将我由助教升为助理研究员,这意味着我的薪水和不用上课的时间都多了起来。这一年,我仍然以极其缓慢的速度继续着我的硕士学业,其内容包括将Linux接入各种不同的体系等。这一年塔芙还教会了我打壁球,我们每周都进行一次公平的竞争。
就在我沉浸在幸福之中的时候,麻烦来了。一个波士顿的投机分子将linux登记为注册商标了。不仅如此,他还向《Linux杂志》和其他一些Linux商业软件公司发出了电子邮件,信中要求这些机构将他们收入的百分之五作为提成支付给他。
当我听到这个消息时,感到一阵刺痛。这个家伙的名字听上去有点耳熟,果不其然,当我检查自己的电子邮件文档时,发现他在一年半以前曾主动给我发过一个邮件。在信中,他首先问我是否信仰上帝,接着就说他有一个对于我来说非常巨大的商业机会。那个时候,暴富的企图和计划还没有侵蚀互联网的纯洁,所以我毫不理会这个家伙的邮件。但由于它出现的时机颇不寻常,我就把这个邮件保存了下来。
但不管怎样,我们现在或多或少处于某种危机中。我们都是些黑客,所以此前谁也没想到过要去注册。
这个家伙也不是个职业的商标抢注者,并且很显然这也是他第一次干这种勾当。商标注册又按行业等分为许多类,而他只在计算机这一类别下注册了商标。商标注册必须提交申请,所以他交给商标管理当局一张内容是其命名为linux的程序磁盘。
他的这些举动有些傻。
linux社区的所有人都明白我们要将注册商标夺回来。但问题是,我们并没有相应的组织来进行这场争夺,我们甚至没有足够的钱来请一名律师。没有一个公司乐意为此投下一万五千美元。在当时,这是一笔不小的数目。要是在今天,这些公司的私货生意在一个月内就可以赚这么多钱。所以,最后是由《Linux杂志》和其他一些公司一道,给进行这场争夺的Linux国际提供打官司所需的资金。Linux国际是在1994年由一位名叫帕特里克?德克鲁兹的居住在美国的澳大利亚人创立的。其目的和宗旨是在全球范围内推广普及Linux。发生商标争执的这一年正好是由“疯狗”任Linux国际的执行理事,所有的人都信赖他,并且始终如此。
那时我人还在芬兰,最关心的是能否在壁球上击败塔芙,或是在司诺克台球上击败阿沃托,而不是这件事。我只想着这梦魇般的讨厌事赶快过去。在这件事上,我更倾向于干脆彻底抛弃linux这个商标,并宣布由于它过去的非商业用途现在不能作为商业名称。我们有足够的文件证明我们确实先于他使用 Linux这一名称。但麻烦的是,律师向我们解释说,试图让Linux变为公共所有权以取消注册商标的想法是白费力气,真正能让Linux成为公共所有权的途径是让它成为一个通称,而不是某个具体事物的名称。但是,显然那时的Linux不是通称而是确有所指。即使在今天,商标管理当局可能也不会认为 Linux是通称。律师警告我们,继续朝我希望的那条路走下去,我们会输掉这场官司。并且,即使我们赢了这一次,也可能会有别的家伙再来这么一下子的。
所以他建议的解决办法是:将注册商标的所有权转移到某个人名下。我主张让linux国际这一组织作为商标所有人,但有许多人反对。因为他们担心 Linux国际有可能被商业利益所征服,同时,人们也担心领导层易人后的政策连续性,谁能担保“疯狗”的后继者还能像他那样值得信赖呢?
既然linux国际成立不久信用尚有待证明,于是所有人都属意于我。律师也暗示,将所有权转移给我将有助于在庭辩中占上风,因为我是Linux这个词的最初使用者,而这一点也是我们的战略重点所在。
最终,我们与那个家伙达成了庭外和解协议,这看起来是最为省事省钱的办法了。像大多数其他的庭外和解协议一样,本案的细节也是不能被公开讨论的。不过,即使可以讨论,我对细节一无所知。我对此一点兴趣都没有。
当我重新阅读那个家伙给我的信时,我发现上面并没有确切地谈到商标特许的事。或许当时他来信只是想和我攀谈攀谈,当然也可能是想要我付钱赎回商标,也可能他真是想让我获得信仰并成为教友,甚至他也可能是想把那商标赠送给我。谁知道呢?
经此一事,我认识到不是所有的人都讲道德。但更让人生气的是,我无缘无故地背上了商标所有人的担子。
作为这一通忙乱的结果,我成了linux注册商标的所有人。这意味着,像VA Linux这样的公司在填写上市申报文件时,必须在他们的文本中指出该公司并不拥有其公司名称的一半的所有权(在本例中,该公司必须通过法律程序征得我的许可以便使用Linux这个词)。起初我对此还得有些好笑,但现在我已经对这类事习以为常了。
商标风波只不过是linux成长的烦恼之一,且不失为一次消遣。但不久之后,其后果就显现出来了:设在美国俄勒冈州波特兰市的英特尔研究部门里的一个名叫奥瑞的工程师告诉我说,英特尔正在为其新开发的体系做准备,其中会用到Linux。他问我是否愿意到他们那里做一次为期六个月的研究工作。
塔芙和我对有可能生活在美国有点茫然,她知道我是多么欣悦于几次美国之行,当然根汗啤酒不在此列。我们认为去美国的机遇——不是指风土人情—— 要更好一些(我完全相信在激励员工积极性方面,美国的制度要比欧洲模式更现实,也更有效。在芬兰,老板会给贡献突出的员工稍高一些的报酬,以免他吵闹着要加薪。而在美国,则会给他们远远高于其他人的报酬——这非常有作用)。
这次研究看来是一次关于美国工作和学习的极好尝试,并且地点又是在濒临太平洋和多雨的美国西北部,所以我们都觉得似乎不应该放弃这次机会。但我也不无矛盾,我觉得我很难不完成硕士学业就离开学校。或许我骨子里还有外公留下的影响,总觉得辍学是一件很不应该的事。不过这件事很快也就过去了,我也免除了内心的冲突。英特尔研究部门的经理人员发觉我很难从美国移民与规划局获得为期六个月的工作许可证,所以最终并没有发出正式邀请。
就这样,我继续呆在赫尔辛基。到1996年,我正接近于完成自己的硕士学业,我的论文已经写好,只需一点学分就可以拿到学位了。不无讽刺的是,这恐怕是耗费了我整个硕士生涯大部分时间的linux开发研究所获得的仅有的学术肯定了。
1996年也是我有所醒悟的一年。在平均主义盛行的芬兰,你每工作三年就将得到一次法定的升迁。但我第一次拿到升迁后的工资条时,不由得一阵晕眩,根本没想到我在学校里已经工作了如此之久,竟然有资历获得升迁了。
但我是否要把毕生的事业固定在这里呢?还记得我前面是怎样描述我外公的吗:单调、超重、从来也不会因为喜欢什么而微笑。我要这样吗?我开始有规律地观察镜中的自己。我的发线正在一点点向上面爬升,脸上也开始密布着细纹。我已经二十六岁了,平生第一次觉得自己老了。而这已经是我在大学里度过的第七个年头。我想抓紧这一点,以便很快地毕业。
我女儿卡蕾认为,能让人给你买一只企鹅可真是件不得了的事。在晴朗的夜空底下,我们围坐在篝火旁,李纳斯讲述着一个在英国布里斯托尔市的 linux用户组织是怎样买了一只企鹅送给他。让卡蕾想不到的是,那些人并没有真的给他买一只企鹅,李纳斯解释说,是那个组织曾向某个动物保护组织捐款赞助,然后以李纳斯的名义认养了一只企鹅。
托沃兹一家咂摸着李纳斯的故事背后的含义。不知是谁,在烤蜀葵的当口抬起头来,问了一个笨问题:你们是怎么想起用企鹅来做linux风靡全球的形象标识的?
“这是我的主意。”塔芙说道,“因为人们总是在问,‘难道你们不该做个标识吗?’所以李纳斯才在这方面动起了脑筋。linux的各公司都有他们各自的标识,其中有一家用的是一个粉色三角,但我知道这个标识早已被同性恋者们相当广泛地用上了。我就把这个消息告诉了他。他说,他要找出一个优雅的、有亲和力的东西来做标识。”
“我就想到了企鹅。李纳斯在澳大利亚的时候曾被一只动物园里的漂亮企鹅咬了一口。他喜欢逗弄小动物,总是爱把手探出去。那些企鹅大概有一英尺高,他刚好能把手探到笼子那儿摸着它们。他晃动着手指,扮成鱼的样子。企鹅被招了过来,咬了他一口:咳,这口感可不像是鱼。他虽然挨了企鹅的咬,可还是喜欢它们。我觉得他这辈子跟企鹅是没完了,只要一有机会,他就非去看企鹅不可。所以,当他在为找个标识而大伤脑筋的时候,我就提醒他,‘你这么喜欢企鹅,为什么不用企鹅来做标识呢?’他说,‘哦,让我想想。’”
李纳斯此时正坐在篝火的另一边摇着头。
“不是的,这可不是她的主意,”他说道,“不是那么回事。”
看来这个小问题还是有争议的。我想,我恐怕还从没见过一对像李纳斯和塔芙这样平等相待的两口子。我曾见过李纳斯做家务,见过他在塔芙早晨还赖在床上的时候给她弄上杯咖啡,即便是长途行车中应付两个小宝宝的闹上闹下的无理要求,这两口子也总是一副从容不迫的样子:这可真是一桩幸福婚姻。
我们的问题到了关键地方了。
李纳斯给出了另外一个故事版本:尽管塔芙在早些时候确实语焉不详地提到过企鹅什么的,但真正认真考虑把企鹅作为linux的正式吉祥物,还是在李纳斯与两个高级助手的一次谈话当中。
塔芙有点儿不服气。“开头他也不认为这是个好主意,因为这是我的主意。我跟他说过之后,他还是接着想他的。后来在波士顿,我们和亨利?霍尔又谈起了吉祥物的问题。我对他们说,‘用一只企鹅怎么样?你们觉得呢?’他们都觉得不错。我想,这才促使李纳斯认同了这个想法。”
“亨利?霍尔说,他认识一个画家,可以找他来给我们画一只企鹅。但这时就再没有下文了。后来我知道的,就是李纳斯开始在网上征集企鹅的图片。”
李纳斯选中的是莱瑞?艾文的图片。这个莱瑞?艾文是德克萨斯A&M大学科学与计算机学里的一位画家。
这企鹅可不是随便哪一只都行。李纳斯想让它有副爽透了的样子,就像刚刚喝下去一扎鲜啤酒,然后又体验了一次无与伦比的性高潮。除此之外,这只企鹅还一定要很特别才行。于是,其他的企鹅都是黑嘴巴黑脚蹼,但linux的企鹅却是黄嘴巴黄脚蹼,这使它看上去好像是鸭子与企鹅的杂交品种。也许它是唐老鸭在南极之旅中与一只当地企鹅一夜倾情的结晶。

别忘了我们还有《 Linux专版 》

TOP

3、去硅谷
我要去Transmeta公司工作的消息与我们夫妻两个想要孩子的计划在linux社区里引起了大家同样的关注。
当塔芙怀孕的消息在春季泄露出来之后,linux用户讨论组里的热心人就试图探听:我会在维护Linux与维持家庭之间怎样找到平衡。几个月以后,当大家知道我终于要离开赫尔辛基大学,去加盟位于美国硅谷的Transmeta公司的时候,一场世界范围的讨论就由此发生了:我会不会在离开了学术机构、转入了商业公司之后,还保持着当年源代码开放的理念?要知道,我要加盟的这家公司里有着保罗?艾伦的部分投资,而这位保罗?艾伦可是微软公司的创办人之一。所以,抗议的声音一直不断。有些声称,这一定是一个精心策划的企图控制Linux的国际阴谋。
我并不是说这些linux支持者的担忧都是杞人忧天。但事实上,无论是1996年12月帕特里夏的出生(十六个月以后我们又有了丹妮亚拉),还是1997年2月我开始在Transmeta工作,都没有导致Linux的衰落。我一直觉得,如果有什么事情对Linux产生了负面影响,我是会采取必要措施的。
但我还是战胜了自己。
1996年春天,就像一个新季节的开始,我修完了硕士学位的必修课程。大概就是在这个时候,我收到了彼德?安文的来信。彼德?安文是一位 linux社区的成员,就像其他经常登录Linux讨论组的人一样,他也知道我很快就要毕业了。他曾在Transmeta工作过大约一年。他告诉这家公司的老板说,他认为一个芬兰的家伙,这家伙也许会对公司有点儿用处。当他到瑞典看望他母亲的时候也顺道和我接触了一下。他盛赞了Transmeta公司,但因为话只是私下讲的,他便很为难地无法告诉我太多内容。无论如何,我在那时能够见到彼德确是一件幸事。
在他回到加利福尼亚之后,发了一封电子邮件给我,问我什么时候能来。这与我一年前与英特尔联系时的感觉大不相同,当时一位工程师想聘我做他的研究助手,但由于手续难办,我便一直也没有成行。
我想,仅仅是到加利福尼亚的一趟旅行已经是件很让人兴奋的事了。
这是我一生中的第一次工作面试。我还不知道Transmeta是做什么的,对我来说是一个完全陌生的地方。
比起找到工作本身,我更关注这次美国之行背后的含义,所以我并没有对即将到来的面试想过太多。看上去更重要的是,要了解这些家伙想做些什么。这的确是一次相当古怪的面试。
度过了最初的几天之后,我从Transmeta的总部返回饭店。在仍没有倒过时差的状态下,我觉得所有的事情都是那么有趣,而且认为 Transmeta公司的家伙们都是疯子。这家公司不像是个搞计算机的地方。他们没有硬件设备,所有的东西都是由模拟器来完成的。我无法想象他们究竟能做些什么。几天之后,我开始怀疑我是不是在浪费时间。我在想:也许最后什么都不会有——无论是Transmeta的技术革新还是我的这份工作。
我半梦半醒地在床上赖着,一晚上都没怎么睡着。一开始,我满脑子里都是些有关Transmeta的计划之类,然后便突然幻想自己的庭院里有了一棵棕榈树,过了一会儿又不断思考我在模拟器上见到的一切。这是难忘的一夜,虽然断断续续的,但却毫无焦虑。
到了早晨,我变得有些兴奋起来。
到了第二天结束的时候,我已变得非常兴奋。
在接受Transmeta的邀请之前,我曾与许多人讨论过这个问题。当我在考虑就业问题的消息传出去的时候,我便收到了大量的聘用邀请。在芬兰,邀我加盟的是Tele公司,linux在他们那里已经得到了一些应用。波士顿的Digital公司也发出了邀请(我无意冒犯,但波士顿的冬天比起赫尔辛基来也并不好过)。我与红帽子公司(Red Hat)的一些人也谈过此事,他们也诚邀我加盟,并且许诺了要比Transmeta给我的待遇还要好——他们也不知道我与Transmeta商量的待遇到底有多高,因为我根本就没和Transmeta谈过这个问题(当我终于去了Transmeta的时候,年薪是美元六位数字)。红帽子还对我许诺了远比 Transmeta为高的股票期权,但我不愿在任何一家Linux公司工作——即便是这家公司恰好坐落于风景宜人的北卡罗来纳州中部(指红帽子公司所在地)。
最后,我在收到了五份聘用邀请后就不再各处应聘了。到这时为止,Transmeta对我的吸引力最大。
我得承认,这好像有点儿古怪。
我接着要做的一件事就是通知学校我要离开了。这对我来说是重要的一步,意味着我已经没有回头路可走了。我们会再有一个孩子,会踏进另一个国家,会离开在赫尔辛基的安安全全的学府生活——但首先我得完成我的论文。现在回过头来想想,一下子做出这么多变动倒也不坏。但在当时却是近乎疯狂的举动。
对此我没有发出正式的通告(我为什么要做呢?)。但消息还是在互联网上不胫而走。大家便继续讨论起我到底有没有能力在恶俗的商业氛围中固守 linux的纯真天地,以及我具不具备给婴儿换尿布的本事。在那时,大家始终保持着这样一种共识:Linux只能在某个学生的手中才会出现,而不会是哪个安居乐业的成年人所能做的。所以我想,他们的担心也并非没有道理。
我在一个周末完成了论文,在送塔芙进产房的几分钟前才把它交了上去。四十小时后,塔芙产下了帕特里夏。这是1996年的12月5日。
做一个父亲看来是这个世界上最自然不过的事情了。
后面的几个星期里我们都在忙着帕特里夏的事,当然也在记挂着那漫长的办理赴美签证的手续。我们以为,如果正式结婚民族委员会地对办理签证有所帮助,所以在一月份我的塔芙去政府部门输了正式的结婚手续。还有三个人参加了这一仪式:塔芙的双亲和我的妈妈(我爸爸在莫斯科)。这是个奇怪的时刻。我们开始收拾行囊准备起程,但还不清楚手续是否真能办得下来。为了与朋友们告别,我们还举办了一次晚会。二十人挤进了我们那狭小的、已经收拾一空的单间公寓,在良好的芬兰晚会的传统中,每个人都烂醉如泥。
我们的签证终于下来了。于是,在1997年2月17日早晨,我们乘上了一架班机飞往旧金山。我记得当时赫尔辛基的气温是摄氏零下十八度。我还记得塔芙的家人在机场与我们大声告别——他们站得很近。我不刻我的家人是否也来了,他们一定是来了,不过也许没来。
好了,我们终于抵达美国了,带着我们的孩子和两只猫。彼德?安文来接我们,我们租了辆车,直奔圣克拉拉而去,那里我们有一处早在几个月前就选好了的公寓。一切都像超现实的感觉,特别是这里与芬兰相差华氏七十度的气温。
行李在两个月后才到齐。在美国的第一夜我们是睡在一张随身带来的充气床垫上的。第二天我们去买了一张床。在我们的家具齐备之前,帕特里夏一直都睡在她的摇床里。这事很让塔芙烦恼,大卫说这是生命的轮回,他让我想想我刚出生的那三个月,那时我是睡在洗衣筐里的。我们不怎么做饭(现在也不做),也不知道应该到哪儿去吃。我们大部分的饮食问题都是在当地的食品店或是快餐店里解决的。我对塔芙说,一定得找个新地方去吃了。
随着对Transmeta公司工作的日渐熟悉,我不再有足够的时候去继续linux的开发了。新工作占据了我大量的时间,而我的业余时间也都消磨在塔芙与帕特里夏的身上。真是忙得不可开交。我们也没什么钱。我的薪水还算高,但都在这两个月里用在买家具上了。买车也不容易,因为我们还得重新建立起货款消费的信用资历。我们甚至还得想方设法地证明我们是付得起电话费的。
我的电脑正在货轮上极其缓慢地向我接近着。这是我有生以来第一次在互联网上稍声匿迹。我的突然缺席引起了网络世界里许多人的关注。他们在猜测:哦,这小子已经为哪家商业公司工作上了……
他们直言不讳地问道:这是不是意味着linux作为一种自由软件已经濒临死亡了?
我解释道:根据我与Transmeta的协议,我是可以继续从事linux的开发的。而且,我不想就这么对Linux撒手不管了。

别忘了我们还有《 Linux专版 》

TOP

4、在Transmeta领地上的生活
要向大家解释,到美国加盟一家商业公司并不会对我造成什么改变的难点是:Transmeta公司差不多可算是世界上最机密的公司之一了。在那里,关于你对外能说些什么,公司只有一项规定,而这项规定就是:“什么都不能说。”
难怪大家有时会奇怪:我是不是加入什么[对不起,我讲粗口了.]组织了?我在干什么甚至对我妈妈都不能透露的事情。
其实,我在Transmeta的所作所为也并没有什么神秘的。我首先做的就是修补Transmeta公司里linux系统的一些小毛病。这家公司使用了许多装备多处理器的Linux电脑。我从未亲自参与Linux SMP的工作项目,很多事情都没有向最先预想的方向发展。
但我实际的工作确实是作为Transmeta公司里“垒球”队中的一分子。
哦,我指的是“编程”队伍。我们是不怎么打垒球的。硅谷的人不会同意我们的加入,除非我们能告诉他们我们在做什么。
我不知道人们对Transmeta熟悉到什么程度。当我在键盘上敲打这些字的时候,我们正处在一个凡事都要保密的时期(拜托了,老天爷,买我们的股票吧),然后我们便不再那么低调了。让我们共同祝愿,当这本书出版以后,每个人都能熟悉Transmeta的大名并且买下(一提“买下”这个词,我总是下意识地想起股票)一个或更多的Transmeta出产的CPU。现在你该知道Transmeta是做什么的了吧?
但Transmeta所做的还远远不止这些。老实说,就算有人使劲敲打我的脑袋,我也分不出晶体管和二极管的差别来。Transmeta所做的仅仅是硬件而已,但这硬件却要依赖精巧的软件使一个很简单的CPU看上去要比它原本的样子强得多——事实上,就像是标准的英特尔兼容的x86。为了使这一硬件更加小巧、更加简洁,它身上的晶体管就不能太多。相应地,它的耗电也要少些。每个人都会明白,这在现代世界里具有多么重要的意义。正是为了研制这一 CPU所依赖的精巧软件,Transmeta才装备了一支大型的编程队伍;也正是因为这个原因,他们才邀请了我的加盟。
这些对我来讲都是再合适不过的:一家非linux公司,在技术层面上很能让人提起兴趣(我不知道还有哪家公司曾经严肃地尝试过Transmeta所做的这一切)。
Transmeta与linux无关——这一点对我也是很重要的。不要误解我的意:我喜欢在Transmeta公司里从事改良Linux的工作,我也曾在其中一些关于Linux的内部方案中出谋划策(说实施,如今大概很难找到一家不安排这类方案的认真运作的技术公司了)。但对Transmeta来说,Linux仅是第二位的。
什么才是我真正想要的东西?我可以继续把linux做下去,但我不觉得我必须牺牲Linux来做出技术上的妥协以迎合公司的目标。我会把Linux视为一项个人爱好。这样一来,我只需要考虑技术就够了,那就没有什么能阻挠我的决定了。
这样,我就在日间为Transmeta工作。我编写与维护的是我们现在还在使用的“x86解释程序”。这一程序是Transmeta软件的基础,它阅读指令并且执行它们。后来我也做了些其他事情,但这些才是真正使我进入神奇的硬件模拟世界的途径。
晚上,我睡着了。
我与Transmeta之间有这样一个协定:他们暧昧地许诺,可以让我在工作时间也能继续的linux。相信我,我很好地利用了这一点。
有很多人都认为加班加点的工作才算真正的工作。我可不这么想。无论是Transmeta的工作还是linux的工作,都不是靠牺牲宝贵的睡眠时间换来的。事实上,如果你想听真话,那我就要说,我更喜欢睡觉。有些人可能会认为我懒,对这样的人我可真想把枕头朝他们掷过去。我对自己的行为有着近乎完美的借口:如果你把更多的时间花在睡觉上,那的确会损失一些工作时间,但如果你的睡眠很充足,在不睡觉的情况下,你的头脑就比别人都要清醒。

别忘了我们还有《 Linux专版 》

TOP

5、欢迎来到硅谷
“我踏进这个星系后要做的第一件事,就是去拜会那些耀眼的星辰。”
我从史蒂夫?乔(苹果电脑的创始人)的秘书那里收到了这封电子邮件。他解释了迫切想见我的原因以及问我能否为他抽出一两个小时的时间。我也不知道这到底是怎么回事,然后就答应了。
会见的地点是在苹果电脑的总部,乔和他的高级技术人员一同来了。这正是苹果公司研制OS X的时候。OS X是基于UNIX的操作系统,2000年9月上市。我们的会谈毫不拘谨。乔在一开始便说,在操作系统的领域,只有两个玩家——微软与苹果。他以为,我能为 linux所做的最好的事情就是与苹果公司联合,让那些陷入到开放源代码中的人都来为Mac OS X鼓劲。
我没有立刻反驳,因为我还想听听有关这一新的操作系统的事情。
它的基础是Mach系统。到了九十年代中期,Mach被期待会成功操作系统的最终版本,很多人对此大感兴趣。事实上,IBM与苹果公司曾合作推出的命途多?的Taligent操作系统就是以Mach作为基础的。
乔还指出,Mach系统的核心也有其开放源代码之处。他不知道我个人对Mach系统并没有太多的好感。坦白地说,我觉得那只是一堆废物。那里面有你在设计的时候所能犯下的所有错误,却又试图靠这套本身就不可靠的系统去修补自身的一小部分内部错误。对微内核的反对意见早已有之,所以,很多人才切实地去作研究以使微内核真能运转良好。这些研究便铸成了最终的Mach系统。所以,Mach系统才会变得像现在这样异常复杂。而且,它依旧运转得不那么顺畅。
当Mach还只是一项大学内的科研项目的时候,随史蒂夫同来的那位苹果公司的主要技术人员就已热衷于它了。讨论一下他与史蒂夫对此事的看法是件有趣的事情。同时,我们在基本的技术问题上出现了相当大的分歧。我真的不认为搞开放源代码的那帮人或是搞linux的什么人应该涉足于此。当然,我已明白了他们为什么要让更多的开放源代码的程序开发者来共同构造这一系统,他们已经见到了在开发Linux时那四海一家式的创造性动力。但我不认为他们真的看明白了。我想,史蒂夫也许还没有到,Linux的潜在用户要远较苹果系统为多——尽管他们拥有的是两个不同的用户群。我们见面已经过去三年了,我不认为史蒂夫今天还会有当时那样的渴望。
然后,我解释了我为什么不喜欢Mach系统。容易理解的原因是:它运行起来不是那么顺畅。他们两人以前当然也听到过类似的意见。很显然,我对 linux非常坚定,而他们两人对Mach也是一样。看着他们如何讨论一些技术问题确实是件很有趣的事。我所能看到的一个直接的问题,牵涉了他们在新的操作系统中准备怎样来支持旧的系统。他们想让新系统具有很好的兼容性,这样就能做好旧系统所能做到的一切。但旧系统的一个重要缺陷是,它没有内存保护功能,现有的新方案也无法解决这个一直棘手的问题。只有全新的Mach系统才可以做到内存保护。这些对我都没有任何意义。
我们在基本看法上就存在分歧。
史蒂夫就是史蒂夫,就算在新闻界都背叛了他的时候也是如此。他对自己的目标怀有浓厚的兴趣,即便对新系统的市场环节他也津津乐道。我对其技术层面还抱有一些兴趣,对他的总体目标与他的言辞却觉得不对口味。他的主要观点是,如果我想占领桌面操作系统的市场,我就一定要与苹果公司携手合作。
我的回答是:“为什么我要关心这些?为什么我要对苹果公司的故事表现出兴趣?我不觉得苹果公司所做的事情有什么吸引我的地方。我一生的目标也不是占领什么面操作系统的市场(的确,虽然我马上就要做到这点了,但这从来就不是我的生活目标)。”
他没有再多说什么。他想当然地认为我会对他的揭底发生兴趣。他大概无法想像这世界上的人竟然如此的不同,以至竟会有人对增加Mach系统的市场份额毫无兴趣。
我想,见到我竟对苹果巨大的潜在市场以及对分割微软现有的巨大市场份额毫不关心,他一定是非常吃惊了。但是,我也不能因为他无法进一步了解我有多讨厌Mach系统而责怪他。
尽管对他说过的话我几乎完全不同意,我却也有点儿喜欢上他了。
后来,我又遇上了比尔?乔伊(Bill Joy),这是我第一次见他。
说实话,我刚见到他的时候还不知道他是谁。Sun公司邀请了我和十二位其他致力于开放源代码的同人参加了一个非公开的会议。会议准备在圣荷塞的一家饭店里举行。我去了那里,得知比?乔伊也在。他是BSD UNIX幕后的重要人物,后来加入了Sun公司,成为他们的首席计算机科学家。在这之前我从没见过他。他一见我便走了过来,自我介绍说自己是比尔?乔伊,而我一时还没反应过来。我去那儿不是为了见他的,而是为了要看看Sun公司对开放源代码的想法,以及他们想怎样加入到这一活动中来。几分钟后,比尔开始向我们解释这一切,并且还展示了他们的操作系统的演示版。
然后,他们开始解释这一系统要如何进行注册。这听上去很吓人,也很愚蠢。基本上,他们的意思是这样的:如果有人想使用他们的操作系统——哪怕是用半商业的方式——该系统就是再是真正意义上的开放源代码了。我想他们的想法实在白痴,他们的这次自我吹嘘式的邀请弄得我很不高兴。他们的“开放源代码” 意味着你只可以读到该系统的源代码,但当你想要对其做出自己的修改或使之成为自己某个系统的一部分时,你就一定要向Sun公司申请注册才行。那就是说,如果红帽子公司的什么人想要制作最新版本的linux Jini的红帽子版本的光盘,就先要向Sun公司做出Jini的许可申请。
我问了几个问题,想看看我理解的是否正确。
当证实自己的理解无误之后我便起身了。
我很厌烦,我弄清了他们的全部意图,然后说道:“忘了它吧,我可没兴趣。”接着便离开了那里。
我的理解是,他们邀请我到场仅仅是想把他们的意图通知我一下,如果我竟然还感兴趣,他们就会把我的话在新闻媒体上做些断章取义的引用。他们的想法可没起作用,但也许他们能从中学到点什么。
后来有人告诉我,他们继续把那个会开完了,然后还举行了宴会,除我之外的所有人都逗留到了最后。
我第二次遇到比尔?乔伊就不像第一次那么尴尬了。大概在一年半之后,他邀请我去吃日本寿司。
他的秘书打电话给我来确定见面的时间。比尔的住处和工作地点都在科罗拉多州,每个月要腾出一周时间在硅谷。我们去了富士寿司店,这是全硅谷最好的一家寿司店,味道与旧金山的寿司迥然不同。
我们在富士寿司店里其乐融融,因为比尔在试图找齐做寿司的地道原料。在美国的日式饭馆里,有一味寿司原料是从来见不到的,餐馆里一般都用另一种菜来代替它。因为这味菜只在日本本土的溪水里才会生长,而且还很难繁殖。比尔向店员竭力解释这真正原料与代用品的不同,但美国的店员却搞不懂比尔的意思,比尔只好让她去请里面的大厨。这可真让我忍俊不禁。
这次吃饭纯粹是为了社交。比尔的意思是,如果我愿意为Sun工作,我只要跟他说一声就行。但这不是主要的。他回忆起曾做过BSD UNIX五年人员的经历,以及他是如何开始欣赏Sun公司围绕他所做的一切商业行为。他谈到能得到一家像Sun公司这样的企业提供的商业性支持是一件多么重要的事。我对他提到的UNIX的早期历史大感兴趣,所以,即便是没吃到最正宗的寿司我也不觉得有什么遗憾了。我在想,比尔恐怕是我所遇到的硅谷精英中最和善也最有趣的一位了。
在《连线》(Wired)杂志上有一篇比尔的文章,题为《未来不需要我们》。那篇文章是关于技术的,言辞既可怕又消极。我也有些被文章感染了。的确,未来是不需要我们,但他对此也不必那么消极呀。
我倒不想反他的文章给撕了。但是我相信,在人类的整个生涯中所能发生的最悲惨的事情,其实就是我们仅仅生存下去却完全没有进步与发展。比尔看上去已经感觉到了基因技术会泯灭我们的人性。但是每个人对非人性的认识是不同的。随着我们继续进化下去,依照今天的标准,一万年后的我们也就不能还叫人类了。
我们会成为人类的另外一种形态。
在比尔的文章里,他似乎对此心存恐怕。我倒觉得阻碍进化的进程是违背自然规律的,当然这样的事也不会发生。如果是找两只狗来配对让它们产下“特定的”后代,我们自然要求助于遗传学。在人类里这样的事情正在不可避免地发生。依我的观点,通过遗传学的优生方法来使人类发生一些良性的改变是件可取的事。但我不知道社会会向哪个方向发展。你不能停止科技的进程,也不能消除人类对宇宙以及自身奥秘的求知欲。比尔之类的人对此担心得太早了些,我以为这些都是自然的进程。
我不同意比尔?乔伊关于我们应当如何应对未来的言论,也同样地不同意他对开放源代码的打算。在技术问题上我同史蒂夫也无法达成一致。这听上去好像我在硅谷的这开头几年一直都在反对别人的意见来着,但事实却并非如此。我在译码方面做了大量的工作,也常带帕特里夏去宠物公司。总的来讲,这些都拓宽了我的视野——比如我还学到了寿司的正宗配方什么的。

别忘了我们还有《 Linux专版 》

TOP

6、一夜功成名就
你进没进过专事宣传的讨论组?它们的全部存在意义就是不遗余力地宣传什么东西,也就意味着还要贬损其他的什么相关物。所以,你在那里经常看到的通常只是些“我的系统比你的系统更好”之类的废话。我们可以把它们看作是某种形式的在线手淫。
我之所以提到这类讨论组,是因为除了荒废的内容之外,它们倒也提供了一些新事物出现的线索。所以,当linux被商业公司看中的时候,最先做出反应的不是新闻媒体,而是这些满嘴垃圾的讨论组。
这得让我从头说起。在1998年春天,确切地说是1998年4月16日,一个金发女婴