Previous Table of Contents Up Next 6. How To Do Open-Source DevelopmentThere 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 ProjectSoftware Life CycleBuilding a CommunityEnding an Open-Source ProjectJoining an Existing Open-Source ProjectOpen Source within a CompanyHow to Do Open-Source Development
|
|||
|