翻译:Linus眼中的世界

Posted: 二月 3rd, 2008 | Author: windrose | Filed under: 文章 | Tags: , , , , | 2 Comments »

原文:The world according to Linus,同时发表于译言的译文

他不用手机,并为此感到骄傲。而且,他认为虚拟化言过其实了。来看看我们从Linux大师Linus Torvalds那里还“八”到了什么别的东西。

目前内核发布中遇到的最困难的事情是什么?

人们总是为写新代码、加入新特性等诸如此类的事情而兴奋。我们的做法是,有两个星期时间作为合并窗口期,所有的新代码都在这个时期内加入。在这样的 两星期中,每个人都很开心,因为你在做的事情很有意思,你把新鲜出炉的代码加进去并为此而自豪。当这两个星期过去之后,你本应确信所有的编程错误 (bug)都被清除掉了,而我们会收到来自于真正使用这些新特性的用户的报告,这时激励程度就会降低,因为和写代码比起来,调试错误(debug)一点也 不好玩。

因此,最大的困难在于让大家在下一个合并窗口期之前不再写新代码(通常合并窗口期之间的间隔是两个月)。大家确实需要集中精力跟进解决上个窗口期之 后来自用户的每一个错误报告而不是为下一个窗口期写新代码,而这是最困难的部分。每个人都知道这确实很重要,但同时这件事确实不如写新代码那样激动人心。 我认为这就是我们在内核开发方面最大的社会问题。

你在开发什么新特性,或者目前什么让你感兴趣?

过去这几年里我真正做的事情是沟通。我最终合并其他人写的代码。实际上我自己很少写代码,除了有关内核的一些工具。我为我们的源码控制管理工具写代 码,用来追踪每个人都做了什么。每个递交进来的补丁都被按正确次序单独跟踪,代码来自不同的人,合并在一起。我会把代码写到内核自身里,尽管所有的代码都 是别人提供的。相比于开发者,我更多地是一个技术领袖,在大约最近的5年里都是如此。

你对于各种Linux发行版有什么看法?

人们总是说它们有多不一样,但归根结底它们用的都是几乎一样的内核,所以在我看来它们之间的区别实在很小。过去我们的开发计划是用两年时间开发内 核,然后做一个大的发布,就如微软的做法,不过他们用5年时间,而不是(像现在这样)每两个月发布一次。那么做确实很痛苦,因为当时所有的发行版都加入了 自己的东西,不可能等两年到两年半的时间后再赶上来,在当时这是一个大问题。现在我们与发行版之间根本没有任何问题,因为我们改变了发行政策,所以发行版 都更容易跟上新的特性,而不需要开发自己的补丁。所以,和大多数其他的开源项目比起来,我觉得不同发行版并没有太多问题。

你对KDE 4 怎么看?

我自己还没用过。我是KDE的用户,但我觉得不需要赶时髦。我过去也会发送错误报告之类,但我确实没有时间去升级。我想我可能会等到 KDE 4.1左右,等一些初步的问题都被解决掉。

你在手机上用Linux吗?

我根本没有手机!我讨厌电话,因为我是一个想全神贯注工作的人,如果有人给我打电话会完全破坏掉我的注意力。我讨厌电话,因为它们只会干扰你,而手 机更讨厌因为它一直跟着你,所以我根本不要手机。我的工作室里有一台早期的Linux手机,因为我是免费得到的,但它是关着的。我所有的电脑上都有 Linux,但电话上没有。

你认为什么时候会有第一批来自OLPC项目的内核补丁?

如果我们还没有见到我才奇怪呢。他们做的一件大事是电源管理,因为他们做到在没有程序运行的时候关闭了CPU却让屏幕还亮着。这是不久前已经提交进 来的。我们对时间的看法更为动态了,我们能在更长的时间里避免时钟中断的发生。我想OLPC已经参与了,不管那些开发者是不是把代码直接发给了我。

你对虚拟化不感兴趣,为什么?

我想它有点言过其实了,虚拟化不过是那些时髦词汇中的一个。这么说的部分理由是,对虚拟化感兴趣的人会有三种原因。一是桌面应用,你想用虚拟器运行 另一种操作系统,例如你运行VMWare来在Linux机器上运行Windows。我个人对此一点兴趣都没有,为啥我非得在Linux机器上运行 Windows?

第二个原因是很多商务人士想要虚拟化环境来更好地利用他们的电脑。他们有台很强劲的机器,但他们想运行很多不同的东西,而且想让它们保持隔离,所以 他们用虚拟器来模拟独立的机器。这对IT人士有好处,能够更好地管理,因为你能把一台大机器当成一些小部件来管理,而这也不是我要做的。

第三个原因是运行过时的操作系统,或者同一个操作系统的旧版本,因为有些程序非得这么运行。但是这些原因都不是我想做的事情,所以我个人对虚拟化不是很感兴趣,它跟我做的事情无关。

我对虚拟化完全不感兴趣并不表示我们不支持它,我们已经有很多Linux支持的虚拟化模式,并不需要我感兴趣才会让事情发生。

桌面Linux系统正在欠富裕国家的教育用途上起飞,你为什么这么想?

Linux的一个好处,它用在商业环境中的原因,我想是因为它非常灵活。不光是便宜,你还能把它调整到适合特定的用途,这是它被用上的原因。在开发 者的世界里有两个原因,首先,很明显,价格总是一个大问题,特别当你想逐步建立起你的IT系统的时候。当你不知道它如何运作而且也没法修改的时候,买一个 预先做好的系统是毫无用处的。当你对一个完全设置好的系统只有很基本的了解而且你根本无法看出它是如何运行时,你完全无法从零开始获得提升,你无法从中学 到东西。你可以学着去用它,但你没法学着去再创造一个类似的东西。

所以我觉得OLPC做得很好的一件事是他们提供的很多应用程序都是用非常易用的(编程)语言写出来的。那可能不是最高效的语言,也不一定是我会用到 的语言,但Python确实很容易学会,它非常地直截了当。我想他们有一个特别的按钮,当你在用这些程序时,你只要按一下你就能看到源代码,所以你能彻底 了解程序是怎么工作的。当你把事情搞乱时,你可以说:“我想回到原始的内容,因为我的改编行不通”。但我想假如你真的不光想仅仅提供电脑给人们使用,而是 还希望把电脑技术传授给他们,不只是会用文字处理器而且了解到它如何工作,那么Linux和其他开源项目就是当仁不让的了。因为如果没有源代码的话,用户 只能面对一个黑盒。

不要误解我,价钱是很重要,但我认为以学习目的获得源代码是非常重要的。坦白地说,即使大多数人不会去看源码,大多数人仅仅把电脑当成工具来用,但 只要有一小部分人去看源码并试着去理解它,你就会获得一种计算机科学上哪怕很小的核心能力,而无论你在哪里,哪怕是在撒哈拉以南非洲。

这次澳洲Linux大会(LCA)没有dunk-tank你会不会很失望?

不,不。Dunk-tank是那种试过一次就够了的事情。(译注:dunk-tank是一个人坐在水池上方的一张挑空座椅上,旁边立一个靶子,只要有人击中靶子,联动装置就会弄翻座椅,让人掉入水中。详见dunk-tank,附送Linus亲身经历。)

你会不会接受在LCA上做主题发言的邀请?

大概有十年我没发言了。过去我发了很多言,当时Linux还很新,没有很多人知道,我觉得应该为它做宣传。但我从来就不擅长言辞,我总是讨厌发言, 也不喜欢站在一大片听众面前。事先我承受了压力,后来Linux足够强大,有愿意发言和更擅长发言的人来做,我就再不发言了。我来LCA是出席会议的,最 多只是和人们交谈一下。

你为什么会一直来参加LCA呢?

LCA是一个很好的会议,非常轻松,非常注重技术。你看不到西装革履,没有营销的废话,它就是关于技术的,非常有意思。它的氛围很好,而且坦白说这里是夏天!我家Portland那边又是雨又是雪,冷得很,所以来澳洲过一个星期夏天是很好的休息。

你预计Linux世界下一个让大家吵成一团并且都想得到你支持的大争执会是什么?

如果我能早知道就不会有大问题!看起来每隔几年就会有事爆发。其实一直有事不时冒出来,不过通常是些小事。总会有一些更大的事情,常常是酝酿了很 久,一旦发生的机会到了,就像开了闸一样,吵得不可开交。人们受到挫折而吵翻天的事大概每个公司都会发生,只不过开源项目发生的事情人人都看得到。

我也不是彬彬有礼的,我其实喜欢和人争论,内核开发社区里面也有很多嘴闲不住的人。有些人什么也不做就是喜欢争执,这种事我们是不鼓励的,所以你会看到有些事爆发了一会儿就平息了。有时候,事情的结果会让我们改变做法。

当社区成长时,几年前有效的做法可能就行不通了。这种事持续发生,拖了我们的后腿,让大家感到挫折,要人们改变已经习惯了的做法会很痛苦。终于有一 刻争吵爆发了,每个人都讨厌正在发生的事情,但没人知道怎么才能把事做对。这种“再也不能这么做下去了”的大讨论发生过三、四次。这种讨论一点也不讲礼 貌,往往像是“这家伙是个浑蛋,我们应该把他踢到一边去,根本就不灵”。

有时候也不会真的发生什么事,我们也有过“既然这么做不行就换个做法嘛”的事例,所以争论经常是有成果的,也是释放怨气,暴露一些暗地酝酿的问题的机会。有时候只要把问题摊开来就行了,什么都不用改变,让大家有地方撒气就是了。

你觉得Linux的下一件大事会是什么?

我觉得不会是单一的事情。有件事很有意思,这么多不同的人和公司,他们都有自己的计划。例如在移动应用世界(它也不是单一的领域了),有手机公司、 嵌入式系统、把Linux用于嵌入式音乐(embedded music)的人、音乐和其他媒体的无线发布点,他们都有自以为最重要的事情,对他们来说这是千真万确的,他们会有一间或小或大的公司在向一个方向进军。

什么事情激励你为Linux工作?

过去15年里,Linux做到了我想它做的每件事。很早以前我的激励来自于外部,来自于其他人发现的问题。我发现不了问题,我的使用模式实际上相当 简单,而且如今我也尽量集中于同样的开发模式。所以,我真的是被其他人遇到的问题所激励,他们有时也会让我觉得“这些人真是疯了”,但有时这些疯狂的人也 会遇到最有趣的难题。

我个人总是对桌面应用感兴趣,因为我总是把系统当作工作站。而它的桌面功能是很有限的,因为对于很多用户关心的事情我并不关心,所以个人来说,我会 对与我的使用体验更相近的其他桌面用户发现的问题更感兴趣。但同时,一些技术上更有意思的特殊问题来自于嵌入式环境。他们来自于面对很严格要求的客户,因 为他们专注于一件事,而且通常是在一个很小的机器上做,他们需要便宜的机器这样可以卖出许许多多。所以桌面用户要好过得多,因为他们的机器其实很好很强 大,但真正有趣的技术挑战有时是来自于移动用户。尽管他们经常抱怨的是用户界面而不是内核。


2 Comments on “翻译:Linus眼中的世界”

  1. 1 ocde said at 11:00 上午 on 二月 4th, 2008:

    你让linus说”很好很强大?!”

  2. 2 windrose said at 1:46 下午 on 二月 5th, 2008:

    呵呵,灵机一动嘛


Leave a Reply