Home

Skip to end of metadata
Go to start of metadata

Introduction

Open source as a movement in the software realm is successful and growing rapidly. Sourceforge.net alone hosts over 150,000 open source projects and has over 1.6 million registered users. Freshmeat has over 40,000 projects. The Linux source code is estimated to be over 30 millions lines of code which, using conventional methods, would have taken almost 8,000 person years at a cost of over $1 trillion (Wheeler). The Apache HTTP server has over 70% market share and at 29% the Sendmail email server has the largest share of its market (securityspace.com).

This productivity and momentum has been attained using a set of generally-accepted principles and philosophies that are able to produce high-quality software. Exactly how and to what extent these principles are applied is up to the creators and administrators of each open source project. Newcomers to the world of open source are expected to educate themselves on the general principles and etiquette of participating in each specific project. There is a high degree of variability in the tone, leadership, procedures, and development technologies across open source projects.

The principles of open source are exactly that, a set of guiding philosophies. They are not, as some represent them to be, a software development methodology. Given the tangible outputs that the open source movement has created so far it is surprising that, comprised as it is of very vocal and creative people, it has not noticeably settled on, nor even proposed, a well-defined methodology for developing open source software.

The term 'open source' was coined in 1998 (to avoid the ambiguous term 'free') but the roots of the movement can be found in the 1960s and 1970s. Given its success and history why is there no accepted open source software development methodology? Is there a suitable contender?

Labels

scrum scrum Delete
agile agile Delete
development development Delete
Enter labels to add to this page:
Please wait 
Looking for a label? Just start typing.