一个项目需要什么
大部分开源项目至少提供了最低限度的标准工具用于管理信息:
网站
主要是一个集中将项目信息发布给公共的单向渠道。网站也可以作为其他项目工具的管理界面使用。
邮件列表
通常会是项目中最活跃的通讯手段,是“可记录的媒介”。
版本控制
让开发者可以方便地管理代码的变更,包括回复和“变更转运”。让每一个人能看到代码的变化。
Bug跟踪
使开发者可以追踪他们正在工作的内容,互相协调,以及计划发布。让每个人都能查询Bug的状况并且记录特定Bug的信息(例如重现方法)。不仅能用于对bug的追踪,而且能用于任务、发布和新特性等等。
即时聊天
一个可以快速和方便的进行讨论和问答的地方,缺点是并不总是能完整地归档。
这个工具集中的每个工具满足了不同的需要,但它们的功能都是相关的,这些工具必须能协同工作。下面我们将检验它们怎样做到这一点,而最重要的是如何让人们使用它。网站将放在最后讨论,因为它更多的是扮演其他组件黏合剂的角色,而不是工具本身。
通过使用包装主机你也许能避免很多选择工具和配置的头疼事,包装主机是一个提供预包装,模板化的网页区域,以及可运行一个自由软件项目的所有工具的服务器。关于包装主机优缺点的讨论可以看本章后面的the section called “包装主机”。
[[12](http://producingoss.com/zh/technical-infrastructure.html#idp5236720)] 摘自《人月神话》,1975。参见http://en.wikipedia.org/wiki/The_Mythical_Man-Month和http://en.wikipedia.org/wiki/Brooks_Law。