近几年来,由Canonical领导的Linux发行版Ubuntu凭借优秀的用户体验和功能取得了快速的增长,Ubuntu 10.10 Maverick Meerkat即将在10月底发布,不久我们就将看到***的Ubuntu服务器和桌面版带来的创新,Ubuntu能取得今天的成就,和Canonical CTO Matt Zimmerman准确的战略眼光和团队坚定的毅力是密不可分的。
51CTO特别专题推荐:Ubuntu 10.10——梦幻般的狐獴国度 | Ubuntu 10.04——清醒的猞猁
这可不是一个小壮举,要让项目和所有开发人员组织有序是一个规模宏大的任务,需要做好全球范围日常工作的协调,但正如Zimmerman所说的,他们采用了恰当的方法和正确的流程才得以保证Ubuntu项目取得成功。
Ubuntu的开发团队
Zimmerman对项目的跟踪从未间断过,确保团队成员之间保持密切沟通,这是一个与众不同的的组织,首先,虽然Canonical在多个国家设立了办事处,但Zimmerman手下的大部分工程师并没有在这些地方工作。
Zimmerman说:“我的团队大约有120人,但只有不到5个人长期呆在办事处工作”,他同时表示,他每季度会定期和团队成员面对面平等交流一次,但要真正坚持下来,是需要耐心和魄力的,Zimmerman却做到了,因此他成功了。不过Zimmerman说了,要坚持定期交流还是需要一些方法的,例如,Zimmerman说Canonical工程师的许多事情都是通过IRC,Wiki和电话会议完成的,团队也使用开源的Gobby工具进行协作编辑,使用Mumble搭建了语音聊天室。
Zimmerman说:“Mumble就像是支持语音的IRC,你可以设置一组频道,团队成员可以进入不同的频道寻找相关的人交流,他们可以自由进出这些频道,就象进出房间一样”。
工程组织通常喜欢使用白板分享想法,Ubuntu团队也不例外,虽然Canonical员工和Ubuntu贡献者在地里位置上是分散的,但Zimmerman说很多事情是依靠共享桌面和屏幕完成的,不过他也承认,不管协同技术多么先进,也无法取代一对一使用白板交流的效果。
Ubuntu的开发过程
至于项目总体目标管理,Canonical使用它自己的Launchpad平台。Zimmerman说:“Launchpad提供了一些基本的项目管理支持,我们还在开发其它工具实施跟踪”。
Zimmerman掌控着项目的全局管理蓝图,Canonical有专门的工具从Launchpad提取数据制成报告,Zimmerman看得最多的报告关键部分是燃烧图,燃烧图是Scrum敏捷软件开发方法的重要元素。
Zimmerman说:“它本质上是一个条线图,显示了在你的迭代中还有剩下多少工作要做,假设项目总共有200个任务,根据你的计划从200到0画一条趋势直线,在项目开展期间,根据实际进展在图上画出真实的进度趋势,***通常会画出一条曲线,这意味着项目与你制定的计划存在偏离,我们可以通过燃烧图实时了解项目的进展”。
虽然Zimmerman也使用了Scrum风格的燃烧图跟踪项目进度,但他表示并没有严格遵守一种特定的开发方法。
Zimmerman指出,使用Scrum方法中的某些元素后,他可以根据团队的生产能力做报告。他说:“我们可以准确地知道在一段时间内究竟能完成多少任务,让下一步预测变得更准确”。
Ubuntu与Debian和社区的联系
从测试的角度来看,Ubuntu工程组织有多项任务在并发进行,Zimmerman说硬件认证测试工作在硬件实验室日夜不停地运行,诸如兼容性等测试完全实现了自动化。此外,从旧版本进行升级的测试也是完全自动化的,当然也少不了手工测试,但这项任务通常是由Ubuntu社区完成的。 (说到社区,请大家参考这里开源社区是如何运作的——Ubuntu篇)
Ubuntu开发人员并不是在真空中运转,他们也是上游开源生态系统的一部分,大多数上游软件的补丁都是由他们贡献的,有时Ubuntu还会先于上游发布相关漏洞的补丁。
Zimmerman说:“我们先于上游发布补丁主要是为了满足我们的***期限需要,我们的目标是为了将δ变得更小,每个发布周期,我们都要花大量的工程时间在上游补丁上”。
Ubuntu也严重依赖于它和Debian Linux发行版的关系,Zimmerman指出,大多数Ubuntu补丁提交给Debian都被接受了,至于其它上游项目,Ubuntu实在是没有太多的精力为它们做贡献。
拓展:Debian与Ubuntu 父与子的对比哲学
Zimmerman说:“我们的工作充满挑战,因为牵连的项目太多了,我们不能与开源社区的每一个人都保持密切的私人关系,但我们必须要能够一起协同工作”。
原文出处:http://www.linuxplanet.com/linuxplanet/reports/7169/1/
原文名:How Ubuntu is Made
作者:Sean Michael Kerner
【编辑推荐】