汇编网首页登录博客注册
mess的学习博客
博客首页博客互动【做检测题】论坛求助

我的博客

个人首页 |  我的文章 |  我的相册 |  我的好友 |  最新访客 |  文章收藏 |  论坛提问 |  友情链接 |  给我留言  
图片载入中
  •  人生没有彩排,每天都是直播!
  • 『姓名』:MESS
  • 『性别』:男『发送消息
  • 个人说明:求知之难,不在于战胜别人,而在于超越自己!
  • 详细信息『加为好友』
学习动态
友情链接

[2008-03-24 17:28] Linux内核开发者精彩对话-披露核心开发过程

图片载入中
Andrew Morton,Linux内核2.6版本维护者,决定哪些代码(或补丁)可能被纳入Linux内核中,他是最终仲裁者 
{Jonathon Corbet, Linux内核开发者,Linux前景预测(LWF)作者}

腾讯科技讯 日前,Linux开发者大会在中国召开,会上,Linux内核开发者Jonathon Corbet与Linux内核2.6版本维护者Andrew Morto之间有一个精彩的对话,这次对话也让人们能对Linux有更直观的了解。腾讯科技特将其中对话的精彩内容公布以飨读者。 

Jonathon:目前大致2-3个月可推出Linux内核的新版本。我要问Andrew Morton先生,你是如何解决频率如此高的补丁问题,同时把内核维护好。 

Andrew:大家可能在心理上比较依赖我,实际上我并不是在对此进行管理,或者说并不象人们想象中的那么多管理。我对补丁进行审查并不很多,当递交来的补丁频率很高时,我会说:不好意思,我没有这么多时间来处理;同时我也经常会拒绝一些其他研发人员的请求,因为我实在没有那么多的时间。 

Jonathon:两年前在你参加的一个会议上,你说递交补丁的增长速度会降下来,你觉得现在降下来了吗?还是没有降下来,还在高速进行中? 

Andrew:现在还在高速进行中,原因是:(1)我们现在有很多研发人员,他们对内核有更多的要求,我觉得这个为什么我们现在有这么高的替换率或更新率;(2)现在新的技术不断涌现,还有新的硬件技术等等,比如出现新的CPU,有新的研发等等,都需要进行更多的支持。但我觉得最后内核更新(或审查补丁)的速度会降下来,放慢的,因为一些内核技术趋于成熟,因此内核更新会稳定下来,更新速度会放慢。 

Jonathon:你觉得在内核更新放慢前会有哪些变化,是否有计划来做哪些工作? 

Andrew:人们常常会问我这样的问题。事实上,我不知道未来六个月之后,会给这个内核的更新提出什么样的新内容,因为我们现在没有一个在内核方面统一的控制机制,我们没有路线图,没有计划,我也没有办法说清楚这个内核长期会往哪个方向发展。每个人、每个社区、每个公司都会对Linux内核作出贡献,我审查他们递交上来的补丁,人们告诉我他们做了些什么;我一般也会读你们的报告,比如你刚才在会上的发言,从中我也知道很多。 

Jonathon:早年间内核的开发,人们贡献一个补丁,放到网上,经常没有反馈,往往要等到一个新的版本发布时才能看到结果。在你主持内核维护工作后,我觉得你带来了一个很好的变化,即建立了一个积极的反馈机制,当人们把补丁放到网上来时,会听到一个反馈,这样他们放上来的补丁不致被人遗忘,我想进一步了解这个积极反馈的机制。 

Andrew:我总是希望保证对每一个作出贡献的人会有一些响应。对一些人的成果,如果你发过来,如果其他人有所评论,而我没有给你评论的话,表示我同意其他人的评论;如果我与其他人的意见不一样的话,我会给你一个我的响应或者反馈。我在圣诞节过了两周假期,当时积压了500个补丁等我回去看,所以我就不断地进行这方面的审查工作。如果你发过来的补丁,你觉得我放在那儿没有理会你,请你给我发一个私人邮件,我会给一些反馈;一般来说我会告诉你,比如说有些人可能反对,有些人可能赞同,我一般会给一个反馈的。 

Jonathon:人们在考虑加入到我们这个社区中来时,他们不知如何加入进来,他们难以找到如何加入的方式,不知和我们社区如何交互?所以我有一个问题,对于新的开发者而言,要成为这个社区的一个部分的话,他们如何加入进来,如何避免一些错误? 

Andrew:我觉得有一件事人们要小心,那就是我们都通过电子邮件来工作,如果你希望有一个人对你有一个回应,而且是非常恰当的回应,这对没有收到回应(如一周都没有回音)的你来说将是很难过的,所以从别人那里收到邮件是非常重要的。 

我们也会经常问自己,你们如何开始这个内核开发呢?新的开发者如何加入进来呢?其实我认为,你不要问这个问题,只要开始介入开发工作就行了。 

首先你需要具备一个非常好的英语阅读的能力,你需要写英语,需要有网络连接和计算机;然后就可开始内核开发,把你的计算机连到网络上,下载一下内核,这时就可开始进行开发工作了。 

加入到社区,要熟悉社区的环境,要花2-3个月来熟悉环境。当你下载最新的内核版本后,可能会发现一些缺陷、一些错误,那么要和其他开发者进行交流,研究如何解决这些问题,这是一个非常简单的过程。你如何与其他开发者交流,这是你要熟悉的社区环境。在经过2-3个月后,你就可能成为了一个内核开发者,也成为了这个社区的一员。这样一步一步进行,最重要的是开始,一旦做了2-3个月的开始工作,就会非常熟悉社区的整个环境。 

下一步就需要考虑你自己贡献什么,做哪些原创性的工作,发出那些变更或补丁。然后在社区的整个变更库里有你的名称,人们可以搜索到你的名字,可以看到你做了哪些工作。 

这才是以非常正确的方式来开启你自己的内核开发的工作生涯。 

有的公司的做法是扩展一群开发者,通过这种方式向社区申请加入并进行开发工作。 

在社区开发者中,其实有很多竞争对手。 

在人们参加到整个开发过程中时,他们需要进行交互。很多人在推出补丁时非常礼貌(要注意人际关系的礼仪),人们在相互打交道时,说话的人不一定代表自己,可能代表别人;有人说的话,上千人反对,有人说的话所有人同意,如果所有人同意,可能使你的工作可以顺利进行,在更多的情况下如果遭到上千人反对,说明你不要再坚持己见这样去做。 

其实一些非常有名的人士,他们也不能代表所有的人说话,他只能代表他自己说话。 

Jonathon:我希望我能同意你的说法。还有一个开发者遇到的一个问题,在内核变更时,一个开发者可能要花很长时间才能进入,有的补丁审查时间很长,开发者发送补丁后,他们将预期多长的审定周期? 

Andrew:我非常关心回归测试,其实我不希望人们发送过来的这个补丁,如果不好的话,会影响很多人的系统。如果一个已经运行的系统,大家都在使用,当然它的影响是非常大的,所以审查补丁时要非常小心,非常谨慎,对这样的补丁常常会花费我很长的时间去理解;当我有信心这个补丁不会产生很大不良影响时,才会决定把它添加到新的版本当中。因为这是一个内核,每个人都在用,所以这是一件非常严肃的事。(COPU整理)
评论次数(0)  |  浏览次数(666)  |  类型(计算机) |  收藏此文  | 
 
 请输入验证码  (提示:点击验证码输入框,以获取验证码