Most open source projects offer at least a minimum, standard set of tools for managing information:
Web site -
Primarily a centralized, one-way conduit of information from the project out to the public. The web site may also serve as an administrative interface for other project tools.
Mailing lists -
Usually the most active communications forum in the project, and the "medium of record."
Version control -
Enables developers to manage code changes conveniently, including reverting and "change porting." Enables everyone to watch what's happening to the code.
Bug tracking -
Enables developers to keep track of what they're working on, coordinate with each other, and plan releases. Enables everyone to query the status of bugs and record information (e.g., reproduction recipes) about particular bugs. Can be used for tracking not only bugs, but also tasks, releases, new features, etc.
Real-time chat -
A place for quick, lightweight discussions and question/answer exchanges. Not always archived completely. Each tool in this set addresses a distinct need, but their functions are also interrelated, and the tools must be made to work together. Below we will examine how they can do so, and more importantly, how to get people to use them. The web site is not discussed until the end, since it acts more as glue for the other components than as a tool unto itself. You may be able to avoid a lot of the headache of choosing and configuring these tools by using a canned hosting site: a server that offers prepackaged, templatized web areas with all the accompanying tools needed to run a free software project. See Section 3.7.1 later in this chapter for a discussion of the advantages and disadvantages of canned hosting. |