Critique of CatB

Ben Miller
November 6, 2000


One of the main supporters of open-source software is Eric S. Raymond who I will now refer to by just using ESR. ESR published a few essays, that had been previously published on-line, in a book called the Cathedral & The Bazaar. The three essays that I am going to discuss are The Cathedral And The Bazaar (CatB), Homesteading The Noosphere (HtN) and The Magic Cauldron (MC).

CatB is about ESR's development of fetchmail which used Linus's bazaar style of development. ESR thought that he knew about the benefits and limits of open source. He had released a great deal of software either by himself or with the help of other developer's. One of the limits that the bazaar style faced was the inability to produce large tools like the Emacs editor or operating systems. Software of this magnitude still had to be developed using the cathedral model. Linux proved him wrong. The essay brings up lessons that he learned from his experience with the bazaar model.

I am only going to address a few of the lessons that effect me personally.

Companies like Microsoft produce software because they pay attention to certain focus groups, psychological studies, and marketing. They can only address the problems of the community. In the open source model hackers produce code that they have some kind of passion about. This is what ESR refer to as "scratching a developer's personal itch." If they have a passion for it there is a good chance that they use it often and might know more about its capabilities and limits. Knowing the limits is half the battle in fixing the problem. In the closed source world the hacker does not have the opportunity to deal with this problem that might be causing him frustration.

I know from my personal use of commercial software and games that there are certain bugs in the software or glitches in the game that I would like to solve. I might only notice some of these but there is another x number of people that use the software and might notice some other problem. In the cathedral model I feel less inclined to send an email to some large company informing them about their problem. In the bazaar style I can send an email directly to the maintainer or mailing list and I feel like it would receive direct attention.

"Release early. Release often. And listen to your customers."

This brings me to a topic that was brought up by Vinod Valloppillil in Halloween I that was published by ESR.

Parallel Debugging

ESR believes that code debugging is an activity whose efficiency improves nearly linearly with the number of individuals tasked with the project. There are little/no management or coordination costs associated with debugging a piece of open source code -- this is the key `break' in Brooks' laws for OSS.

Raymond includes Linus Torvald's description of the Linux debugging process:

My original formulation was that every problem ``will be transparent to somebody''. Linus demurred that the person who understands and fixes the problem is not necessarily or even usually the person who first characterizes it. ``Somebody finds the problem,'' he says, ``and somebody else understands it. And I'll go on record as saying that finding it is the bigger challenge.'' But the point is that both things tend to happen quickly.

"Given enough eyeballs, all bugs are shallow."

There are issues that arise in the open source world. ESR states that open source software survives in a gift culture. In a gift culture, "social status is determined not by what you control but by what you give away." Within it, there is no serious shortage of the `survival necessities' -- disk space, network bandwidth, computing power. Software is freely shared. This abundance creates a situation in which the only available measure of competitive success is reputation among one's peers.

The problem I wonder about is what happens if people stop giving in this gift culture? Maybe I donÕt understand why this will not happen because I am an OSS new-bee. The reason that hackers can provide code for others to use is because their income is stable enough that they have time to give to OSS. If this is not the case, then they are truly obsessed with open source software that they want to give all/some of their free time to writing OSS? Will money ever be taken out of this market so that people wonÕt have time to spend away from their paid professions? How do the programmers who have other interest outside of programming and computers find time when they are busy with their other hobbies as well? Is there anything out there that will stop us from being able to give away just for a reputation?

The questions about the how OSS can be an economically smart choice rather than commercial software are answered in MC. ESR states, "software is largely a service industry operating under the persistent but unfounded delusion that it is a manufacturing industry." He goes on to talk more about how the consumer and the vendor lose out in this model.

Instead we will be dependent on the sale of our service and support for the product which would be more useful than the markup of the salable good.

ESR is not completely against closed source as I thought before reading MC. There are times when a piece of software is only going to be short-lived and to expose the source might give the advantage to the competition. One example might be a video game that is at most good for a year before the new version is released.

Time will tell which model will out do the other.