林纳斯·托瓦兹:偶然的软件帝国皇帝
1991年8月25日,一位21岁的芬兰学生在comp.os.minix新闻组发布了一条信息,后来成为了计算机史上最离谱的预言:“我正在为386(486) AT兼容机开发一个(免费的)操作系统(只是业余爱好,不会像GNU那样庞大且专业)。”35年后,这个爱好支撑着世界上大多数超级计算机、每一台安卓手机以及大部分互联网服务器。托瓦兹后来又编写了第二个软件Git,接管了几乎所有专业程序员存储工作的方式。两次尝试,两次巨大成功,这绝非寻常的职业生涯。
统计学家的外孙
他于1969年12月28日出生在赫尔辛基的芬兰瑞典族家庭,家中有许多作家和学者:父母尼尔斯和安娜·托瓦兹都是记者,外祖父奥勒·托瓦兹是一位诗人,另一位外祖父莱奥·特恩奎斯特是赫尔辛基大学的统计学教授。他以莱纳斯·鲍林的名字命名,但他总是坚称功劳是一半一半——“一半是诺贝尔奖得主的化学家,另一半是拿着毯子的卡通人物”,即《花生漫画》中的莱纳斯。
大约在1981年,是统计学家特恩奎斯特让他接触到了Commodore VIC-20计算机。托瓦兹后来回忆说:“最终结果是,我变得非常熟悉这台机器。”他从BASIC语言开始,深入到底层直接操作6502芯片的机器码,随后购买了Sinclair QL并对其进行了大量重构,编写了自己的汇编器和一个名为《Cool Man》的吃豆人克隆游戏。
他于1988年进入赫尔辛基大学学习,1989年夏天中断学业,在芬兰海军尼兰旅服了11个月的兵役,担任少尉和炮兵观测员。他最终于1997年以最高等级(laudatur)获得了计算机科学硕士学位。
两次购买
1990年,他在一台运行ULTRIX系统的DEC MicroVAX上首次接触到了Unix,并购买了安德鲁·塔能鲍姆所著的《操作系统:设计与实现》,这是一本围绕MINIX(一种专门用于教学的小型Unix)编写的教材。1991年1月5日,他买了一台英特尔80386 PC兼容机。书本与机器之间存在着一个巨大的鸿沟:MINIX在设计上只是一个教学玩具,而且其许可证限制了它的用途。
他想把自己的内核命名为“Freax”——结合了自由(free)、怪胎(freak)和Unix的X。这个名字在上传到FTP服务器时没能保留下来:负责托管代码的大学管理员阿里·莱姆克将目录命名为“linux”,名字就这样定了下来。1.0版本于1994年3月14日发布。
许可证
决定Linux成功的因素并非技术本身。托瓦兹的第一个许可证禁止商业用途。1991年秋,在同学拉尔斯·维尔泽纽斯的安排下,他去赫尔辛基理工大学听了理查德·斯托曼的演讲。在斯托曼的影响和贡献者的压力下,他将内核改为使用GNU通用公共许可证第2版(GPLv2)。GPLv2要求任何分发修改版Linux的人都必须公开其更改,这使得每一位商业用户无论是否愿意都成为了贡献者。曾经互不往来的竞争对手现在共享着同一个内核。
从作者到裁判
托瓦兹于1997年2月至2003年6月在加州的Transmeta公司工作,随后加入开源开发实验室(OSDL)。2004年,为了靠近位于比弗顿的总部,他举家迁往俄勒冈州波特兰。OSDL与自由标准组织合并成为Linux基金会,现在基金会全职资助他从事内核开发。1999年,红帽公司和VA Linux出于感激给了他股票期权;当两家公司上市时,其纸面价值一度达到约2000万美元。
随着项目的发展,他实际编写代码的份额逐渐缩小。到2006年,内核中约有2%的代码出自他手;到2012年,他称自己的工作“主要是合并他人编写的代码,很少编程”。他保留的是对进入主线内核的代码的最终裁决权,以及通过Linux商标研究所掌握的商标权。
Git
2005年4月3日,由于使用私有软件BitKeeper进行内核开发遭到批评,托瓦兹编写了一个名为Git的替代版本控制系统。这是一个为了扫清主要项目障碍而开发的副项目。如今,它已成为几乎所有专业软件开发的基础,并支撑起了一个价值数十亿美元的产业。2011年末,他开始了第三个程序Subsurface,用于记录潜水数据——他在2000年代初开始潜水——并于2012年末将其交给德克·霍恩德尔维护。
脾气
托瓦兹在内核邮件列表中的言行变得和内核本身一样出名。2012年在阿尔托大学,他当着摄像机的面竖起中指,对英伟达说“去你的”,并称这是他打过交道的最烂的公司。“我想成为一个好人,少骂点人,”他曾说,“鼓励人们成长,而不是告诉他们是白痴。我很抱歉,我试过,但我做不到。”
这种情况至少在形式上于2018年9月16日结束了。当时内核的《冲突守则》被基于《贡献者公约》的《行为准则》所取代。在Linux 4.19-rc4的发布说明中,针对《纽约客》提出的尖锐问题,托瓦兹道歉了,称他的人身攻击是“不专业且不必要的”,并休假“去寻求帮助,学习如何理解他人的情绪并做出适当回应”。在4.19版本于2018年10月22日发布后,他回归了。
为什么林纳斯被称为天才
这一评价基于两个可分离的层面,其中只有一个在传统意义上属于智力范畴。首先是极大规模下的架构品味:有能力在大脑中清晰地构建一个数千万行代码的系统,以至于一眼就能看出哪个补丁会让系统变糟。2012年千禧技术奖授予他,表彰他创建了一个开源操作系统,如今它支撑着安卓手机、电视录像机和世界上的超级计算机。但内核在35年里历经数千名贡献者而存续,这是一种判断力的成就,而非编码成就。他编写了2%的代码,却塑造了整体架构。
第二个原因是Git,Git是更有力的证据。他在几周内为了解决自己的问题设计了它,他选择的数据模型——内容寻址对象、廉价的分支、默认分布式——证明比其他方案优越得多,以至于整个行业都转向了它。打造一个定义领域的系统可能是运气和时机,但在截止日期前,在不同的领域打造第二个系统,绝非偶然。
客观的反驳观点是:托瓦兹并没有发明任何新的计算机科学理论。Linux是对Unix(1969年的设计)的重新实现,他一直这么说;使其势不可挡的GPL许可证是斯托曼的成果,用户空间的工具则是GNU项目的成果。Linux的许多卓越之处并不光鲜——无情的实用主义,拒绝优雅的微内核理论转而选择实用方案,以及35年的坚持不懈。他是一位极其天才的工程师和编辑,而不是理论家,他自己也是最先承认这一点的人。
遗产
对于一个自称“不受欢迎”的人来说,获得的认可却层出不穷:2012年千禧技术奖、同年入选互联网名人堂、2014年IEEE计算机先驱奖、2000年洛夫莱斯奖章、2001年与斯托曼共享武田奖、《时代》周刊世纪最有影响力人物排行榜第17位,以及9793号小行星以他的名字命名。他于2010年成为美国公民。更深远的遗产在于一个有效的示范:一个由一名固执的维护者和一个许可证管理的全球共享资源,在工程能力上可以超越地球上任何一家大公司。


