每个人桌面上一台电脑,这曾经是无数计算机先驱的梦想,这个梦想很早就实现了,在1997年,乔老师和比老师就说过,「比尔,我们共同控制了100%的桌面系统市场」,当然乔老师没说的是,比老师控制了97%,乔老师还不到3%。时至今日,乔老师走了,比老师颓了,移动终端把传统的 PC 市场冲击的七零八落。普通用户都知道了Windows、Android、OS X 、iOS、BlackBerry等等,但是,他们依然不了解的是另一款在计算机发展史上起到了革命性作用的操作系统:Linux!
每个人桌面上一台电脑,这曾经是无数计算机先驱的梦想,这个梦想很早就实现了,在1997年,乔老师和比老师就说过,「比尔,我们共同控制了100%的桌面系统市场」,当然乔老师没说的是,比老师控制了97%,乔老师还不到3%。时至今日,乔老师走了,比老师颓了,移动终端把传统的 PC 市场冲击的七零八落。普通用户都知道了Windows、Android、OS X 、iOS、BlackBerry等等,但是,他们依然不了解的是另一款在计算机发展史上起到了革命性作用的操作系统:Linux! 当大家使用 Google 搜索时,使用 Kindle 阅读时,使用淘宝购物时,使用 QQ 聊天时,很多人并不知道,支撑这些软件和服务的,是后台成千上万台 Linux 服务器,它们时时刻刻都在进行着忙碌的运算和数据处理,确保数据信息在人、软件和硬件之间安全的流淌。可以这么说,世界上大部分软件和服务都运行在 Linux 操作系统之上,神马云计算、大数据、移动互联网,说起来风起云涌,其实没有 Linux 全得趴窝(微软除外)。 但是,Linux 和它的缔造者 Linus Torvalds 一样低调,这么牛逼的一个物件,居然只有程序员知道它的传奇,这不科学!所以我准备在这个系列中写写Linus Torvalds:他是 Linux 和 Git 的缔造者,他是一个传统的黑客,与沃兹一样,少年成名,崇尚自由,一生只为寻找欢笑,他,是一个真正的程序员。
注:为了防止大家把 Linux 和 Linus 搞混,我在后面的文章中统一采用 Linus 的中文译名:李纳斯。 李纳斯在2001年出过一本自传,叫做《Just for Fun》,是他和大卫·戴蒙合著的,当年我有幸读到这本书,了解了很多李纳斯的生平轶事,那时我就琢磨,这个天才已经达到人生的巅峰了吧,结果这位兄台并未停止前进的步伐,转手就在2005年搞出了分布式版本控制系统 Git,目前几乎全世界的程序员都在用 Git管理他们的代码,著名网站 Github 就是基于 Git 构建的。无论是 Linux 还是 Git,得一即可得天下,结果这哥们以一己之力发起了俩项目,而且都是主力开发人员。最终的结果是,成全了程序员,陶冶了用户,造福了一方百姓。正如李纳斯自己所言:「My name is Linus, and I am your God.」
Linus(七)——关于财富 李纳斯对待财富的态度就是「视金钱为粪土」,是真的粪土。 那种默然的态度让人感觉非常可怕。当一个人随便动动手挂挂名签个字就能获取上千万美金的时候,他依然和自己的妻女一家人挤在圣克拉拉一栋两层楼的公寓套房里,过着一个普通程序员的生活,同时不断改进已经遍布全球的 Linux,这是什么精神?这是毫不利己专门利人的国际主义战士的精神。 写到这我不禁想起了绿茵场上的冰王子博格坎普,当他接到几十米外的长传,用标志性的慢速停球过掉扑上来的后卫,轻扣,过掉另一个后卫,颠球,闪过最后的防守,面对守门员的时候不是大力抽射和仰天长啸,而是把球搓出一道完美的抛物线,球越过门将,缓缓落入网窝,然后博格坎普,低着头慢慢的走开,留给对手的是优雅与实用并世无双的技艺,和令人绝望的背影! 默然的感觉,懂了撒? 很多程序员创业成功或跟随创业成功之后,自以为功成身退,最早扔掉的就是代码和编译器,然后购豪宅当天使满世界贴旅游照片,你们感受一下,这个境界是完全不可同日而语的。(请勿对号入座,如有误伤,必是友军所为) 事实上李纳斯在拿到第一笔真正的财富之前,一直处于日子紧巴巴的状态。当时另两位带头大哥比尔·盖茨和史蒂夫·乔布斯早已名满天下家私万贯,同时有大量的技术人员、商人和公司通过 Linux 及其相关技术获取了巨额财富,对此,李纳斯的态度是:「和我有毛关系」,他似乎对一大群才气不高的编程人员能够享受到大笔的财富并不在意。这种情况一直持续到所有的有识之士都坐不住了:李纳斯,你再也不能这样下去了! 伦敦的一位企业家希望李纳斯在他羽翼未丰的 Linux 公司做个董事会成员,报酬是一千万美金。李纳斯说,不用。企业家惊呆了,当他喃喃自语「卧槽你特么知道一千万美金是啥概念吗」的时候,李纳斯已默默走远。 Red Hat 公司为了感谢李纳斯的卓越贡献,为他提供了一些期权,李纳斯的回复同样是,不用了,我不会给你独家的授权许可的。Red Hat 的人差点疯掉:「李爷期权您就收着吧,我们什么都不要行了吧」「唔这样啊,那就放这吧」,这就是李纳斯! 正是这笔期权让李纳斯收获了第一笔巨额财富,因为 Red Hat 1999年8月11日在纳斯达克上市了。李纳斯先是意识到自己从身无分文突然变成了拥有五十万美元的土豪,然后是一百万,五百万,李纳斯终于变得亢奋起来,原来期权也是钱啊!终于不用再为生计发愁了,对着这个事情,李纳斯的定义是:我真是最幸运的家伙! 事实上李纳斯从来没有想过 Linux 能够获得如此巨大的成功。他只是为了自己方便写了一个操作系统内核并想借此获得一点回报而已,「假如我事先知道了要做到如 Linux 这般成功需要做多少基础和琐碎工作的话,那我肯定会相当沮丧的。这意味着你首先要非常优秀,并且你所做的大部分决定都导致了正确的结果。」 任何理智的人在登山之前凝望着高耸入云的山峰和崎岖艰险的山路时,都会陷于沮丧之中。解决办法就是先迈出第一步再说,然后,但行好事,莫问前程。 Linux 不仅给李纳斯带来了名声和财富,同时给大众带去了巨大的好处。年轻一代中最聪明的程序员和黑客都在使用 Linux 的产品,正是开放的 Linux 给这些天才的程序员带去了巨大的创作热情和喜悦,他们在 Linux 平台上完成了一个又一个杰出的作品,这些技术形成的生产力,对互联网的发展起到了巨大的推动作用,直到今天。
Linus(八)——巨星碰撞 在 Linux 出现之前,桌面操作系统的市场基本上是由比老师和乔老师控制的,虽然乔老师控制的少了一些。Linux 出现之后,桌面操作系统的格局并没有太大变化,但是服务器端市场的变化却是翻天覆地的。原本比尔希望通过 Windows NT 和 Server 系列在服务器领域复制桌面操作系统的辉煌,从而千秋万载,一统江湖。然而,世界的发展永远是多元的,没人能通过一己之力改变历史发展的多维性,比尔·盖茨也不行。于是 Linux 出现了,并以星星之火可以燎原之势一举拿下服务器操作系统的半壁江山。 一方是商业公司和封闭的策略,另一方是自由软件和开放的协议,这场战争一开始支持率就是一边倒的,李纳斯就像对抗风车的堂·吉诃德,但是他自己不仅没有遍体鳞伤,还在没怎么亲自出场的情况下把微软这个软件风车搞得狼狈不堪,这种情况发生在现实生活中绝对是老百姓喜闻乐见的,李纳斯成了自由软件世界里的英雄和领袖,但也就此与微软结下了世仇,比尔和李纳斯许下了永世不相见的誓言。 有些加盟微软的朋友告诉李纳斯,他们曾见到他的头像被钉在了微软公司的飞镖靶心上。李纳斯对此的评价是:一定是我的大鼻子太好瞄准了。 李纳斯与另一位业界巨头苹果之间就没这么激进了,毕竟 Linux 和 OS X 师出同门,都是从老前辈 Unix 那儿毕业的,坐在一起还能唠唠家常,事实上李纳斯和乔布斯确实有过一次历史性的会面。 李纳斯来到硅谷不久,就收到了一封来自乔老师秘书的邮件,邮件中写到:「听闻小李飞刀光临硅谷,蓬荜生辉,老乔不才,重回苹果,以期振昔日之雄风,如得小李相助,必将如猛虎加之羽翼而翱翔四海,天下可得。期待会面。」(当然是意译) 李纳斯看完之后不明白乔布斯要干什么,只是觉得很厉害的样子。毕竟李纳斯还坐在外公腿上拨弄电脑键盘的时候,苹果的沃兹已经纯手动打造出苹果的第一代个人电脑 Apple I 了。李纳斯决定去见一下儿时的偶像,并了解一下苹果的新操作系统。 两代科技巨星的会面被安排在苹果总部 Infinity Loop,乔布斯带着原 Next 公司技术总监 Avie Tevanian(Mach 之父)接见了李纳斯,双方进行了友好而亲切的会谈,然后会谈的结果和某国常规会谈一样,就是没有结果。 其时乔布斯十年放逐回归苹果,举手投足已是大宗师气势,他对李纳斯说,我大苹果虽然现在看起来有点颓,不过海盗精神永存,我们已经准备好重新起航了。目前个人电脑领域仍然只有两个玩家:微软和苹果。如果 Linux 和苹果能够珠联璧合,那一切将是最好的安排,所有的开源爱好者都能够用上优雅与极客并存的 MacLinux 了。然后 Mach 之父 Avie Tevanian 向李纳斯详细介绍了整合 Mach 和 Linux 内核作为 OS X 混合内核的计划,之后庞大的 OS X 体系将构建在 Mach 和 Linux 内核的基础之上。 同时乔老师表示,基于 Mach 和 Linux 的内核系统将采用开源的方式运作,这样全世界的开源爱好者都可以为 Mac 和 Linux 开发程序。 这几乎是一个完美的双赢方案,乔老师都被自己描绘的蓝图打动了,永远年轻,永远他妈的热泪盈眶!谁能拒绝苹果公司和乔布斯如此完美的邀请呢? 李纳斯能! 乔布斯认为自己的扭曲现实力场加上苹果巨大的市场潜力一定会让李纳斯怦然心动,没想到这个芬兰小子在计算机面前待久了,水米油盐不进,任凭乔布斯口吐莲花,我自巍然不动。首先李纳斯对 Mach 就不感冒,他认为 Mach 几乎犯下了所有的设计错误,它让系统变得复杂而效率低下;其次李纳斯觉得乔布斯可能没意识到,Linux 的潜在用户要比苹果系统多;第三李纳斯乐观的认为,虽然 Linux 的目标不是占领桌面操作系统,但是显然「我们很快就能做到这一点了」。所以李纳斯当时的反应是: 为什么我要关心这些?我为什么要对苹果公司的故事感兴趣?我不觉得苹果公司里有什么有趣的事情。我的目标也不是占领什么桌面操作系统的市场。(嗯,虽然 Linux 马上就要做到这点了,但这从来就不是我的目标) 现在看来,李纳斯当时对 Linux 在桌面操作系统的前景过于乐观了,虽然他天纵奇才桀骜不驯,但是也无法预测到 OS X 和 iOS 在十年后引领移动开发的浪潮。不过即使知道 OS X 未来的大发展,心高气傲的李纳斯也不会接受苹果的收编,因为 Linux 一直是独立和自由的软件图腾。 无论如何,这次非正式的会谈没有达成任何实质性的效果,但是对后来的 IT 格局产生了巨大的影响。苹果不再关注 Linux,而是转向了 BSD。2001年苹果任命 FreeBSD 的发起人之一,老牌 BSD 黑客 Jordan Hubbard 为 BSD 技术经理,后升为 Unix 技术总监,负责 OS X 操作系统底层核心 Darwin 的研发,最终,Mach 与 BSD 技术整合在一起,形成了混合内核。另外,苹果开始觉得开源项目也不是那么靠谱,后续他们先后研发并开源了优秀的编译器项目 LLVM 和 Clang,一举替换了整条 GCC 编译链,为 OS X 和 iOS 的性能优化和语言特性提供了巨大的帮助。这也算是苹果对那些牛叉哄哄的开源人士的回击:看,我们也可以做开源,而且比你们做的好。 Linux 则继续在开源、独立、自由的方式下一路狂奔,虽然在桌面操作系统领域的成就乏善可陈,但是在服务器端大放异彩,目前几乎整个互联网都是运行在 Linux 及其衍生产品之上的,可以说没有 Linux,互联网不可能得到如此迅猛的发展。 十年以后,移动互联网时代来临。OS X 上长出了 iOS,Linux 上则诞生了 Android,这两个移动开发领域的双子星都有一个老祖宗,那就是 Unix。一次话不投机的会谈让 OS X 和 Linux 分道扬镳,在十几年后的今天,它们又以一种不同的方式相见了,世界永远都是多元的,可能冥冥中自有天意吧。