(三)质量保证
开放源码软件产品取得令人瞩目的质量水平,这一点在封闭源码开发世界被认为是困难和耗费资源的软件开发工作之一。开源软件取得高质量的原因主要包括以下三方面:(1)开发人员是根据自己在相关应用领域的兴趣和知识来自我选择的;(2)开发人员对于项目需求心照不宣,因为他们自己是软件的用户;(3)技术交流(包括错误报告)是公开进行的。此外,调试工作也由于被分解到许多具有不同知识背景的人手中而更高效。
(四)构建和测试管理
开源项目的开发活动是在许多开发人员中发生的连续和并行的行为,有时某个开发人员的更改可能与其他开发者进行的更改发生冲突,通常情况下版本控制活动能够解决这些冲突,但是有时却不行。那些被开发用来支持软件经常自动构建和测试的工具成为帮助尽早发现这类逻辑冲突的强大工具。
(五)项目管理
任何项目都需要明确的目标、资源配置和进度安排,开源社区采取独特的、灵活的方式来解决这类问题——共享的“TO-DO”列表用于跟踪那些需要完成的任务,个人的“TO-DO”列表帮助开发人员保持进度,里程碑列表则基于用户和开发者的反馈设置了灵活截止期限。
(六)知识管理
知识是区分开发高手和初学者的具价值的资源,高效地共享知识则是开源社区成功的关键所在。清晰地管理知识可以帮助减少初学者的学习曲线,从而降低潜在贡献者的入门壁垒,同时自动地将专家用于培训他人的负担降至低限度。