实干家的风范 —— Linux 内核维护人 Andrew Morton

为内核工作
Linux 有两位重要领军人物,创始人Linus Torvalds和他的副手Andrew Morton。创建和维护Linux内核的中心工作是分别由Linus Torvalds和Andrew Morton来完成的。Linus Torvalds总揽下一个内核发布版的开发工作,Morton则负责维护当前的版本。

如果说,作为Linux的创始人,LinusTorvalds激起了全球开发者对Linux的热爱,是受到膜拜的英雄式人物,那么,Linux 内核维护人角色则赋予了Andrew Morton幕后实干家的色彩。OSDL雇佣了Linus Torvalds和Andrew Morton两人,以便他们能够全身心地投入Linux的工作中。一个大约由80人组成的小组为他们提供支援,每个人侧重于操作系统的一个特定部分的开发工作。任何代码首先都要经过这些人的认可,然后才通过Linus Torvalds或Andrew Morton发布到产品中。Andrew Morton主要与Linux的创始人Linus Torvalds、内核次系统维护人、Linux发行公司、硬件销售商以及其它的兴趣团体打交道,以保证公共发行版内核符合他们的需要。Andrew Morton是决定某个代码能否加入发行版内核的最后仲裁人。

Andrew Morton曾经说,“我很独特,因为我并不拥有内核的任何东西。大部分时间我埋头于别人提交的代码中,以解决问题,但只是填加了几个极小的文件到目录树上。正好需要埋头苦干的精神与态度,但是,这就是维护人的工作。”

与开源结缘
早在1994 年,Andrew Morton就成了一名Linux 使用者。他一直是一名系统软件黑客,潜伏在Linux 邮件列表里好几年,偶尔测试一下新的内核。

2000年3月的一天,当他决定对2.3.47内核进行快速测试时,却发现Alan Cox(红帽技术总监)将自己的90份NIC(以太网卡)标志为陈旧的东西!这让他感到无法忍受。于是Andrew Morton向Linus Torvalds发送了2500行代码的补丁。 Linus Torvalds接收了这些代码,经过验证发现它是有用的,这让Andrew Morton感到很高兴。

2001年,Andrew Morton进入Digeo,这是一家使用Linux来提供宽带和互动电视解决方案的美国背景公司,成为该公司的内核维护人员。在那里,他用了6 个月的时间在EXT3文件系统上,把它的内核从2.2版移植到了2.4版上面,并将它升级到2.4.15版。

2002年早些时候,他开始在2.5内核系列上进行开发,在这个公司管理层的支持下,把大部分的时间都投入到了这个工作上。

由于Andrew Morton在2.5版的开发上非常活跃,对内核有全面的知识,也非常了解Linus Torvalds所希望的做事方式,所以当Linus Torvalds请他来维护2.6版时,他并没有感到非常意外,便高兴地答应了。

毕竟Digeo是一家小公司,他们将自己的主要系统软件运行在公共的内核上是不太现实的。这样,在Linus Torvalds的建议下,2003年,OSDL准备雇佣Andrew Morton作为Linux内核的维护人,并开始支持他的内核工作。

因为理解全面,对Linux2.5版将要进行的改变了如指掌,并且拥有以电子邮件的方式与人一起工作的能力,Andrew Morton接受了这个职位。

在刚刚进入OSDL时,Andrew Morton承认了他对开源的激情所在:“在对不恰当的代码评价中,我感到有一点疯狂”。而且让他痴迷的是:用户、测试者和开发者之间的关系非常紧密,并形成了一个通畅的反馈循环,使得鉴别和解决问题的过程非常迅速。

迟钝者吗
尽管Andrew Morton对Linux尽心尽力,但是人们对他的个人情况和观点了解不多。

Andrew Morton认为自己是一个迟钝的人。“35岁时,我才开始踢澳大利亚足球,几年的时间都被人家踢鼻子。但是,后来我摔破了自己的腿,并开始变胖。”

Andrew Morton是出生在英国的澳大利亚人,今年46岁,已婚,育有三个孩子。他毕业于南威尔士大学的电子工程专业,在悉尼地区度过了年轻时代。毕业后,先是在几个小的科技公司工作过,接着在北电网络工作了9年之久。2001年举家迁到了美国加利福尼亚。现在居住在加利福尼亚西部的城市帕洛阿尔托,是一座他称之为“离硅谷还有一段距离的电子工业城市”。

Andrew Morton深谙内核的进程与人们期待的速度可能相去甚远。他认为,人们对于内核非常显著的变化有一些计划,但是这些变化是内在的重组和优化,与普通的一天天的外在景观变化相比它们都是非常细小的改变。为了迎合人们的期望,而刻意地在Linux内核上表现是不现实的。这更像是持续和递进的进化途中一个练习,而且在应用
现实中的变革远远要多于在内核上的变化。

另外,从Andrew Morton给开发者的建议可以看出,他一直在认认真真的把Linux内核维护工作当成一件事业在做:“关于修改bugs. 最初我花了18个月的时间投入内核中,与人们在邮件列表中解决bug 问题。结果,我学到了大量关于内核的知识。从事某些事情是个好方法,同时你也在做有用的事情。改变自我 对别人不要粗鲁,学会妥协。学会改变自己的方法和观点,去适应你正在进行的项目。有时候会显得困难,但是如果你放弃了信念,机会也将被错过。但是长远看来,牺牲对较大项目的兴趣会更好。