The Cathedral and the Bazaar

Monday, January 19, 2009 1:04
Posted in category General

If you know me, you know that I am by no means a “hacker.” I have however managed to pick up some rudimentary skills over the years in a few assorted programming languages. I view writing code in much the same way as some people view playing golf: because I do not practice it nearly as often as I should in order to become proficient, it yields a lot of frustration and very little reward. The latest programming language to catch my attention is called Perl. As I do not wish to spend money buying books on the subject (computer books are often expensive!), I found myself reading about Perl on Wikipedia last night. As many of you know, the whole point of Wikipedia is that one thing often leads to another and I soon found myself reading about “open sourcing.”  In particular one quote, evidently famous in certain circles, caught my attention: “given enough eyeballs, all bugs are shallow.”

First, a word about “open sourcing.” A general definition might say that open source is a way to create things or solve problems so that all information is freely available. In the terms of a computer program, this takes the form of making the source code that makes a program work freely available on the Internet so that anybody may read and improve upon it. Mozilla Firefox, the Internet browser I am currently using, is a classic example of this. In politics, you could argue (but I will not) that democracy is the closest thing we have to open source: candidates present themselves and make themselves transparent so that the people of a nation can select which one will best serve their interests. Obviously, this may not work exactly like it should in all (any?) cases.

The man attributed to the quote “given enough eyeballs all bugs are shallow” is named Eric S. Raymond and he is, unlike me, a very skilled computer scientist. He has written a collection of essays, entitled “The Cathedral and the Bazaar” (link) in which he argues that there are two ways to do open source. The first is the “Cathedral” model. The Cathedral model involves a small group of people tackling a problem together and then releasing their work to anybody who wishes to view it. Slightly different is the “Bazaar” model, in which the problem or work is displayed publicly (usually on the Internet) and anybody interested on working on the project may do so.

I am a believer in the power of community. I believe that humanity is, in fact, intrinsically communal. So obviously I am drawn to open sourcing: not simply in software but also in economic development. I agree that the more people tackle a problem, the better chance we have at solving said problem (or if you wish, “given enough eyeballs, all bugs are shallow”). However I do concede that too many people working towards the same goal in an unorganized fashion is not helpful. After all, there is a reason the expression “too many cooks spoil the broth” came to be.

This is why I prefer the Cathedral model, albeit in a slightly different format. To expand the metaphor: why settle for a Cathedral when we can have a whole religion? More helpful than 100 people in some situations may be 10 groups of 10 people, or 5 groups of 20, etc. Communication and cooperation between these groups makes bugs shallow indeed. This can take the form of the groups working on different parts of the same problem (think: the International Space Station) or tackling the same problem and comparing results. I think this is very much in the same spirit as Profugo’s GALL structure, which you will hear more about in the future.

Of course, I would be a hypocrite of the worst type if I did not ask: “What do you think?” Are there benefits of the Bazaar model that I am missing? Is community as powerful as I give it credit for, or am I perhaps too optimistic about the ease of seperate groups working together? Join in the discussion, on Profugo’s Facebook group or here on the blog, and let your voice be heard! You are, after all, part of the global community.

You can leave a response, or trackback from your own site.

One Response to “The Cathedral and the Bazaar”

  1. Ashwin says:

    January 19th, 2009 at 4:55 pm

    I think both models may be applicable for different types of problems. Sometimes it is helpful to have a framework (sort of like a foundation) on which to try out different solutions. It is also helpful to have a very knowledgeable architect who acts as gate keeper for check-ins. If there is such a person involved, the bazaar model is great! People can come in a contribute code and new ideas. However, this would mean the framework (or underlying architecture) needs to be strong. Many times, people get hung up on the framework and needing to change it, rather than building the solution.

    Very cool generic frameworks can be developed today because of the wonders of XML.

Leave a Reply

You must be logged in to post a comment.