泽元网站内容管理系统(ApacheHarmony开源项目的开发流程(图)(图) )
优采云 发布时间: 2021-11-01 10:18泽元网站内容管理系统(ApacheHarmony开源项目的开发流程(图)(图)
)
Apache Harmony 项目是 IBM 中国上海开发中心近年来参与的一个开源项目。在这个项目中,我们使用了 Bugzilla,一个开源软件开发中常用的错误跟踪系统。
Bugzilla是一个开源的bug追踪系统(Bug-Tracking System),可以管理软件开发中的bug提交(new)、修复(resolve)、关闭(close)的整个生命周期。针对项目的特点,我们在整个项目开发过程中使用Bugzilla作为管理工具。通过这种独特的使用方式,我们积累了一些经验,希望与广大开发者分享。
Apache Harmony 开源项目开发流程
Apache Harmony 提案于 2005 年 5 月被 Apache 软件基金会(ASF)接受,并按照 ASF 的做法成为了一个孵化器项目。作为一个开源项目,所有参与的开发者都需要遵循不同于一般产品开发的开发流程。Harmony 项目的主页上有一个 Get Involved 链接。单击此链接,您可以看到参与项目的一些基本规则。
该项目由大量开发人员提供的许多不同贡献推动。贡献包括代码、文档和反馈。该项目的主要特点之一是希望所有的开发都在社区中进行(透明)。Harmony 项目提供了以下基础设施来保证项目的透明性(图1):
任何在项目开发过程中产生的正式想法和讨论都会发布到和谐邮件组。
任何非正式讨论都会发布到互联网上的#harmony IRC 频道。
所有项目源代码均由公共 svn 服务器控制。服务器进行严格的权限控制,接受代码捐赠。
新特性的提交,包括项目开发中产生的缺陷(Bug),都会提交到JIRA系统,然后再提交补丁。稍后,授权的开发人员会将这些补丁提交到 svn 服务器。
其他一些相关文档和讨论发布在 wiki 系统上。
图 1:Harmony 项目的透明开发流程
项目管理(图片一)" />
如您所见,在这个开发过程中,任何关于该项目的想法或讨论都发生在该项目的邮件组中。项目中的所有代码,包括文档和其他资产,均以补丁提交的形式通过JIRA系统提交。然后提交者将 JIRA 系统中的补丁安装到 svn 代码库中。
在我们的开发团队中,大部分人都扮演着 Contributor 的角色,他们负责的主要任务是:
在邮件群上讨论需要开发什么,在邮件群上得到其他开发者的意见,形成设计决策。
根据邮件组上形成的设计决定,开发并提交补丁。
补丁是开发团队的主要产品,bugzilla 系统是一个面向补丁的系统。为了提高代码质量,结合bugzilla系统提供的功能,开发团队内部制定了自己的开发流程(图2).
开发团队内部的开发流程
图2 开发团队内部开发流程