Previous    Table of Contents    Up    Next

6. How To Do Open-Source Development

There is no one correct way to run an open-source project. Successful open-source projects can be quite different from each other. Some, such as Apache, are very democratic and volunteers are welcome to participate in all activities. Others, such as MySQL, where almost all of the developers work for one company, primarily do their development internally and then release the results; users and developers engage with each other to report bugs, request new features, and generally discuss the software, but development happens less visibly. There are even some projects that do not have a community at all, but consist of just a web page where new versions are made available for people to download, and perhaps an email address where comments can be sent.

The more a project encourages conversations and interactions among all of its community members, the more benefits it will get from using open-source. The key point about open source is that the development process must really be open: All the developers, both internal and external, need to have the same access to the source code and be able to fully participate in discussions and decisions about its design. If you currently have a geographically dispersed workgroup, then you are already probably aware of many of the issues involved. More traditional, collocated workgroups will probably need to change the way they currently work.

In this chapter we look at the major activities needed to do an open-source project and also discuss the process of creating a new release. As we do so, note the new jobs that need to be done. To have a successful open-source project requires that there be people to do those jobs, so you will need additional resources. We also discuss participating in an existing open-source project and using an open-source-like process, corporate source, within your company.

One other important point to keep in mind as you read on is that although most of the focus in this section is on developers, users are also a big part of the process. It is important to keep users involved in the process and not treat them as second-class citizens.


The Infrastructure Needed for an Open-Source Project

Software Life Cycle

Building a Community

Ending an Open-Source Project

Joining an Existing Open-Source Project

Open Source within a Company

How to Do Open-Source Development

Innovation Happens Elsewhere
Ron Goldman & Richard P. Gabriel
Send your comments to us at IHE at

Previous    Table of Contents    Up    Next