FLOSS Manuals

 English |  Español |  Français |  Italiano |  Português |  Русский |  Shqip

NOSI Primer 2012

Appendix 2: How FOSS gets made

The FOSS Development Model

The FOSS development model is unique and became possible only with the advent of the Internet and the communication boom caused by it. The cathedral and bazaar analogies are used to contrast the FOSS development model with traditional software development methods. [4]

Traditional software development is likened to the way cathedrals were built in ancient times. Small groups of skilled artisans carefully planned out the design in isolation and everything was built in a single effort. Once built, the cathedrals were complete and little further modification was made. Software was traditionally built in a similar fashion. Groups of programmers worked in isolation, with careful planning and management, until their work was completed and the program released to the world. Once released, the program was considered finished and limited work was subsequently done on it.

In contrast, FOSS development is more akin to a bazaar, which grows organically. Initial traders come, establish their structures, and begin business. Later traders come and establish their own structures, and the bazaar grows in what appears to be a very chaotic fashion. Traders are concerned primarily with building a minimally functional structure so that they can begin trading. Later additions are added as circumstances dictate. Likewise, FOSS development starts off highly unstructured. Developers release early minimally functional code to the general public and then modify their programs based on feedback. Other developers may come along and modify or build upon the existing code. Over time, an entire operating system and suite of applications develops and evolves continuously.

The bazaar method of development has been proven over time to have several advantages:

Reduced duplication of effort
By releasing programs early and granting users the right to modify and redistribute the source code, FOSS developers reuse the work produced by compatriots. The economies of scale can be enormous. Instead of 10 companies, each with five software developers writing a single networking application, there is the potential for the combined efforts of 50 developers. The reduced duplication of effort allows FOSS development to scale to massive, unheard of levels involving thousands of developers around the world.
Building upon the work of others
With the availability of existing source code to build on, development times are reduced. Many FOSS projects rely on software built by other projects to supply needed functionality. For example, instead of writing their own cryptographic code, the Apache web server project uses the OpenSSL project’s implementation, thereby saving thousands of hours of coding and testing. Even in cases where source code cannot be directly integrated, the availability of existing source code allows developers to learn how another project has solved a similar problem.
Better quality control 
"Given enough eyeballs, all bugs are shallow” [5] is an often-cited quotation in the FOSS world. It means with enough qualified developers using the application and examining the source code, errors are spotted and fixed faster. Proprietary applications may accept error reports but because their users are denied access to the source code, users are limited to reporting symptoms. FOSS developers often find that users with access to the source code not only report problems but also pinpoint the exact cause and, in some cases, supply the fixes. This greatly reduces development and quality control time.
Reduced maintenance costs
Maintenance of any software package can often equal or exceed the cost of initial software development [6]. When a single organization has to maintain software, this can be an extremely expensive task. However, with the FOSS development model, maintenance costs can be shared among the thousands of potential users of a software application, reducing per-organization costs. Likewise, enhancements can be made by the organization/individual with the best expertise in the matter, which results in a more efficient use of resources.

 
The above is from: http://en.wikibooks.org/wiki/FOSS_A_General_Introduction/Introduction#The_FOSS_development_method

There has been error in communication with Booktype server. Not sure right now where is the problem.

You should refresh this page.