Sunday, March 16, 2008

The Cathedral and the Bazaar

When Raymond speaks of 'cathedral' style of software development, he refers to the way cathedrals were so meticulously built by designated professionals. However, he says that Linus Torvald's style of software development is more analogous to a bazaar, in which there are many different opinions and approaches from various people.
For successful cathedral-style programming, professionals have to be found and hired for the project. However, what makes bazaar-style projects so successful is having many users. With a lot of users, Raymond says many can become co-developers. The more people who can use and access the code, the more people there are to find and fix bugs.
I agree that bazaar-style development is very successful, but as we discussed in class, it does not apply to all projects. More specialized and complex projects are better with the cathedral-style developing. For example, a small house or public space could have been built and upgraded by a group of architects and carpenters, but cathedrals really had to be built by professionals who couldn't afford to make any mistakes. Successful open-source projects are those that do not rely too much on specialized knowledge and are not so complex that a minor change can affect a major problem. For example, a text editor, compiler, or media player can be made in the open source fashion.
Those that do rely on specialized knowledge, such as high-end video games and audio/video/image editing software, are better off with the 'cathedral-style' development because development can be more easily delegated, and all parts of the software can be edited between programming groups within the company that can communicate with each other to prevent major problems.