您现在的位置是:网站首页>科普科普

《只是为了好玩》

铛铛铃2025-09-14科普1人已围观

简介

今天为你解读的这本书叫做《只是为了好玩》,副标题是《LINUX之父林纳斯自传》。

开发一款操作系统,是一项极其考验团队合作的大项目。20世纪60年代,为了推出一款代号为360的大型机和配套的操作系统,IBM豪赌50亿美元,简直比二战期间美国研制原子弹的经费还要多。大家熟悉的苹果Mac系统、微软windows系统,也是被两家硅谷巨头砸钱砸出来的。这样相比,LINUX简直是操作系统里面的传奇。它的开发者刚开始只有林纳斯·托瓦兹一个人,花费仅仅是一台分期付款买来的电脑,以及一本叫做《操作系统设计和实现》的教科书。

如今,LINUX是人类历史上最大的软件协作项目,它的应用范围几乎扩展到了整个网络系统。谷歌搜索、网络购物等全球数十亿人离不开的服务,都运行在LINUX之上。如果林纳斯像乔布斯一样推出一款LINUX电脑,或者像盖茨那样对软件收费的话,他可能早就名扬四海、富可敌国了。他为什么没有这么做?在这本自传里,林纳斯给出了他的答案:只是为了好玩。

这本书是林纳斯和一位叫大卫·戴蒙的职业撰稿人共同完成的。林纳斯以调侃的方式讲述了自己的成长经历,大卫则从撰稿人的角度记录了两人的交往。通过两个人不同角度的讲述,我们更能了解到林纳斯真实的一面。

下面我将分三个部分,为您讲述本书的主要内容:第一,林纳斯是个怎样的人;第二,林纳斯能把LINUX做成功的三个秘诀是什么;第三,林纳斯如何面对财富和名望。

首先,我们进入第一部分:林纳斯是个怎样的人。

与撰稿人大卫初次见面的时候,林纳斯已经是业界无人不知、无人不晓的LINUX之父。但是这个黑客圈里的超级英雄,一点也不像那些口若悬河的硅谷精英。他没有自我膨胀的感觉,也不爱自我吹嘘。用大卫的话说,林纳斯不像是一只被全球的镁光灯抓住了的驯鹿,他更像一个快乐的外星人。

这位快乐的外星人,19691228日出生在芬兰。他的祖父曾是报纸的主编,据说还出版了几本诗集。他的父亲是电视和广播记者,母亲在芬兰新闻社做翻译。他的妹妹长大后经营着一家新闻翻译社,他同父异母的弟弟则是一个摄影师。在这样的家庭氛围里,林纳斯却成为了一个热爱理科的书呆子。他喜欢数学,喜欢物理,喜欢研究事物运转的原理,社交能力却差得一塌糊涂,常常有女孩子找他帮忙辅导数学。林纳斯的爸爸总觉得,那些女生感兴趣的并非仅仅是补习数学,林纳斯从未弄明白父亲的言外之意。在他眼里,给女生辅导数学,跟照顾邻居家一只15磅重的猫相似,没什么好多想的。

11岁左右,林纳斯第一次见到了真正的计算机。那是他的外公,一位大学的统计学教授,买来当高级计算器用的。为了让林纳斯对数学感兴趣,外公常常将他写在纸上的程序给林纳斯看。林纳斯开始研究外公写在纸上的程序,学习怎样简化数学公式,然后帮忙把这些数字正确地敲进计算机。之后,林纳斯又开始阅读计算机操作手册,按照操作手册上的示范,林纳斯成功编写了一个让单词“hello”重复出现的程序。这个程序驱使着计算机显示出一行又一行的“hello”。这是很多人学编程的时候都做过的事情,但往往也是最后一件事。毕竟让“hello”显示100万次又怎么样呢?这样的电脑程序,当时看起来真是无用又愚蠢。但是林纳斯并没有就此止步,他试着改变程序的内容,把不断重复的“hello”变成“我妹妹是最棒的”。看着屏幕上一行又一行“我妹妹是最棒的”,林纳斯的妹妹感动了,林纳斯也一发不可收拾地爱上了计算机。

他找外公讨钱,买来了第一本电脑书,上面的文字都是英文,母语是瑞典语的林纳斯读起来并不容易。他还用省下来的零花钱买电脑杂志,拆开计算机看看里面都有什么,各个器件又是怎么工作的。计算机成了林纳斯亲密的生活伴侣,他的生活都围绕着这台普通又神奇的计算机。如果有什么问题没想清楚,林纳斯会废寝忘食地沉思,不放弃任何一个解决方案。他会眼睛发直,听不到周边的人在说什么,也不会回答别人的问题。如果有人打断了他和计算机的交流,林纳斯还会非常生气。

在接受大卫采访的时候,林纳斯坦白承认,关于父母什么时候离的婚,中学毕业典礼上做了什么事情,他记不清任何细节。但是要问起芯片68008的规格,他又是怎么绞尽脑汁才搞到一台计算机的,林纳斯能把每一个小细节都讲得很清楚。因为这样的投入和坚持,当林纳斯22岁开发出LINUX的时候,他其实早已跟计算机打了十几年交道了。不过林纳斯的母亲却认为,林纳斯在计算机方面没什么特殊的才华,驱动着林纳斯一步步前行,不是计算机,也不是名声和财富,而是诚实的好奇心、征服困难的愿望,以及用最好的办法去克服困难的性格特征。

接下来我们进入第二部分:林纳斯能把LINUX做成功的三个秘诀是什么?

第一,林纳斯抓住了机遇。当时操作系统里的领先者UNIXBSD都陷入了无休止的官司,这些强有力竞争对手的停滞,给LINUX的开发和成熟留下了一个机会。这是个说来话长的故事,我们先来看一个最基本的问题:什么是操作系统?操作系统其实就是一个程序,但是与电脑桌面上等待调用的用户程序不同,操作系统是掌控计算机上所有事情的大管家,启动计算机后最先就位的总指挥。计算机内所有的硬件和软件,无论是CPU、内存、外存、输入输出设备,还是各款用户程序,都得听操作系统的调遣。举个例子,无论你是想打开网页,还是想播放音乐、存取文件,所有相关的操作,都必须得到操作系统的许可。对一个程序员来说,如果他真的想知道计算机是怎么运转的,他就得学习操作系统。而对一个顶级程序员来说,创造一个操作系统是最有趣的挑战。

20世纪60年代初,林纳斯还没有出生的时候,当时的操作系统是相对比较初级的多道批处理系统和分时系统。多道批处理系统是为了保证CPU和输入输出设备可以同时工作,没有闲置的计算机硬件。分时系统是为了保证程序员排队提交的程序都能公平地得到CPU的服务时间。在这种条件下,贝尔实验室的两位程序员丹尼斯·里奇和肯·汤普森迫切地想要改善他们的编程环境。他们理想的编程环境是人机互动,用户输入命令,计算机实时地做出反应。而想要做到这一点,他们需要开发一个新的操作系统。编程高手汤普森找来了一台型号为PDP-7的小型机,这个没人用的小型机什么软件都没有,更别说给他们一个编程环境,让他们开发操作系统了。汤普森和里奇只好从如何存储数据开始动手,最终编写出了UNIX的第一个版本。随后经过89年的不断改进,UNIX不但实现了汤普森和里奇的最初设想,还可以在不同型号的计算机上运行。它设计简洁、功能强大,已然是操作系统里的超级明星。

贝尔实验室的老东家、美国电话电报公司因为反托拉斯法,也就是反垄断法的限制,无法从事计算机销售有关的研发,所以他们对UNIX的商业化运作并不是很在意。但是越来越多的大学及研究机构开始对UNIX感兴趣,其中的代表是加州大学伯克利分校。他们将UNIX V6和其他一些软件捆绑在一起,最终开发出了UNIX的衍生系统——伯克利软件套装,英文简称BSD。随着BSD在因特网上的免费分发和流传,BSD又进一步分裂成不同特性的版本,比如更适合移植的NetBSD,安全性更好的OpenBSD。这些版本都在使用UNIX的群体中引起广泛的注意。美国电话电报公司终于发现了UNIX的重要性,他们在1983年发布了UNIX的最新版本,要求大家付费才能使用,并且不得传播源代码,不得随意修改。

1984年,根据反托拉斯法,美国电话电报公司被拆成了八个公司,但是也被正式允许进入计算机行业。之后他们将一家销售BSD付费版本的公司告上了法庭,随后也将加州大学伯克利分校牵扯了进来。这场看上去无休止的诉讼,使得BSD的所有开发活动被迫停止,使用BSD的用户也开始人心惶惶,担心受到美国电话电报公司的追究。操作系统的领先者们陷入了停顿,客观上给下一代的崛起者提供了黄金时期。不过这个机遇公平地提供给了所有人,为什么林纳斯能抓住呢?这就是我们即将要讲述的林纳斯能把LINUX做成功的第二个秘诀:他把挑战当乐趣,并且行动力超强。

林纳斯大二的时候,学校开了一门叫做C语言和UNIX的课程。在课程开始前,他就读完了719页的教科书《操作系统设计和实现》,而正是这本教科书,彻底地让林纳斯对操作系统着了迷。这本教科书的作者安德鲁·塔南鲍姆在书中主要介绍了自己开发的一款叫做MINIX的操作系统。MINIX脱始于UNIX,但是作者没有使用UNIX官方版本的任何源代码,也没想做一个可以代替UNIX的操作系统。他将MINIX定位为一款帮助学生学习UNIX的教学软件,为此MINIX不像UNIX那样提供了较多的应用功能,也没有考虑到学生可能想用MINIX做更多的事情。

通过MINIX,林纳斯领略了UNIX的强大,并且迅速掌握了UNIX的精华,那就是简洁。UNIX崇尚小就是美,每个小程序只完成一个功能,但是将每一个功能完善的小程序连接起来,他们就可以完成大量复杂的任务。举个例子来说,我们可能会时不时地呼叫操作系统,请求操作系统帮我们做各种各样的事情,用专业术语来讲,这叫系统调用。一个操作系统可能有数不清的系统调用,但是UNIX有六个基本系统调用,比如大家熟知的打开、关闭以及读和写等。这六个基本调用,就足以支持用户完成大部分任务。感受到UNIX的精妙后,林纳斯恨不得赶快用上UNIX,但是当时他能买得起的唯一版本,就是UNIX的小型版本MINIX。他交了钱、订了货,等了一个多月,才终于拿到了装有MINIX16张软盘。

但是很快,林纳斯发现了MINIX的一些局限。比如每当他想要通过电话线连接学校的电脑,蹭一下学校网络的时候,MINIX就会非常不给力。林纳斯准备自己写一个程序,来实现这个功能。这个挑战推动着林纳斯开始进一步自学:电脑的CPU是怎样工作的?CPU要如何读取从键盘输入的信息?怎么做测试才能保证软件正常运转?一个月左右的时间,林纳斯克服了这个挑战,在家躺着就能舒舒服服地接入学校的电脑,随心所欲地上网读新闻。

很快又有新的问题出现了,林纳斯不仅想要读新闻、收电子邮件,他还想下载和上传东西,这就意味着,他还需要写一个磁盘驱动程序,保证存储设备磁盘正常工作。此外,它还需要再配备一个文件系统驱动,将下载的内容保存成文件,方便存储在磁盘里等待读取。这听上去很简单,背后又是数不清的工作和麻烦,林纳斯选择了继续干下去。此时,林纳斯的生活只剩下了三件事,那就是编程、吃饼干、草草洗澡,其中编程占据了绝大部分时间。

随着工作越做越多,林纳斯发现,这个自成体系的项目正朝着操作系统迈进。林纳斯随之转变了看法,开始把自己正在做的项目当做一个操作系统,并且下定决心要取代MINIX。林纳斯开始上网寻求帮助,想知道一个操作系统应该具备哪些功能,又有多少系统调用需要实现。最后,林纳斯找到了一个UNIX操作手册,热心的网友也寄来了几卷厚厚的资料。这些参考资料只介绍了系统调用的主要功能、需要完成的步骤以及最终的结果,最关键的实现方法反而省略了。这并没有难倒林纳斯,他把参考资料中的系统调用一个一个挑出来,然后为每一个系统调用编写了程序。

1991917日,林纳斯推出了LINUX的第一个版本——LINUX 0.01版,并将它发布在了网上,让别人免费使用和下载。看上去这是胜利的曙光,实际上刚开发出来的LINUX 0.01并不是很有用。比如如果储存太多的东西,或仅仅是因为不小心,LINUX就会马上崩溃。即使你小心翼翼不让LINUX储存太多东西,但是运行时间稍长一点,LINUX也会崩溃。用林纳斯的原话说,当时的LINUX运行起来像一个有点残疾的UNIX。那么这个有点残疾的UNIX又是怎么一飞冲天,成为操作系统里的明星呢?这就是我们要讲的林纳斯把LINUX做成功的第三个秘诀:开放的技术观。

一开始下载LINUX、对LINUX感兴趣的人并不多,但是他们给林纳斯的反应无一例外都是积极的、肯定的。其中有位用户还给林纳斯写来了邮件,洋洋洒洒地描绘了LINUX的好处,接着反应说,LINUX的磁盘驱动程序又娇气又脆弱,让他丢失了先前所有的文件,但他还是很支持林纳斯的操作系统。林纳斯很重视用户的反馈,开始解决软件运转过程中的小问题。10月初,他发布了LINUX 0.02版;11月他又发布了LINUX 0.03版。到这个时候,开发操作系统最根本的难题已大部分解决。如果没有后续两件事件的发生,林纳斯自己都觉得,自己可能会在1991年底之前金盆洗手,开始寻找新的挑战。

第一件事件,由于林纳斯的一个失误,他改造后的MINUX无法再继续使用了。林纳斯可以重新导入、重新改造MINIX,然后再像以前那样通过MINIX启动LINUX、修改LINUX,但是MINIX已经足够优秀,林纳斯决定不再使用MINIX,而是直接通过LINUX实现程序启动和编译。这重要的一步意味着LINUX完全脱离了MINIX,成为了一个可以自我包容、无所依赖的新系统。

第二件事件是199112月,德国的一个用户向林纳斯发来了求救邮件。他的计算机内存太小,带不动编程软件,也带不动至少需要一兆以上内存的编译器。这位德国用户询问林纳斯有没有解决办法。林纳斯自己用的是花巨资买来的高配置计算机,不会出现这个问题,但是他还是决定满足别人的需求。于是林纳斯开发了一个LINUX没有涉及到的新程序——page to disk。有了这个新程序,小内存也能带动大程序。这个林纳斯不需要的程序,解决了很多人的麻烦,LINUX的用户天天都在增加,LINUX也从一个更像是游戏的玩意儿,变成了一些人生活中不可或缺的一部分。

此时的林纳斯可以要求用户付费才能使用,实际上,不少用户已经主动给林纳斯写邮件,询问是否要给他寄30块钱什么的。对当时的穷学生林纳斯来说,这本是雪中送炭,他有大约5000美元的助学贷款,还要每个月为他的电脑支付50美元左右的分期付款。她的母亲经济压力也很大,为了供养两个孩子上学,每天都辛苦工作。林纳斯本可以坦然地接受用户的付款,但是与收到钱相比,林纳斯更喜欢收到用户寄来的明信片,更想知道都有哪儿的人在使用LINUX,他们有哪些反馈可以帮助自己改进工作。

除此之外,林纳斯认为自己最初能开发出LINUX,是因为自己站在了巨人的肩膀上,得益于其他科学家们和编程前辈的成果,他也想与别人分享自己的成果,让别人站在自己的肩膀上,开发出更好的技术。为此,林纳斯没有向大家收费,他定下了三个关于LINUX的规则:第一,人们可以免费使用该操作系统,但不得将它作为商品;第二,对LINUX所做的改动和改进,必须以源代码的形式公开;第三,如果不同意以上规定,则无权使用LINUX

在这样的规则下,林纳斯可以及时了解到别人都做了哪些改动,并将那些好的改动添加到自己的版本里。世界各地的黑客也加入了进来,使LINUX逐渐成为了这个世界上最大的协作项目。随着LINUX势如破竹的发展,越来越多的公司和个人意识到了LINUX的商业价值。有人给林纳斯写邮件,希望能和他一起合作;有人把LINUX下载到软盘上,并询问林纳斯是否能通过软盘出售LINUX。类似的事情越来越多,林纳斯最终意识到,无论是个人还是公司,只要他能尊重LINUX是一款开源软件,遵守开源软件特有的商业运行规则,他就可以使用LINUX的源代码开发新产品,或者提供软件服务。

随后,林纳斯签署了GNU通用公共许可协议,并将这个新的版权声明放进了LINUX 0.12。这一举动让更多的商家加入了LINUX的商业运作,并将LINUX和开源运动推向了一个新高峰。如今LINUX的身影无处不在,我们可以在超级市场里发现LINUX,在防抱死刹车系统或手表里发现LINUX,在一些极其重要的地方,比如美国政府的费米实验室或国家航天局,我们还是能发现LINUX。如果你现在看见一部安卓手机的话,其实这也相当于你看见了LINUX,因为安卓系统就是谷歌在LINUX基础上开发出的。这一切都要感谢林纳斯,而推动着林纳斯完成这一切的,是他把挑战当乐趣、不达目的誓不罢休的性格特征,以及他开放的技术观。

接下来我们来讲本书的第三个部分:林纳斯如何面对财富和名望。

回答这个问题之前,我们先来看一下LINUX的成功给林纳斯带来了很多金钱吗?答案:当然是没有的。林纳斯那台电脑的分期贷款,还是他的朋友在网上开了一个募捐,帮他还完的。但是随着LINUX系统的影响力日益增长,许多科技公司向林纳斯伸出了橄榄枝。伦敦的一位企业家开出了1000万美金的高价,请林纳斯担任董事。苹果的乔布斯也迫切的想要见他一面。在那封给林纳斯的邮件上,乔布斯写道:“我踏进这个星系后,要做的第一件事,就是去拜会那些耀眼的星辰。”随后的会面上,乔布斯讲述了苹果的故事、苹果的目标,并邀请林纳斯和他带领的那些顶级黑客们一起占领桌面操作系统的市场。林纳斯拒绝了乔布斯的邀请,一方面,他希望能继续不偏不倚地对待LINUX的所有合作方,他不想因为与苹果的合作影响LINUX的独立和开放。另一方面,林纳斯觉得苹果的操作系统只是一堆运转得不那么顺畅的废物,他对苹果的故事不感兴趣,他的目标也不是占领什么市场,虽然他的LINUX已经做到了。

林纳斯的拒绝是真实的,但是当林纳斯真的变成有钱人的时候,他的兴奋也是真实的。1999年,LINUX的两家合作伙伴红帽子和VALINUX先后上市,林纳斯因为拥有这两家的股票和期权,变成了千万富翁。他异常兴奋,他开始跟踪红帽子股票的价格,也会因为VALINUX股票的下降担心的突然从梦中醒来。

接下来第二个问题,LINUX的成功给林纳斯带来名望了吗?答案是肯定的。2004年,他被时代周刊评为世界最有影响力的人之一。为了吸引更多的人了解并加入公开源代码运动,自认为社交能力一塌糊涂的林纳斯开启了全球宣传活动。通过LINUX的成功,以及林纳斯一遍又一遍的演讲,越来越多的人开始意识到,以一种专制的、垄断的、吝啬的方式控制技术,会阻碍人们对于该技术的接受,最终也会对公司造成损害。通过开放源代码,让技术自由地流动,让任何人都可以改进它和利用它,才是推动技术进步的最好方法。至于大家期待的商业上的各种可能性、市场的成功以及滚滚而来的财富,那都是时间早晚的问题。

不过,林纳斯的名声也给他带来了一些困扰。1996年,林纳斯决定带着妻子、女儿移民美国,加入一家叫全美达的商业公司。LINUX社群抗议不断,认为这是一个精心策划的企图控制LINUX的国际阴谋。还有一些开源软件的狂热支持者开始抱怨开源运动最有名的代表、LINUX的创始人林纳斯竟然为硅谷的一家商业公司工作,而这家商业公司没有任何产品加入开源运动。类似的抱怨和指控还有很多,林纳斯认为,成为知名人士当然有不好的一面,你要面对他人的抗议、抱怨、误解和过高的期望,但是出名也是好玩的、有趣的,你会拥有不同的人生经历。

2003年,林纳斯离开了就职7年的商业公司,致力于LINUX和相关开源运动的发展。虽然他和家人们过上了衣食无忧的生活,但是他在本书中一再强调了他的生活哲学:你可以为事业而奋斗,然而最终生活的终极目标是快乐、好玩。

《只是为了好玩》就为你解读到这里。



"感谢喜欢,赞赏支持是对我的鼓励。"

微信收款码   微信收款码

很赞哦! (0)

上一篇: 《元宇宙》

下一篇: 《终身幼儿园》

发表评论

本栏推荐