Chinaunix首页 | 论坛 | 博客
  • 博客访问: 24958
  • 博文数量: 5
  • 博客积分: 295
  • 博客等级: 二等列兵
  • 技术积分: 50
  • 用 户 组: 普通用户
  • 注册时间: 2006-01-13 19:21
文章分类

全部博文(5)

文章存档

2006年(5)

我的朋友

分类: LINUX

2006-01-16 14:14:08

---------------------------------------------------------------------
(这个有趣的讨论在两人之间展开,一个是Andy Tanenbaum,计算机科学的著名教授,任职于阿姆斯特丹自由大学,另一个是Linus Torvalds。Andrew Tanenbaum教授是几本操作系统书籍的作者,而且是minix(类似于UNIX的操作系统)的主要创作者。他的书影响了一代计算机科学专业的学生。这篇文章是任何LINUX用户的必读。)
 
*********************************************************************
 
 
这样,我与安德鲁?塔南鲍姆结束了交战,那是在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这回事,但
大多数与其有密切关系的黑客都不是芬兰人。

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年一样将大部分时间花在了电脑前,这看来应该有所改变了。

10、塔芙

跟随着我爷爷的学院教学生涯,我也成了赫尔辛基大学的一名助教,被分配在这年秋季学期里开始用瑞典语教授《计算机科学入门》课程。

就这样,我遇上了塔芙。她对我一生的影响甚至比《操作系统:设计与执行》一书对我的影响还要大。不过,我不会用这种影响的细节来让
你烦恼的。

当时,塔芙是我的班上十五个学生中的一个。她已经有了一个学龄前教育学的学位(不像在美国,芬兰要求学龄前儿童的教师要有大学学历),
她还想学习计算机,却不能取得像班上其他同学那样的进步。当然,最后她还是?上去了。

我们交往的过程是如此简单。那是在1993年秋天,互联网还没有流行开来。因此,有一天,我在这个班布置的家庭作业就是给我发一个电子邮
件(这要放在今天简直要笑死人),我对学生说:“今天的家庭作业:发给我一个电子邮件。”

其他人的邮件不是一些供记录的短语,就是一些没什么意思的笔记。

只有塔芙,她邀请我和她出去约会。

我娶了第一个通过电子方式走近我的女人。

塔芙是一个曾六次获得过芬兰空手道冠军的幼儿园教师。她的家庭很独特,尽管我认为还不如我们家那么离奇。她有许多朋友。从我们在一
起的第一刻起,她就像是最适合我的女人。经过了几个月的约会,我和我的猫兰迪就搬到她的公寓房间去了。

在搬进去后的最初两周,我甚至都没有动过一下我的计算机。

不算上我服兵役的时间,这两周是我自从我十岁那一年坐在外祖父膝盖上摆弄计算机以来,离开计算机最长的一段时间了。不必详细描述,
但这确实是除去服兵役之外我离开计算机最长的时间的记录了。不知为何,我并不为离开计算机而难受(再次声明,具体情节对你来说并不感
兴趣)。对于这一切,我曾经看见她有几次嘀咕过什么“母性的胜利”,而我爸爸和妹妹可能只是感到困惑罢了。

不久,塔芙去找了只猫来和兰迪做伴。

晚上我们都有很好的安排,或是就我们俩人在一起,或是找几个朋友一块儿玩。早上五点我们就起床了,她去上班,而我也好早点儿到学校
去,在没人打扰的情况下读一读与Linux有关的电子邮件。?   

阅读(2398) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~