Linus Torvalds,当今最著名的程序员之一,Linux内核的创建者, Git的创建者

“有些人生来就具有统率百万人的领袖风范;另一些人则是为写出颠覆世界的软件而生。唯一一个能同时做到这两 者的人,就是Linus Torvalds。”这是美国《时代》周刊对Linux之父Linus的评价。Linus除了是一位IT奇才外,还是一个乐观幽默的学者。

 

http://img.cnbeta.com/newsimg/100920/07255701920264895.jpg


Linus Trovalds很少在会议上露面,站在拥挤的人群面前演讲对他而言是少之又少。但是,他破例参加了八月在巴西举行的LinuxCon大会,在会上他和 Andrew Morton参加了由Linux基金会主席Jim Zemlin主持的问答环节。此次谈话涉及到内核开发过程和发展历史等多方面的话题。

问题1:是否想象得到Linux发展到这么大?

Jim开场就问:不知道Linus和Andrew有没有想过Linux发展到今天会变得这么大?Linus的回答是没有;他说当初他写Linux只 是当 作一个短期的项目,并随时准备用更好的来替代的。因为当时还有GNU项目和很出色的BSD阵营,他认为一定会有其他人做出更强大更专业的内核来。同时,当 时他只是将Linux当做自己的一个小爱好而已。这时Andrew风趣的补充道:“但是,最后证明,没有人做的比Linux更好。我作为一个内核菜鸟(谦 虚的说法,事实上Andrew在这领域至少有10年了),虽然没有很长远的眼光,但是,我个人觉得Linux的发展确实很惊人。”

问题2:你们是怎样应对内核的快速发展?

Jim接着问你们是怎样应对内核的快速发展?Andrew回答说,随着内核的不断完善,开发者的数量也不断扩张。内核的发展责任也随即分配到每个人 身 上,而现在我和Linus只是承担着Linux总工程中的一小部分工作而已。在代码质量保证上经销商起到了很大作用。基于这点,Andrew还说现在内核 社区只是提供技术,但是经销商可以从社区中获取内核,然后转变成实际的产品。

Linus说一般来说个人对Linux内核的事情不感兴趣。例如,他说他总觉得服务器市场是一个无聊的地方,但是有人却将Linux成功应用于服务器领 域。这也是Linux主要优势之一,Linus指出没有任何一家公司会对Linux的所有用途感兴趣,但是他们对于Linux的利用效果常常令他很惊叹。 他表达有些Linux应用的领域甚至是他所没有想到的。这也意味着没有人需要对使用Linux内核产品的用户负当维护全部的责任。特别是Linus,真正 需要是的关心自己,确保将所有的代码片段整合到一起。毕竟单个内核的力量是有限的,不可能满足所有的应用需求,故能做的就是不断完善内核,让其满足更广泛 的环境中。

问题3:继续使用单内核是否明智?单核能否适用于多任务环境?处理分片这个特定任务的时候,是不是要暂时放弃多核特性?

从这次访谈中,Jim问到了内核分裂问题,以及Linux继续使用单内核是否明智,而单内核是否适用于多任务环境;将来为支撑不同领域的发展需求是否会独立出不同版本的内核等问题。

Linus认为单核能够很好工作,他也十分讨厌看到Linux分裂。目前很多领域出现的问题其实是有共通性的,比如,将Linux应用于手机领域时,这时就要求系统对于电源管理更多点,但是事实证明服务器领域,电源管理也是很重要的。总的来说,不同应用领域的用户其实关注的东西是一样的,只是关注的时机不同而已。比如曾经只有高端服务器应用中才会关注对称多处理,而现在基本上就买不到不支持SMP的桌面电脑了吧,现在SMP同样也应用于手机中了。这才是单内核方法的好处:如果手机用户需要SMP支持,Linux随时等着你。

Andrew称Linux得到广泛使用主要还是归因于内核独特的技术属性。现在Linux内核工作起来也非常容易。目前的Linux内核在大家的努 力下 已经从原来的“小“设备变的越来越大。不幸的是,现在还有很多小的嵌入系统在社区中仍然得不到很好的技术支持,但是Linux整个社区是很关注这部分团体 的,今后我们也会给嵌入式团体提供良好的技术支持。

问题4:内核开发工作者主要来自哪里,巴西开发者如何参与到内核开发中来?

Linus回应时表示,Linux内核的开发者主要还是来自北美、欧洲和澳大利亚。由于文化和语言的差异问题,增加了整个社区管理的难度。 Linus表 示运行一个全球性的项目,首先就需要解决语言共通性问题,Linus还风趣的说:“可惜社区不是使用芬兰语(Linus是芬兰人)。”Linus说世界上 有很多优秀的开发者,但是很难找到优秀同时又擅长英语的开发者。为了解决区域性以及语言文化上的差异,Linus称他们通常的工作就是建立一个地方性的社 区,然后把这些社区作为连接其他社区和总部的桥梁。

Andrew指出近几年来日本明显有很多人参与到内核开发中来;他记录了很多对 Linux基金会做出努力的社区会员。同时他也发现使用Email对于非本土人之间的交流是很有帮助;因为这样双方就有足够的时间去理解对方的意思。至于 从哪里开始交流,Andrew的意见是选择一个有趣的且有挑战性的工作开始。

Linus认为开源软件是一个了解世界编程情况的好方法。 开源不像课堂项目,一个活跃的项目需要与人交流共同来解决问题。一些公司需要技术人才,常常会在开源社区中找那些活跃分子。所以参与到开源项目中来,也是 一个向全世界推销自己的好方式。最后Linus表示,好的程序员是很难找的,他们一般会得到优秀的薪酬,也常常会为开源软件工作。Andrew也同意具有 坚定信念的程序员是随处可发光。在谷歌的时候,Andrew常常会受到内部员工发给他一些履历,让他选择录用谁。他做的第一个动作就是打开git日志,看 看这些人在社区中有做过哪些活动。

Linus表示,虽然内核可能不是一个好程序员最好的学习起始点。但是内核有很多的开发者,人们常会认为内核很神秘,甚至抱有一种害怕接近的心理。而小项目对于那些初级开发者是一个很好的起步环境。

问题5:是否会永远会为Linux工作?

Linus回答说“永远是一个很长的时间“,最初他也只是把内核当做一个两个月的项目,但是他表示会继续做内核,因为现在他还觉得有乐趣。因为总是会出现新的问题需要解决和新的硬件需要去兼容。这个有趣的项目他已经做了19年了,还是持续很长时间继续做内核。

访谈最后Jim做了大会总结,主要是列举了Linus和Andrew对于Linux内核的贡献。印象深刻的是当Jim说Linus和Andrew是 在技 术领域最具影响力的两个人。他们和Bill Gates,、Steve Jobs,和Larry Ellison是同一个级别的。他们都是世界上最富有的时候。Linus和Andrew都对着Jim说:“你疯了吗?,”你的动机是什么?“。然后是一片 笑声。

Linus comic

问:编写操作系统内核代码是一项艰难的工作,您的动力是什么呢? 

Linus:也许很难,但是也同样有趣。一直以来,相比那些在表面上的东西例如用户界面之类,我对深入到硬件细节的内容更感兴趣。能比操作系统内核更深入的,有且仅有创建硬件本身了,其实这件事我也做过,毕竟我曾在一家CPU公司工作了7年(Linus1997年起就职于全美达)。我没有去做焊剂钢铁之类的事,但是我非常喜欢在底层工作,我喜欢思考软件是如何同CPU及其他硬件交互的。此外,我确实没有意识到这项工作有多么艰难,也从没有想到自己会在这上面专注了超过15年的时间;) 

问:对于Linux内核您现负责哪些工作呢?所有时间都专注于此么?您的工作主要集中在哪一部分呢? 

Linus:我几乎全时间地投入于此,但不特定在某一部分,在大多数的时间里我并不是自己来写内核代码,而是将别人代码合并到Linux内核。(据说当前内核中2%的代码来自Linus) 
实际上,这两年来我大多数的代码并不是写Linux内核,而是一个用来跟踪内核开发的工具,叫做git──一个版本控制系统。(对git感兴趣的读者可以观看http://www.youtube.com/watch?v=4XpnKHJAok8) 

所以我还在写代码,但是很多时间里,我在对别人提交的代码说“Yes”或者“No”,或是指导别人该在什么地方进行修改。 

问:2.6版的内核已经出现了很长一段时间了,这是什么原因?

Linus:这项浩荡的工程已经进行了许多年了,它工作得很好,人们也很习惯,但是它也有一些缺点。

因为开发的周期很长,所以既要保持向前兼容性又要保持向后兼容性,但稳定版与开发版之间的差距很大,对稳定版的修改很难应用的开发版中来。为了解决这个问题,我们已经将稳定版开发周期从过去的2到3年,缩短到2至3个月,这样就解决了很多以前遇到的问题。

所以,除非发生了重大的改变,我们会一直使用2.6.X的名字,并且逐步提高内核的质量。 

当然,要是我们拥有市场部,得要起个响亮的名字,可以叫“Vista”之类的吧。不过技术人员总是习惯于跟踪版本号,而不同的Linux发行版也可以起它们喜欢的名字,例如“Fedora”或者“Feisty Fawn”。

Linux之父访谈

问:您期望什么时候会有Linux 3.0呢?与现在的2.6系列相比,主要的区别在哪里呢?

Linus:到目前为止,我们还没有3.0.x的计划,我们已经很善于将革新的特性引入到现有的内核中来而不破坏内核原有的功能。此外,我们用不着靠“用发布新版表示自己做得有多好”那样表示我们竭尽所能地把一切都升级个遍。所以,大家可能看不到“全新升级的版本3” 这样的宣传口号。 

问:对那些渴望加入到内核贡献者中来的人,您有什么建议呢?(内核中的哪一部分更需要贡献者,您推荐哪些书?) 

Linus:关于这一点我很难给出建议,因为人和人是不同的。不要把大的东西也想得那么大,你不用从重写某个子系统开始。可以从更小的部分着手,比如什么地方困扰你,然后就试着去修改它。去做那些你真正感兴趣的,内核编程对于不是真正感兴趣的人来说太复杂了,很容易让你在还没有任何进展之前就已经丧失掉了动力。 

问:出于好奇,对那些拒绝提供数据和细节帮助Linux运行的硬件厂商,您有什么话要说呢? 

Linus:“我希望他们都痛苦的死去”这样说是不是太过分了? 

好消息是许多硬件厂商在朝正确的方向发展,特别是英特尔,在开源这方面做了很多工作,基于这个原因,当您购买新机器时,我建议您确保采用的是英特尔的显卡和无线网卡,这样就解决了您电脑中最大的两个麻烦。 

但英特尔决不是唯一一个,总体上我们做得很好,只是还存在一些盲点。 

问:在您写内核之前,曾经写过一个“吃豆子”游戏的克隆。您都玩什么游戏呢? 
Linus:我现在不怎么玩儿游戏了,因为觉得不像以前那样有趣了。偶尔玩儿的一下,多是小孩子玩儿的那一类。在我开始Linux以前曾经玩儿过原始的波斯王子,因此也同样喜欢它的现代版本。(尤其是“时之沙”,不过后来的版本有些严肃了。)

Linux之父访谈

问:您的业余时间都做什么呢?除了计算机,您还有特别的爱好么? 

Linus:我在计算机上花费了我绝大多数的时间。现在我正单手写这封邮件,因为我的孩子正坐在我腿上呢。当我跟前没有计算机或者和家人在一起的时候,通常我会读书。当然,在无聊的时候也会随机地看看网页。 

问:您喜欢读哪类书?进来在读哪些呢? 

Linus:多数是一些通俗读物,比如恐怖,科幻,探险,严肃领域我喜欢生物学,尤其是遗传学方面的书。早在Richard Dawkins成为公众人物之前就是我心目中的英雄,我非常喜欢读他所写的《自私的基因》这本书。 

Linux之父访谈

问:您在工作和生活中偏爱哪一种Linux发行版呢? 

Linus:我没有偏爱某一种,随着情况的不同,我挑选最方便的那一种。目前我正在用Fedora,因为对我这几年使用的POWER构架支持得相当好(据说05年Linus开始使用双G5 2GHz的Power Mac)。在Fedora支持PowerPC构架以前我用SuSE和YDL。有趣的是,我不倾向于使用“技术型”的发行版,例如Debian,因为我对发行版考虑的唯一一件事就是是否容易安装,好让我将精力集中到内核开发上。所以像Dedian或者“完全手动编译”的版本对我没有什么吸引力。 

问:您每天使用哪些软件?浏览器和邮件客户端之类的是什么呢? 

Linus:嗯,除了开发用的工具,比如make、编译器、编辑器之类,我最常使用的是xterm和“alpine”邮件客户端,此外浏览器通常开在后台,不忙的时候我常活跃在几个讨论组上。

Linux之父访谈

问:您曾经去过澳大利亚,传说您被企鹅咬到了,是真得么? 

Linus:我去过几次澳大利亚,但是头一回去,大概是在93年,就被一只凶残的神仙企鹅咬到了──大家可千万要小心这种家伙!

Linux之父访谈
据说神仙企鹅是世界上最小的企鹅,体重通常只有1公斤

Linux之父Linus Torvalds的十大名言,您听说过几句?

1. “Software is like sex: it”s better when it”s free.”

     软件就像性,免费的比花钱的好得多。

2. “Microsoft isn”t evil, they just make really crappyoperatingsystems.”

     微软并不是魔鬼,只是它的操作系统实在太蹩脚了

3. “My name is Linus, and I am your God.”

    我是Linus,我是神。

4. “See, you not only have to be a good coder to create asystemlike Linux, you have to be a sneaky bastard too.”

    要想能够创造Linux这样得操作系统不只是需要良好得程序员,还得需要一批心理阴暗的混蛋

5. “The Linux philosophy is “Laugh in the face of danger”.Oops.Wrong One. “Do it yourself”. Yes, that”s it.”

     Linux的哲学就是“在危险面前放声大笑”,呵呵,不是这句,应该是“一切靠自己,自力更生”才对。

6. “Some people have told me they don”t think a fat penguinreallyembodies the grace of Linux, which just tells me they haveneverseen a angry penguin charging at them in excess of 100mph.”

    很多朋友和我说那只胖企鹅不配代表Linux操作系统,因为他们从来没见过一只愤怒的企鹅以100迈的速度向他们发起攻击

7. “Intelligence is the ability to avoid doing work, yetgettingthe work done.”

    天赋就是事半功倍

8. “When you say, “I wrote a program that crashed Windows,”peoplejust stare at you blankly and say, “Hey, I got those withthesystem, for free.””

    你骄傲的和别人说,嘿,我写了个能让Windows崩溃的程序,他们会说“哥们,我装Windows系统的时候就免费带着了”

9. “I don”t doubt at all that virtualization is useful insomeareas. What I doubt rather strongly is that it will ever havethekind of impact that the people involved in virtualization wantitto have.”

    我对虚拟化的技术使用没有任何怀疑,我怀疑的是他们对人的影响。

10. “Now, most of you are probably going to be totally boredoutof your minds on Christmas day, and here”s the perfectdistraction.Test 2.6.15-rc7. All the stores will be closed, andthere”s reallynothing better to do in between meals.”

    大家在圣诞期间可能会非常无聊,现在有好办法了,试试内核2.6.15-rc7版吧,茶余饭后的好消遣哦

Linus Torvalds的另一篇趣文

我知道这会让大家感到非常的惊讶,计算机天才通常会被认为是社会的精英,通常的认识是:我们过着一种摇滚明星般的生活,整夜的和那些知名人士一起聚会happy.

 

Linus Torvalds in a Speedo


不是这样的。

我在我的办公室里(以前是我的地下室,现在是一个车库上面的小房间),一般是穿着睡衣,整天读写邮件。大量的时间都浪费在等待人们的回复或报告问题。我十点睡觉,早上七点起,送孩子去学校。这样日复一日。

所以没有光环。当我真正的写程序时(这些天通常是写在邮件里 —— 大多数是告诉人们“应该写成这样”,而不是真正的写程序),这大概是我一天中最兴奋的时刻。

但有时,我会出去High一下。这周末,我收到邀请去参加“奥斯卡前夜”晚会活动(感谢Renée 和 Doug!),因为我现在的老板显然认为我该出去活动活动。

我并不是要谈论我们的穿着打扮。

我和太太都感到非常的不适应,我们几乎不认识任何人。我们每周出去参加一个晚会,我们看了大量的电影,但我们真的不是电影人 —— 所有的电影都没有给我们留下太深的印象。于是我们就待在那里,和人们一起欢呼,没记住任何人名和长相。

让人高兴的是,太太说了,没有那么糟糕。没有人认识我们,没有人第二天还会记得我们。于是我们毫无顾忌的释放心情,傻乎乎的问人们“看起来很面熟, 你是谁?”。我们就这样干。当我们能猜出大概是谁时,就在Google图片搜索上先搜一下确认身份,搞清楚到底是 John Cusack (注:《2012》主演) 还是 Paul Rudd(注:《老友记》主演)?

每个人看起来都很享受。我们在David Spade(注:《Just Shoot Me!》主演)跟Natalie Portman(注:《星球大战》女主演)和Mila Kunis(注:《艾利之书 》女主演)套近乎的时候打断了他们的谈话(老婆这样说的,我可没感觉出来——这是计算机天才们的社交习惯。我告诉老婆说Natalie Portman绝对不在这里,她今晚不可能来这里),而且老婆还惹恼了Warren Beatty(注:《赤色分子》主演),因为她问他叫什么名字问了不是一次,而是两次。

我们也许再也不会受到邀请。但我们给孩子们留下了很多照片,这些可以用来告诉他们:你们的爸妈其实很酷的。

Posted in 人物, 极客精神.