《只是为了好玩》
7446字约25分钟
2025-11-14
书名:《只是为了好玩:Linux之父林纳斯自传(修订版)》
作者:林纳斯·托瓦兹,戴维·戴蒙德
延申阅读:
- Linus,一生只为寻找欢笑(池建强,2014)
- 《Linus Torvalds自传》摘录(阮一峰,2012)
序言 生活的意义(一) (繁衍、战争和 Linux 系统)
有三件事对生活是有意义的,它们是生活中所有事情的动机 —— 包括你做的所有事和任何生命体会做的事:第一是生存,第二是社会秩序,第三是娱乐。生活中所有事的动机都遵循着这个顺序,娱乐之后再无其他。所以从某种意义上说,生活的意义就是要达到第三个阶段。一旦达到第三个阶段,事情才算完。但是,你得先走过前两个阶段。
其实,没有人会在乎什么社会秩序,人们只关心自己在那个秩序里的地位。
对所有的事物来说,一部分动机可能是生存,一部分可能是社会秩序,剩下的可能就是娱乐。你看,技术就是这样。人们最初发明技术也是为了生存,后来就不仅仅是为了生存,而是为了更好地生存。人们为了从井里打水,发明了风车 …… 实际上,工业化大都是为了生存,或是为了生存得更好。就说生产汽车吧,工业化就意味着生产更快、更好的汽车。然后,技术走到了社会秩序阶段,我们有了电话,又有了电视。早期的许多电视节目主要是为了给观众“洗脑”,电台也一样。那时候,很多国家都会投资电台,就是为了构建社会秩序。…… 然后它就超越了社会秩序的阶段。现如今,电视节目主要是为了娱乐。而且你看看现在这些移动电话,虽然基本上还处在社会秩序阶段,但它们正奔着娱乐阶段走呢。
本书写于2001年,在2025年回过头来看,移动电话(手机)确实彻头彻尾地成了一个娱乐工具。
你知道自己是这个社会的一员,知道社会是在朝着哪个方向走,那你就能推着它往前走。
第1章 一个书呆子的诞生
大鼻子的孩子
回想起来,其实别人根本不会那么在乎我的鼻子好看不好看,毕竟他们有自己的麻烦事要关心。
芬兰的严冬
赫尔辛基的孩子都在林子里和父母一起玩曲棍球、滑雪,我却在鼓捣计算机,琢磨它究竟是怎么运行的。
我的家族
“林纳斯,该吃饭了!”有时候妈妈叫我吃饭,我都不愿出来。这时,她就会跟她的记者朋友们说我是个很好养的小孩,把我和一台计算机关在一个小黑屋里,再时不时扔一点儿干意面进去就行了。
(戴维)你在硅谷遇上的人,身上大多有一份信徒般疯狂的激情。他们对自己的事业、“杀手级应用”或行业过于专注,而将与之无关的任何事情都不放在眼里。与他们交谈时,听到的除了自我吹嘘还是自我吹嘘。
中学时代
我还是宁愿坐在计算机前,只有这样我才感到无比快活。
长大成人
现在想起来,我当时真的很讨厌去拉普兰。不过去拉普兰行军恰恰属于这种情况:甭管过程多么折腾,只要一结束,那段时光立马就成了最美好的经历。
爱洗桑拿的国家
“每个人的外公都有一个味道嘛!像廉价的古龙水啦,波本威士忌啦,雪茄啦。他是什么味道?”
“这我就不知道了。我太专注在计算机上了,没注意到别的。”
第2章 一个操作系统的诞生
旧时的计算机
我的这个改良让这台机器用起来爽快多了,而且只有我知道,为了让机器这样高速运转,自己花费了多少心思。
一款游戏之所以出色,通常不是因为玩起来有多流畅,也不是因为界面有多好看,而是在于它到底有什么吸引你去玩,有什么值得你继续玩。这就好比拍电影,特效做得好是一回事,但你终究得有个故事情节啊。而我写的游戏从来就没有什么故事情节。游戏还需要有发展、有主题,而我写的游戏最多就是越玩速度越快。
游戏能一直引领技术的潮流,而且程序员最先写的程序通常也是游戏,这都是有原因的。其中一部分原因是:最聪明的程序员往往是那些躲在房间里玩的十五岁的孩子(十六年前我是这么认为的,现在我还是这样想的)。此外,还有一个原因:游戏总是能够促进硬件的发展。
上大学
没有项目可做,我也就没有了编程的激情。这种时候就该尝试去找一些事情来做,让自己兴奋起来。
坦白说,我对 Unix 的热情从来没有淡过。我希望你们也能对某些事情说出同样的话。
从 Unix 开始
在一个讨人厌的系统里,你想做任何事情,都需要一些特殊的接口。而 Unix 系统恰恰相反,它直接把搭建用的模块给你,这些模块足以用来执行任何任务。这就是所谓的“简洁”设计。
第一台 386 和终端仿真
有些东西表面上看起来可能没什么,但背后却包含了大量繁杂的工作。这就好像你把一段刚铺好的柏油公路指给别人看,指望这样就能让他明白你耗费了多少人力物力,这根本不可能。
编程的美妙
编程刚开始会令人觉得特别刺激,这个原因倒很好解释:因为你让计算机干什么,它就干什么,不仅没有毫厘偏差,而且永远服从、毫无怨言。
这本身就很有意思。
虽说一开始是计算机的盲从让你对编程入迷,但是单靠这一点,并不足以让你真正喜欢上编程。事实上,计算机的盲从很快就会让编程变得无趣。编程真正让人欲罢不能的魅力是:如果你想要让计算机干什么事,你必须先弄清楚,怎么样才能让它这么干。
在计算机的世界里,你就是创世者,对这个世界里发生的一切都有最终决定权。如果鼓捣得足够好,你就是这个世界的上帝。
我在其间获得的最大乐趣,就是发现了计算机和数学的异曲同工之妙:你可以创造出一个世界来,一个自主制定规则的新世界。在物理科学中,你会被客观存在的规律所约束,但是在数学和编程中,只要合乎逻辑,什么规则都行得通。
事实上,在你自己创造的体系里,想干什么都可以。但是,当这个体系渐渐充实起来,变得越来越复杂,你就得格外注意,别弄出一些自相矛盾的逻辑出来。这个美丽新世界要继续美下去,就容不得一点瑕疵。编程和数学一样,也是这么一回事。
你可以靠蛮干来解决问题,跟问题慢慢“磨”,直到它不再是问题为止,看谁磨得过谁。不过这是个愚蠢的办法。你也可以找到正确的方法来解决问题,这样问题就会立马消失。换一个角度看问题,你会突然灵光一闪:问题之所以成为问题,只是因为我原先看问题的方法不对!
我还是很难解释清楚常常闭关三天冥思苦想却徒劳无功,找不到一个漂亮的好方法来解决难题的编程之事到底有什么好令人着迷的。但是,一旦你找到了解决问题的那个漂亮方法,你就会知道,那种感觉是无与伦比的。
Linux 的诞生
我启动操作系统并运行 shell 程序,接着就能收到一些类似于“512 号系统调用没有执行”的反馈。我日夜盯着系统调用的反馈,试着去辨别哪一条调用出了错。比起机械地参考书里的系统调用列表,再一一在计算机上实现,这个过程可好玩多了 —— 你能亲眼看见每一条调用的实现情况。
每年的四月到八月,绝对是芬兰一年之中最美妙的时光。大家要么驾船在群岛间游玩,要么在海滩上晒日光浴,要么在避暑别墅里蒸桑拿。而我却没日没夜地工作到不辨日期。那些厚重的黑色窗帘不分昼夜地把阳光和整个世界挡在窗外。
Linux 能换来金钱吗?
不妨设身处地想一下,如果你把整整六个月的心血倾注到一个系统上,肯定希望它能有用处,也想从中收获点什么,但你肯定不想别人拿你的成果白白地占便宜吧。我希望人们能够看到和使用这个系统,并且能无拘无束地修改和完善它,但我同时也想要确保自己能够及时掌握他们所做的任何改动。
Minix 与 Linux 之争
如果你把一个复杂问题一分为二,然后就以为两个“半问题”的复杂程度都只有原先的一半了,那你就忽略了一个事实:这两个“半问题”之间的联系你还没考虑呢!于是问题又复杂起来。微内核原理是要把内核分割为五十个独立模块,每个模块承担五十分之一的复杂性。但这些人都忽略了这个事实:各独立模块之间的联系比原来的系统要复杂得多,更何况,每个模块也并不简单。 以上,就是我反驳微内核理念最重要的理由。他们想要实现系统简化,却搞错了方法。
在那些日子里,林纳斯唯一有规律的社交活动就是每周的频谱俱乐部聚会,在聚会上他会和一帮理科生同学交流。不过,这些社交活动给林纳斯带来的焦虑显然要比技术方面的心得多得多。
最后的冲刺
这就是我生活的全部了:除了吃就是睡,勉强读了大学,编写程序,阅读电邮,没别的了。我或多或少也知道,身边的朋友更多的都是在忙着谈恋爱,不过没关系,我并不在意那些。
朵芙
信任让人们愿意做出妥协。如果人们信任某人,他们就会更容易接纳这个人的看法。
我很早就认识到,作为领导者,最好、最有效的做事方法,并不是让下属去完成领导吩咐的工作,而是让他们做真正想做的工作。好的领导者在自己出错时能及时自知,并且懂得如何及时补救。此外,他们还会听取他人意见,把决策权交给他人。
那是 1993 年秋,互联网还没普及。比如有一天我布置的家庭作业,只是让同学们给我发电子邮件。这种作业放在今天听起来就很荒谬了。 其他学生发来的电子邮件都是些简单的文字信息,或者一些没什么意思的课堂笔记。 而朵芙呢,却邀我约会。 朵芙是第一个通过互联网接近我的女人,而我干脆把她娶回了家。
第3章 舞会之王
接受全美达的邀请
我在邪恶贪婪的商业环境中是否还会坚守 Linux 系统的开源理念,以及在给小孩换尿布时如何兼顾 Linux 系统?当时,人们是这样看 Linux 系统的:只有在单纯的大学生手里开发,Linux 才能成为现在这样的情况,这些并非诸事安顿的成年人所能做到的。我想,我能理解他们为什么对我“长大”的事情那么紧张了。
在全美达,Linux 不是主要项目,这恰恰就是我想要的。我得以继续 Linux 的开发工作,同时又不必为了迎合公司对 Linux 系统的目标需求,在技术上做出让步。我可以继续将开发 Linux 系统当作一项业余爱好,除了对技术的考虑,没有其他的东西可以左右我的决定。
如果你多花一点儿时间睡觉,比如说,睡足十个小时,你可能会损失一些工作时间,但是一旦睡足了觉,那么在醒着的几个小时里,思维就会一直保持敏捷,大脑的状态就会像六缸发动机火力全开那样 —— 或者就四缸吧,都差不多。
欢迎来到硅谷
我和史蒂夫的世界观存在根本分歧。史蒂夫就是史蒂夫,跟媒体描述的没什么两样。他只对自己的目标感兴趣,尤其市场这一块,他极为看重。而我只对技术感兴趣,所以他的目标和言论打动不了我。他一直在强调,要是我想进入桌面操作系统的市场,就应该与苹果联手。但我心想:我不在乎啊!为什么我就应该对苹果的事情感兴趣?我就是不感兴趣,我就是觉得苹果没意思。
我相信,对于人类来说,最可悲的事莫过于一代代走下去,到头来却发现所走的方向与进化的主流方向背道而驰。
没人能阻止科技的发展,而且,人类在对世界运转及人类进化的认知方面所取得的一切进展,同样也无法阻止。这一切发展得实在迅猛,有些人会觉得很可怕,比如比尔 · 乔伊。但我认为,这是自然进化的必然性。
一夜功成名就
有些企业的领导要么在行业刊物上看到 Linux 的风头正盛,要么听人提起过,就对它产生了好奇。于是,这些公司里早已对 Linux 系统非常熟悉的技术人员开始受到公司领导的重视。他们会问这些技术人员,Linux 这玩意儿到底有什么好,值得大家这么大惊小怪的。一旦明白了它的优势所在,他们就毫不犹豫地让自家的服务器都用上 Linux 系统。 世界各地都有公司的 IT 部门在上演这种变革,但它大多还是发生在美国。做出这种决定的公司很多,但很少是因为 Linux 免费,因为 Linux 软件本身只是这项投资的一小部分,接踵而来的服务和维护才是最花钱的。
Linux 系统呈蔓延之势
很多人把 Linux 系统的崛起简单地看作 Linux 和微软之间的战争,其实完全不是那么回事,事实要比这个更加广泛、深远。Linux 现象是一种有组织的传播技术、知识和财富的方式,同时让参与的人非常过瘾,这种娱乐是商业世界里闻所未闻的。
要是完全没有商业价值,Linux 怎么能流向新的市场呢?怎么能为改革创新创造机遇呢?怎么能流到那些受够了当下糟糕的技术、想要有一个(免费的)替代品的人的手中呢?除了利用企业的资助,开源运动要继续下去还有什么更实用的方法吗?还有,要完成那些没那么有意思的、沉闷的系统维护和支持工作,难道还有比把它们放在公司里做更好的方式吗? 开放源代码,就是要让人人都有的玩。如果商业圈子也遵守游戏规则,那么他们给这个社会的技术进步添了那么多砖瓦,凭什么反而要被排除在外呢?开源运动没有什么其他大能耐,唯一能干的事就是改善商业公司创造出来的技术,说不定还能让那些公司不那么贪婪。
在我看来,Linux 走上商业化道路,只是给了我们更多选择而已。比如那些搞技术的人,原本他们还担心没法养家糊口呢,这下就有选择的余地了。你想啊,你可以选择一如既往地做一个理想主义者,也可以选择成为新的商业化队伍的一员。你不会有任何损失,只是敞开了门让更多人加入,而你还多了一个选择。在此之前,除了保持单纯,很明显是没有任何其他门路可选的。
我从来不认为自己身处理想主义者的阵营。当然,我倡导开源的确是把它当作让世界更美好的法宝,但更重要的是,我把它当作一件好玩的事。这可不是什么理想主义。
为了使自己阐述的观点更有说服力,你不得不把其他所有的观点都排除在外,这样做就意味着你必须变得不可理喻。
接下来让他们大吃一惊的,就是 Linux 的经营管理方式。通常一个三十人规模的公司就能够混乱到像谷仓一样,所以他们很难理解为什么这个人类历史上最大型的合作项目竟然能够实现这么高效的管理。
我对这个有几十万人参与的大规模项目的管理方式,和当初在卧室里编程时没有什么两样:相比起主动委派别人来开发维护,我更愿意等着别人上门自愿认领任务。事情就是这样开始的,我把自己不感兴趣的都分给别人去做,比如说那个用户级线程的代码。人们自告奋勇地负责起辅助系统的维护工作。而辅助系统发生的每件事,都通过维护者反映到了我这里。
不过,颇为耐人寻味的是,虽然我对 Linux 项目的管理风格赢得了媒体的赞许,但我在全美达时承担过的短暂的管理工作,却无可推诿地失败了。当时他们认定我应该带领一个开发者团队,结果我搞砸了。要是有谁冒险进入过我那个垃圾堆似的办公室,他就会知道,我在这方面毫无头绪。每周的进度例会、工作回顾、工作规划,我都无法驾驭。
Unix 的问题在于,互相竞争的经销商浪费了数年的时间去开发类似的功能,仅仅是因为他们没法拿到相同的代码基资源。独立开发相类似的功能不仅拖了 Unix 几年时间,还导致了 Unix 内部的明争暗斗。
道德不应制度化
他推动开源运动的初衷与其说是反商业化,倒不如说是反排斥。对他来说,开源理念不仅意味着对开发程序怀有热诚的人不被冷落,而且意味着即使有人将项目商业化,这些热心人也能够继续软件的开发工作。 GPL 之所以伟大,是因为在它的关照下,人人都有得玩。
我们不应该把自己的道德观念强加给别人,更不应该将道德观念制度化。我尊重个人的选择,我认为面对道德层面的问题时,我有权做出自己的决定。 我想把决定权掌握在自己手里。对于他人强加的一些不必要的规则,我是极力反对的。我始终这么认为:只要不违法,也不碍着别人,你尽可以在家这个私人空间里做任何你想要做的事。如果有什么规定禁止这种做法,那就是这个规定十分差劲。
总之,当别人太把你当回事的时候,你得多加小心,那可是温柔陷阱啊。
还会再干
如果事先就知道要做多少基础建设工作才能让 Linux 像现在一样成功的话,我肯定早就没了斗志。要是事先知道了,那就意味着,不管我有多优秀,都远远不够。我当然得非常优秀才行,但我还得在每一个步骤上都选对方向,且每一件事的结果都必须是对的。
如果我一开始就知道有多少活儿要干,而且这活儿竟然多到十年以后我还在干 —— 这十年我几乎在全职专注地干这个,我可能根本就不会起头做这个项目。
但是倘若如此,我也就见不到这当中好的一面了。比如说会有多少人支持我,以及会有多少人和我齐心协力一起搞这个项目。所以,我改变主意了:要是事先知道这好的一面,我大概还是会起这个头的。
第4章 开源的意义
知识产权
版权是一种法律武器,我们的开源运动更愿意把它当作邀请函,邀请其他人加入项目一起来玩,而不愿把它当作武器来对付其他人。
消灭控制欲
如果试图通过控制某种资源来牟利,总有一天你会被市场淘汰。
音乐产业试图控制相继出现的每一项技术,这反而激发了人们创造新出路的热情。他们究竟什么时候才能想明白这一点啊?
换句话说,开源产品不能成为垄断专制的工具,因为它们是免费的。要是有人想要用 Linux 捆绑硬件,自然就会有人去反捆绑,并以人们真正想要的方式来出售。
这种试图用技术来控制人们的手段都是白费力。到头来,不仅害了企业,相关技术还因此得不到普及。
科技的过山车之旅
在商业世界里,没有什么营生是可以永存的,事情就是这样。
技术是我们创造的东西,不管是商业还是技术,都不会改变人们的基本需求和向往。和其他事物一样,技术也会被进化影响 —— 速度缓慢但不可阻挡的进化,将引领技术从单纯为了生存,走到一个基于沟通交流的社会,最终进入娱乐社会
说到技术的未来,真正要紧的是人们到底想要什么。要是把这个琢磨出来了,你就会知道,唯一的问题就是你该如何快速量产这个玩意儿,并且低价出售,让人们不必牺牲他们想要的其他东西就能轻松得到它。
真正无往不利的卖点是感知,而不是现实。邮轮卖的就是人们对自由的感知,对海洋的享受,对美食佳肴和爱之舟的浪漫情怀的向往。若是感觉像鸟儿般自由,谁还会在乎客舱拥不拥挤啊!
如果十五年以后我们还在对操作系统高谈阔论,那一定是进化中出了什么问题。可能这话从一个靠写操作系统成名的人嘴里说出来有点奇怪,但事实是,从统计上来说,根本就没有人想要操作系统。 事实上,压根就没有人想要计算机。他们想要的只是一个神奇的小玩意儿,能用来上上网、写写期末论文、玩玩游戏、记记账之类的。虽然你确实需要一台计算机和一个操作系统才能做这些事情,但是大多数人永远不会认识到这一点。
卖点不是度假这一事实,而是人对自由的感知。
开放源代码的意义
开放源代码最初不过是软件开发者们共同的理念,他们认为计算机源代码应该免费开放和自由分享,并将 GPL 条款 —— 就是那个“反版权”许可,当作开源运动的强有力工具。开源模式如今已经成为顶尖技术持续发展的一种十分有效的方法。
有一百万双眼睛盯着,所有软件的 bug 都会无所遁形。
随着世界变得越来越小,生活和商业的节奏越来越快,科技和信息越来越普及,人们逐渐意识到那种关起门来想办法的方式已经过时了。
在生存已经或多或少得到保障的社会里,金钱不是最大的动机。众所周知,人们被热情驱使的时候,就能把工作做到最好。要是他们能享受工作的乐趣,更是如此。对软件工程师来说是如此,对剧作家、雕塑家和企业家来说也是如此。开源运动不仅为人们提供了一个在生活中释放热情的机会,还使他们获得乐趣。在开源环境中,软件工程师不再只能与公司里雇来的少数人一起工作,而是能够与世界上最优秀的程序员一起工作。他们必须使出浑身解数才能赢得同行的敬重。这难道不是一种高效的激励模式吗?
你不给技术设限,技术的应用范围就也不会给你设限。你只管软件的开源,让它能跑起来即可,人们自会按照需要做出决定,让你的软件成为他们工作的起点,让他们的产品和服务从你的软件平台上诞生。
名声与财富
人们对名人有太多的期望,事实上名人不可能满足人们的所有期望 —— 哪怕他们觉得至少应该试着去满足。
做 Linux 项目之所以这么有意思,一部分原因恰恰是它不是一成不变的。新问题总是源源不断地出现,不只是技术问题,也有关于在成功面前,Linux 的意义会如何改变的问题。要不是这样的话,生活就太无聊了。
别的不说,Linux 现在做到的,就是让人们意识到事情不一定非得按原来的方式做,意识到开放源代码意味着可以拿别人的成果来做开发。开源的理念一早就有了,而 Linux 项目所做的就是把开源理念变成公共意识。
生活的意义(二)
一旦你因为某样事物而出了名,人们就会对你寄予厚望,坚信你对困扰了人类几百万年,但又彼此没什么关联的各种知识能够产生一些深刻的洞察力。而且,他们还希望你对着一群全然陌生的观众分享你的真知灼见。 不,这种寄望并没有多大意义。我之所以搞 Linux 系统,仅仅因为我是个技术极客,而不是因为我擅长在公共场合露脸,更不是因为我擅长从哲学角度不着边际地思考问题。但好在人生中也没几件事是有很大意义的,这样一想,对于别人的厚望我也没什么好抱怨的。
科技唯一有意思的地方,就是你能用它来干些什么,因此它背后的驱动因素实际上就是人类真正的需求和兴趣。
生存,社会秩序(人在社会秩序中的位置),以及娱乐。就是这些动机驱使我们做我们正在做的事。
生存、社交、享乐,这就是它们显现和发生作用的顺序和方式。这也是我们选择“只是为了好玩”(Just for Fun)作为书名的原因。因为我们所做的一切,似乎到头来都是为了寻求乐趣
说了这么多,这些到底都意味着什么呢?其实也没什么。毕竟,我对“生活的意义”的这点看法并不能真正指引你去做你该做的事,它顶多能告诉你:“是的,你应该奋斗,但生活的最终目的是享受乐趣。”
