The Cathedral and the Bazaar is an in-depth essay written by Eric S. Raymond which was later published as part of a book. The essay goes over many important aspects of software engineering methods. The author uses his experiences with the process of Linux kernel development. The essay also includes his observations with time spent managing a mail utility known as fetchmail, an open source project. Listed in the essay are 19 guidelines for help with creating good open source software. With each guideline, the author expands upon it and gives his own experience and thoughts.
So what exactly is the Cathedral and what is the Bazaar? They are both free software development models but their differences in development style sets them widely apart.
The Cathedral model likened to a cathedral structure is software built by organizations such as Microsoft. In the Cathedral model, there are only a small group of developers in control of the development of a piece of software. The source code is only available with each software release. In between releases though, the code is not available to the public but rather the small group of developers.
The Bazaar model of the Linux world on the other hand is open source. The code is available to the public. The code is developed by many internet users around the world. With open source code, developers everywhere were writing code and fixing bugs for the software. The reasons for a developer to take the time to develop and write code are many. They may simply enjoy writing software, solving problems and enjoy working together in almost a democratic way to exchange ideas and information on improving the software.
The main thesis and argument of the essay is what the author Raymond states as "Given enough eyeballs, all bugs are shallow." With the Cathedral model, there are only a restricted few software developers overseeing the software and code. When problems do become evident, the bugs are not only hard enough to discover with such a small group of developers, but the prospects of a viable solution is left up to the same few. With the Bazaar model, there are many thousands of people looking over the software daily. These "many eyes" are finding bugs sooner and giving opportunity for others to find solutions quicker.
As pointed out by Raymond, many users of open source like Linux are hackers. With the code available to them, they are able to be extremely helpful with the debugging process. With encouragement of just knowing that they were the one to fix the problem or find a bug can go along way with the hacker's loyalty to not only the software but also to the continuing overall progress of the project.
Overall, The Cathedral and the Bazaar is an excellent read for understanding more about the benefits of open source software. I believe the importance of the theories and guidelines contained within the essay are to at the very least acknowledge them and see how important of a role they play in today's software development. With more and more emerging technologies in computer software, the proven efficiency of the Bazaar model (open source) can be considered and used as an approach to creating usable software in less time.
No comments:
Post a Comment