The Open Source Methodology

The concept of open-source software development has only recently gained popularity as a radical approach to developing projects. Two classic examples the Linux Operating System and Netscape's Web browser were driven largely because of the rise of the Internet, which proved itself as being an effective communication medium. Developers from around the globe working on open-source projects now communicate with one another using tools such as FTP, newsgroups, developer mailing lists, and e-mail. With open-source, you are not limited to certain projects. Any industry can make use of an open-source model if approached correctly.

The objective of any open-source project is the nonproprietary fashion by which a product's source code is readily shared with any end user using open-source licensing. It is user driven with developers all over the globe becoming part of a user community when working on a specific project. As one developer finishes working on the initial source code and adds to its basic functionality, the source code is passed along to the next member of the user community. Coordination and communication for the project is essential; therefore, project methodology is needed. Concerns of critics of open-source methodology include:

There is virtually no design documentation or other project documentation.

There is no system level testing.

There are no true user requirements apart from basic functionality.

The marketing of the product, when completed, remains incomplete.

The methodology is revolutionary and has had great success to date. A few hobbyist developers initiate and drive the projects. They code-and-fix the source code until it is acceptable to them and then they pass it along to the user community. Figure 4.9 shows the two basic approaches to this method. Approach A starts with a team of developers designing and coding the software. They debug the software until the source code is acceptable. The source code is then released to the general user community, who in turn adds more functionality. The original team plays the role of project coordinators and planners. Approach B starts with a single developer who builds and codes the initial version with the minimal functionality he or she requires. It is then released to the user community to build further. The original developer becomes the project owner and coordinates the completion of the project.

On 2 L«w3

teroiuifWi

bMitfi £ CM*

WHM

£>t»«MSI P*ot«l Q«*

Figure 4.9: Open source methodology.

A typical iteration (1 - n) of an open-source project follows these steps:

The developer carries out the design and code generation either individually or in a team. The developers or user community executes concurrent debugging and testing. New functionality and identified bugs are passed along to the project owner.

A new release is then put together based on the identified bugs and all new functionality that is being requested is reviewed.

When the new release occurs, an open-task list is distributed to the user community, seeking members to voluntarily execute the tasks on the list.

miniii'i

Project Management Made Easy

Project Management Made Easy

What you need to know about… Project Management Made Easy! Project management consists of more than just a large building project and can encompass small projects as well. No matter what the size of your project, you need to have some sort of project management. How you manage your project has everything to do with its outcome.

Get My Free Ebook


Post a comment