读书笔记:Just For Fun - The Story of an Accidental Revolutionary

前些天偶然在图灵社区上看到这本书的出版计划,才猛然想起之前看过一两个章节,遂再次找到该书的中文电子版原谅我)(关于该电子版,我不清楚其来源。中国青年出版社出过该书的中文版,译名为《乐者为王》,不知该电子版即为该中文版,还是开源爱好者自己翻译。不过翻译质量不高,应该不是正式出版的),花了一天左右时间看完。

本书由Linus Torvalds和David Diamond合著,书写方式是Linus自述,穿插David Diamond的一些采访旁白,主要讲述Linus如何偶然地成为信息时代的一个革命者(The Story of an Accidental Revolutionary)。Linus在书中表达了对Linux这一伟大的开源项目的看法、对于人生意义、事物发展规律等问题的个人理解。以下是书中让我印象比较深刻的几处内容:

生活的意义

对于这一哲学性的问题,估计现在很多人见到都会发笑。本书以这个问题的讨论开始,并以这个问题结尾。Linus并没有直接地回答,而是举例说明人类社会的事物发展都必然经过三个阶段---生存、社会秩序、娱乐,那么生活的意义就是促成这一发展过程:

李纳斯:这个答案基本上简单而漂亮。 它不会给你的生活以任何意义,但可以告诉你将发生什么。 有三件事具有生命的意义。它们是你生活当中所有事情的动机,包括你所做的任何事情和一个生命体该做的所有事情。 第一是生存,第二是社会秩序,第三是娱乐。生活中所有的事情都是按这个顺序发展的。娱乐之后便一无所的。 因此从某种意义上说,这意味着生活的意义就是要达到第三个阶段。你一旦达到了第三个阶段,就算成功了。但首先要越过前两个阶段。

我认为这一理解是非常漂亮的。对于该问题(我为什么而活?),以前我也思考了很多,但最后的答案竟然是---活着本来就是没有意义的,一切意义都是人为地赋予。答案很悲观,Linus的答案本质上也是如此,只不过避免了直接面对该问题,以顺从事物发展规律作为生活的意义,对我有所启发,也让我多了些生活的“正能量”。

对于未来的预言,特别是计算机行业的发展,Linus同样并没有直接回答问题,同样地以此作为回答:人们并不是真的需要计算机(包含网络等等),而是需要基于计算机实现生存、社会秩序、娱乐三个目标,那么未来的一切、计算机行业的发展必然是更好地帮助人们实现这三个目标。

关于娱乐,有本书《娱乐至死》表达了对人类社会发展泛娱乐化、特别是教育趋向娱乐化的担忧。从另一角度佐证了Linus的看法,只不过一消极悲观,一积极乐观。

与Andrew S. Tanenbaum的争论

这一事件在Wikipedia上还有专门的词条-Tanenbaum-Torvalds debate。以前也关注过该事件,但把问题的重心放在了“微内核(Micro kernel)”和“宏内核(Monolithic kernel)”的优缺点上,看了该书之后才真正理解Linus的选择,并赞同他的看法。

这一争论的原文见邮件列表

对于Tanenbaum提出的问题,Linus做了如下回答:

安德鲁塔南鲍姆写道:

我在美国待了几个星期,所以没来得及对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的问题时,我是有点容易感情用事。

这一反驳非常精彩,并且有说服力!特别是对于“可移植性”问题的说明,值得每个程序员阅读。

知识产权

关于知识产权,通常有两种截然不同的观点:

有些人认为,专利和劳动保险形式的知识产权法规是自由世界的祸害,信息提供者(IP)法规并不仅仅是训导,实际上简直就是罪恶,应该尽快地加以铲除。 另一些人认为整个世界经济实际上是由知识产权所驱动的。这些人想通过他们的努力来加强IP法规的法律地位。

而Linus是这么认为:

对于许多人,包括对我自己而言,知识产权是有关人类的创造活动的规则,是关于那些使我们成为人类――而不是动物(当然,这本身是一件好事)的活动的规则。正是在这个意义上,“知识产权”这一名称本身就是一种侮辱。 它并不是如有形财产那样可以出售,它是创造性活动本身,这是人类所能够做到的最伟大的事情。

那种创造――不管它是以绘画、 音乐、 雕塑、 菱或是程序的方式出现,都应当受到尊重:创造者和他所创造的事物之间有着你所无法切断的密切联系。这就像母亲与孩子之间的联系,或者如同中国菜与味精之间的联系。 但是与此同时,它却又是世界上每一个人都应当分享的事物,因为它是属于人类共同的。

你拥有你所创造的东西就意味着你可以控制它的使用。 例如,你有权将这一艺术成果出售给其他人,而且在这个问题上,除了美国国税局以外,任何人都不会说什么。 但是,它其实并不仅仅是钱的问题,而是其他人在同样的问题上陷于困惑时帮他们解决了问题,省却了时间与精力。

许多要求加强知识产权立法的讨论是基于这样一种观点,即:给创造者和艺术家以更多的“保护”。而人们似乎不曾、或者说是从未意识到,这样一种强有力的权利导致一些人剥夺了另一些人的权利。

我热爱版权。我只是认为没必要将版权所有者的权利无限扩大。不要扩大到将消费者的权利都被剥夺殆尽。

很显然,只有极少的个人获得了专利。 另一方面,公司却获得了大量的专利。这些专利是他们用来对付其他公司的有力武器,可以威胁别人因专利侵权而要面临起诉。现今的专利系统基本上可以说是信息提供者这间的冷战,而不是他们之前的核战争。目前这种情况也不见得比过去的冷战好。

如果你想避免专利申请过程中的麻烦,你可以采用更为厉害的手段:商业秘密。商业秘密的优点在于,你不必担心什么商业秘密办公室或者类似的机构:你只需要将其封存起来,然后就不必顾虑那么多了。 过去人们一直是这样做的,实际上这也就是法规之所以被引入的原因所在。为了鼓励个人和公司公开其秘密,专利法允许在一定期限内保护市场――如果你公开你所拥有的秘密的话。一个针锋相对的基本形式是:你告诉大家你是如何做成某事的,那么我们就允许你拥有一定年限的特殊权利。

在专利产生之前,人们会充满猜忌地保守他们自己的技术优势,一直到将它们带入坟墓。很显然,那是不利于技术进步的,因为有前途的技术从来没有向其他人公开过。对于专利特权的承诺使得专利成为将秘密告诉大家的一种强有力的刺激,因为你再也不用担心你的竞争对手会发现你在做什么了。

然而,那是过去,现在情形不同了。 如今,即使是商业秘密也有了法律保护,尽管它们的理由世人无法理解。

很大程度上,在这场知识产权战争中寻求和平的解决之道正是公开源代码所努力的目标。

同一事物的另一面在于,的确,知识产权可能是不公平的,的确,知识产权法规在很大程度上将其目标定位于大公司而不是消费者权利,甚至也不是个人著作者或创新者。 然而其主体是积极有利的。知识产权集中于强有力的权利之上,与之相对应的事实是这一强有力的武器在市场上是如此的有效。 核武器是冷战时代的终极力量,同样的原因使得知识产权在技术战争时代里大受欢迎。

虽然大量的新措施使非法使用他人的知识产权变得更加困难,但同时也使得合法使用他人的知识产权变得更加困难。

原谅我喋喋不休地摘录了这么多内容,但其实书中这部分的内容还有很多精彩之处。

知识产权本来的目的是保护创造者的基本权利,以促进创新和分享,但知识产权如果走过了头(例如如今的专利战争)就会导致创新难以普及,他人无法合法合理地使用这些创新。开源运动则鼓励充分地开放分享创新,同时通过各种形式许可证来保护创造者的基本权利,这也就意味着开源运动的理念不仅只是影响计算机行业,也会对所有行业产生巨大的正面影响。

人类社会的发展是一个积累的过程,创新知识的分享越充分,积累也就越快,人类社会的发展也就越快。这也是我欣赏支持黑客精神和开源运动的缘由。


关于书名的翻译

这本书的书名,中国青年出版社的版本是译为《乐者为王》,而将要出版的人民邮电出版社的版本貌似要译为《越玩越大-我和Linux的故事》(正式出版前的暂译名?)。对于这两个译名我都不满意。原书取名《Just For Fun --- The Story of an Accidental Revolutionary》,我想应该是考虑了两点:

  1. Linus非常看重尊重自己的兴趣。其实Linux就是始于它的个人兴趣,也因此Linux到如今的发展及其造成的广泛影响也是当初Linus没有料想也不可能料想到的,人生往往如此,很多事情都是Accidental的;
  2. Linus认为任何人类社会事物发展的终极阶段就是---娱乐,那么生活的意义就是不断努力为达到这一终极阶段而贡献自己的一份力量。

对于第二点,该书的最后一节中作者做了明确的说明:

对了,就是这三件事:生存、你在社会中的位置、还有快乐。

这三件事就是我们正在做着的事情。 任何其他的事物,都是社会学家可能会称之为“突发行为”的东西,它们源于那些规则更为简单的行为模式。

然而事情不仅仅是“这就是激励人生活的事物”。如果情形是这样的话,那它们也就不会成为关于生命的理论了。令人感兴趣的,这三种激励因素有着内在的次序,而这一次序表明了生命的所在。事情并不仅仅是,我们人类被这三种事物所驱使――对于人类以外的其他生命行为也是如此。

这一次序是:生存;社会交往;寻找乐趣。

它也是进化的次序。这就是我们选择了“Just for Fun”作为本书名称的原因。 因为我们曾经所做的一切事情,似乎最终都是为了我们自己的乐趣。

译名《乐者为王》虽然简练,却不能明确地表达这两层意思。《越玩越大-我和Linux的故事》则跟闹着玩似的。

为什么不直译为《只为乐趣》呢?


关于本书,阮一峰也写过一篇阅读笔记,见《Linus Torvalds自传》摘录