Author: Eric S. Raymond
Date read: 2021-12-10
I believe this is a revolutionary book for the software industry. It challenges the software development model, where a handful of engineers develope and maintain a software, according to the requirements of the management and customers.
The book gives two different metaphors for different software development models: cathedral and bazaar.
Cathedral is a software development model, where there is a fix engineer team that is responsible for the software. The product gets does not get released frequently and the team strives to make the product bug-free before releasing it. The software gets developed as if a cathedral is built. In a cathedral hierarchy rules and only restricted people are involved.
In contrast, bazaar is a software development model where no one will stop you from trading. In a bazaar model, you release the software quite frequently (maybe even once a day), and with enough co-developers all the bugs become shallow. This is exactly how Linux expanded as an open-source project.
The author argues that bazaar model wins the software development model competition by leaps and bounds, since there are many interested and talented people in the bazaar who seek joy in playing with interesting stuff. The comparison between GCC (GNU Compiler Collection) and EGCS (Experimental GNU Compiler System) is a clear evidence for this claim. GCC was being developed under cathedral model, whereas EGCS forked EGCS as an open source project, and only after some months EGCS became so better that FSF halted GCC and announced EGCS as its official GCC.
The author then raises a question: how to establish a bazaar? Start with a problem that is interesting for you. Write a piece of code that:
- runs
- the people should be convinced that it has the potential to improve
Nowadays the power of open-source is much more clear than when the author wrote the book. Linux continues to roar, Open Steam Map as the richest map and even asking the public about how to solve the biggest problems, e.g. extracting oil from a lake.
Rating: 5/5