Monday, September 13, 2010

Background for The Cathedral and the Bazaar

Eric Raymond
One of the assignments for this week is to listen to a speech by Eric Raymond on the subject of his famous essay, The Cathedral and the Bazaar.  It is unclear when he gave this speech, but it was possibly in 1997 at the Linux Kongress conference.

In this speech, Raymond talks about his insights into a programming philosophy he dubs "the bazaar".  His thoughts draw heavily from observations of the Linux operating system development process, which is coordinated by Linus Torvalds.  Linux is free software, written entirely by volunteers, and may be modified and redistributed by anyone.  While Linux has not had much of an impact on the desktop market, it runs about 20 to 40% of the servers on the Internet, and is increasingly being used to run cellular phones.  The Android phone system developed by Google is based on Linux, for example.

Linux is a revolutionary system.  As Raymond details in his talk, most software before this time used a "cathedral" style of development.  A company would write code, release a new version maybe once a year, and try to ensure that all the bugs were fixed before each new version was released.  The only people allowed to see the source code -- the actual program itself  written in a language humans can understand -- were employees working on the project for the company.  Users of the program received only the machine code -- just the ones and zeros and not anything they could make sense of.  Users might provide some feedback in surveys, but the bugs they identified or features they wanted would not be incorporated until the next release, maybe a year later.

Linux changed everything about this process.  Linus released code "early and often", meaning new versions didn't necessarily have all the bugs fixed, and came out as frequently as every day.  What's more, users were treated as fellow code developers, so they could see the source code and fix bugs or create new features they wanted all by themselves.  They didn't need to rely on Linus, but they would submit their changes back to him so they could be incorporated in the next release -- maybe the next day.  As Raymond discusses, this meant that Linus could take advantage of a lot of people helping him out.  Raymond coin's Linus' law: "given enough eyeballs, all bugs are shallow", meaning they become obvious to at least one person.  To encourage this kind of contribution, the developer must have good people skills, interact regularly with his users, and provide rewards by incorporating good ideas.

How do principles of openness, freedom, transparency, and participation of the masses relate to Western Civilization?  What lessons can you draw from these experiences as you discover new styles of learning in the digital age?


Kristi said...

Thank you for the background. As I started to listen I felt completely lost, so I stopped the recording and looked up Linux on Google. Which didn't clarify at all. Linux is basically the Martin Luther of the software world- no longer controlled by a set group of people and it's use dictated to others, Linux allows the interaction and opinions of all users that allowed constant improvement and development of new ideas.

Brad said...

I completely agree. I am currently writing a blog post(broken into 2 parts) about Martin Luther and Open Source computing. Its interesting that you would write about it at the same time as I will!

Daniel Zappala said...

The parallels are rich and deep here. There are a lot of fascinating concepts to explore.

Parker Woody said...

You can see the power of people working together in groups. I like how Raymond said that the collaborative brains of many will always trump even the absolute genius of one. As knowledge expands and a person's expertise grows more narrow it is going to become increasingly important to work together.

Dalton said...

So one of the things that I noticed about these ideas is that it goes back to many older business practices. I have been reading the book 'How to win friends and influence people' by Dale Carnegie and I noticed many parallels between what Eric Raymond talked about and what Carnegie teaches in his book. I will write a post on my blog to enumerate some of my thoughts.

Jake C said...

Dr. Zappala, you said that there are ways to capture the economic benefit of free source software. like distribution and services for example. and i saw some of that in my research. what were some specific economic gains that linus made? also regardless of whether i agree or not i still love the parallels between linux and luther.

Jeffrey Whitlock said...

I like the concept, "given enough eyeballs, all bugs are shallow." It seems that this approach could be transferred to the way that government and politics are done. We are supposed to live in a representative democracy, but more often than not, it seems that our government uses a "cathedral" style of development. It sure would be nice to see our government use new forms of digital media to further "democratize" the legislative process.

Post a Comment