对话Linux内核守护人Andrew Morton


主持人:谢谢Jonathan Corbet的讲话,接下来我们请Linux内核2.6版的守护人Andrew Morton来做一个对话。

Jonathan Corbet:我有几个问题是和大家讨论得出来的,如果有问题的话也可以回答观众的问题,首先有一个问题就是,刚才我也提到过,像在内核当中我们的这种 Pach是比较高的,我想问一下Andrew Morton你如何应对这个问题,就是你如何解决比较高的一个Pach的问题,同时维护它的内核。

Andrew Morton:实际上我并不是进行管理。并不是说像你们想象当中管理的那么多,实际上大家有时候心里上比较依赖我。而且我有的时候对他进行这种审查也并不是很多,如果当这个比例比较高的时候,那么我会告诉别人说,不好意思我没有这个时间来处理这个,那么同时我经常会拒绝一些其他的研发人员的请求,因为我实在是没有那么多时间。

Jonathan Corbet:两年前您参加一个会议,你说这个速度会降慢,因为你觉得已经基本上完成了,那么在过去这几年当中,我觉得确实是这样的,那么你觉得你们会希望怎么样呢,你希望它减慢这个速度吗,还有就是这种高速的变化,那么为什么会这样呢?它为什么会以这么高的速度进行不断的变化呢?

Andrew Morton:我觉得现在包括这个参与公司的数目和应用程序有关,我们现在有很多的研发人员,他们对内核有更多的要求,我觉得这个是为什么我们现在有一个这种高的替换率,或者高的更新率,而且现在新的技术不断的出现,还有新的硬件技术等等,都需要进行更多的支持,但是我觉得最后内核更新的速度会降慢的,因为从最根本的一个改变来说,比如说出现新的CPU,新的研发等等。但是其中有一些内核的技术,将来会比较成熟的。那么所以将来这个是会稳定下来,速度也就会放慢的。

Jonathan Corbet:你觉得在它降慢之前还需要什么样的变化。你觉得现在在哪些方面我们还需要更多的工作。

Andrew Morton:人们经常会问我这样的问题,我不知道在将来6个月之后,这个内核会提出什么样新的内容,因为我们现在没有一个在内核方面统一的控制机制,我们没有路线图,我们没有计划,所以我也不知道,只能说每一个公司,每一个人都会对Linux进行贡献。那么人们经常会告诉我们他们在做些什么,所以我只是一些猜测,但是在长期角度来说,实际上我不知道人们脑子里面想什么,我也没有办法说它长期会往哪些方向发展,我觉得最好的预测,就是我一般会读你的报告,比如说从你的发言当中,我就知道很多。

Jonathan Corbet:还有另外一个问题,就是在十年以前内核的开发,那么这种Pach,他们放到网上,经常没有什么反馈,那么可能网网就是要等到一个新的版本出来才能看到结果,那么我觉得呢你带来的一个最好的变化呢,就是说来建立了一个很积极的相应的机制,也就是说呢,人们会把他的东西放上来之后,会听到一个反馈,所以这样他们放上来的Pach不会被人家遗忘等等,我想问一下对于Pach的反映一般是什么样的呢,如果我贡献一个东西放到网上,没有人给我反映,没有人理睬的话,那么我应该做呢?

Andrew Morton:我总是希望保证每一个我所得到的人的一些贡献都会有一些响应。特别是对于一些人员他们的一些成果来说,那么如果你要是发过来,如果其他人有评论,但是我没有给你评论的话,那么就是说我对于其他人比较同意的,那么如果要是我和其他人的意见不一样的话,我也会给你一个我的响应或者是反馈。比如说我圣诞节过了两周的假期,但是我还有500个Pach等我回去看,所以我就不断的进行这方面的工作。还有一些就是你可能,你觉得放到那儿了,然后你觉得没有人理你,那么你就给我发一个私人的邮件,我会给一些反馈。一般来说我会告诉你,比如说有些人是不是反对,有些人是不是赞同,我一般会给一个反馈的。

Jonathan Corbet:人们在考虑加入到我们这个社区的时候,他们非常难以去找到方式,如何和我们的社区两交互,所以我有一个问题,对于新的开发者来讲,要成为这个社区的一部分的话,他们如何来加入?如何避免相应的一些错误?

Andrew Morton:我觉得有一件事情人们必须要小心,那就是我们都是通过Email来做自己的工作,如果你希望有一个人一直对你有一个回应,而且是非常恰当的回应的话,这个其实对于一个比如说一周都没有做回应的人来讲是非常难的。所以从别人哪里收到邮件是非常重要的。通常我们也会有这样的问题。他们会问我到底我如何开始这个内核开发呢,我认为最好的答案就是你不要问这个问题,不要问这种问题就开始开发就行了。那么开始开发首先需要一个非常好的英语阅读的能力,你需要写英语,需要网络连接和计算机,然后就开始内核开发,把你的计算机连到网络上,下载一下内核,然后就开始。加入到社区,然后对社区更熟悉,下一步就是下载最新的内核版本。下载我的版本的话可能会发现一些缺陷,一些错误,那么和其他的开发者要交流,到底如何解决这些问题,这是一个非常简单的过程。在经过两三个月之后,你可能就已经成为了一个内核的开发者,也成为了这个社区的一员,所以每一次采取一步,所以最重要的就是要开始,一旦做了两三个月的开始的工作,就会非常熟悉整个环境,那么下一步就需要考虑到底对于你自己来讲需要贡献一些什么样的原始的,原创的一些工作,发来一些变更,然后呢在整个变更库里面就有了你自己的名称,那么人们就可以搜索到你的名字,可以看到你做了哪些工作。那么这才是一个非常正确的方式来开启自己的内核开发的工作生涯。

而有的公司的做法就是扩展一群开发者,通过这种方式去申请这个职位,其实有很多竞争对手,在人们参与到整个过程当中,他们就需要人们进行交互,有很多的人他们在推出Pach的时候非常的礼貌,非常的保守。我们相互之间打交道是什么样的礼仪呢?我觉得如果我接收到非常不礼貌的一个回复的话,那回去是代表别人来说话,因为每一个人不一定代表自己说话,有一个人说了一句话,或者造成了上千人的反对,这就是一种工作的方式。一个人说了一句话那么所有人都同意的话,这可能就造成工作是成功的进行,但是更多的情况下会是遭到上千人的反对,说你不要这样去做。其实有一些非常有名的人士,他们并不是代表所有人说话,他们只是代表自己说话,其实这也是一个问题。

Jonathan Corbet:我希望我能够同意你的说法。还有一个开发者遇到的一个问题,就是有的人在进行变更的时候,是非常的快,有的很长的时间才能够做完,比如说一个开发者花了很多时间才能进入,所以就是有一个问题,就是为什么有的补丁时间更长,到底开发者应该怎么来预期他们工作的时间?在他们发送补丁之后,他们预期的时间是多长?

Andrew Morton:我认为我非常关心是否会回归测试,其实我不希望这个补丁如果不好的话,会影响很多人的系统。如果是一个已经运行的系统,大家都在使用,所以它的影响是非常大的,所以必须要非常的小心,非常的谨慎,而且要确保不会有懂行的人去触动,或者进一步修改这些内容。所以对于这个工作,对于这个补丁的理解其实花费我很长的时间去理解的,这也是为什么很多的补丁花了我很长的时间,但我有信心不会有很大的影响,才会决定把它添加到新的版本当中。因为这是一个内核,每个人都在用的,所以这是一个非常严肃的事情。

Jonathan Corbet:我想在我们的听众当中问他们的问题,所以我现在想开放一下论坛,希望能够有听众问他们自己的问题。

提问者:我们最近会推出一个新的Linux版本,为什么我们需要这个Tree呢,因为现在很多的Linux贡献带来了很多的错误,所以希望把错误和缺陷去掉,是这个原因吗?我有两个问题,第一个是现在有更多的开发者涉及到内核的开发,是不是说在未来我们会遇到更严重的,更多的嘈杂和混乱?

Andrew Morton:我是第一个要测试每一个人工作的人,每一个补丁都要进行测试,这样一个工作让他来做的话可以帮我很多的忙。我相信他们会认真的谨慎的去测试这些工作,而且他们和斯迪芬合作会比我好。纳入到这个Tree的话,未来一两年之内我们会把这个结果测试出来,所以我相信我们会花很多的时间做我们之前没有做的工作来过滤这些补丁。

提问者:非常感谢。

  • 1
  • 2
  • 下一页

相关内容