迄今为止,Linux经过几十年的发展,已衍生出了许多发行版本。当前,Linux各个完整的发行版本,已经广泛应用于不同的应用环境。全世界数十亿的计算机、近15亿台的安卓设备都在使用,可以说是它驱动了网络。但谁能想到,Linux的总部是这样的:
作为Linux内核的最早作者,林纳斯·贝内迪克特·托瓦兹(Linus Benedict Torvalds)在工作时喜欢独自一人,享受安静:他的工作环境喜欢采用淡绿色的墙,因为这种颜色能够让人平静;工作的电脑性能可以不强,但必须没有任何声音等等。就是在这种独特的工作方式下,Linus创造了一个庞大的技术帝国。
不合群的人
从小开始,Linus就不擅长和人打交道。他喜欢电脑、数学、物理,但还没到出类拔萃的地步,正如他家人对他的评价,“不放弃”是他最突出的品质。
Linus曾在硅谷生活了七年之久,一直在一家公司工作。而硅谷有一个显著的特点就是人们会频繁地跳槽,Linus的情况也算是罕见。从某种程度来说,“不放弃”不是因为技术宅或聪明,而是因为固执。
在Linux系统发展的过程中,这种固执必然会引起冲突。与人相处的过程中,我们需要合群的人,需要能与人交流的人,需要温暖友好的人,但不是每个人都能做到。显然,Linus就是其中之一。Linus并不是一个合群的人,他不太理解他人的感受,经常会说话伤人。
他曾说过,“人和人是不一样的。我关注的是技术,有的人关注的是用户界面。举个例子,如果我被困在一个孤岛上,逃生的唯一办法是设计一个漂亮的用户界面,那我宁愿死在岛上。”
但Linux的开源过程,给了这位不合群的人与其他人合作的另一种方式:这些使用Linux的人可能相互喜欢,可能相互讨厌,甚至可能没办法保留不同的意见,但他们却可以在一起线上合作,为Linux做出自己的贡献。
务实的技术宅
“我并不是一个有远见的人,不会提前制定未来五年的计划。我非常乐意跟梦想家一起行走四方、仰望苍穹,但我更想要低头看路,填好眼前这个坑,不让自己掉进去。”
作为一名典型的技术宅,在他所热爱的编程上,Linus也有着自己的坚持。面对那些烂代码,Linus从来都是毫不犹豫地斥责,不留一丝情面。
什么是有品位的代码?Linus举过这样一个例子:
- 没有品味的代码 这种代码用了“if”,让整个过程更加繁琐,需要单独处理特殊情况。
- 有品味的代码
而这个代码则更简单、整洁,无需单独处理特殊情况。
Linus认为,“我们可以换个角度看问题:重写代码,排除特例,完美覆盖所有情况,这就是好的代码。细节非常重要,这是最基本的原则。”“在编码方面,好的品味体现在能看清全局,有能够把事情做得漂亮的能力。”正是这种坚持,为Linux打造了坚实的技术基础。
误打误撞的开源之路
今天运行在数十亿计算机上的Linux,在最初的时候也并非朝着开源的方向发展的。
起初,Linus只是想解决实际问题,做一个完全属于自己的项目。但随着项目越来越大,他又在想“这个成果我可是折腾了半年,没人知道岂不是太可惜了,不如来听听大家的意见……”于是,他开始将Linux放到网上供人下载。此时,Linus还没想到要把这项成果开源。
在Linux发布到网上一段时间后,有个做“免费软件”的朋友来找Linus,问他有没有考虑将Linux的源代码开放出来。Linus的第一反应是担心开源的话是否会牵扯到一些商业利益,然后又产生了工作成果是否会被他人利用的疑虑。
经过短暂的思考,Linus决定将Linux开源。
在开源后,陆续有人开始对Linux提出意见和建议,他对此也感到十分惊喜:“这是我人生中非常重要的一件事。”尽管这些人并没有直接修改他的代码,但他们提供的反馈和建议对Linus来说就已经足够重要了。
我们能够看到如今日渐壮大的Linux,但也很难发现,在成功的Linux背后,有着几十年如一日的持之以恒,有着对高质量代码的坚持,更是有着合作的力量。在几十年的开源过程中,Linux认为,自己享受到的是与志同道合的人一起合作、沟通和参与的过程。也正是这些人的积极参与,才成就了我们现在看到的更加稳定、壮大的Liunx系统。