kcw | journal | 2000 << Previous Page | Next Page >>

I just read Eric S. Raymond's "The Cathedral and the Bazaar" paper, which describes the Linux development model (the Bazaar) as he sees it and why it is superior to current development models (the Cathedral). It is an interesting read from one of the most public proponents of the Open Source movement.

Linux started in 1991, Eric got on board in 1993 when he decided to expand a mail program which is now fetchmail. He used the fetchmail mailing list to encourage people to talk about and contribute to fetchmail, to bring to it features that people wanted. From this experience and from his observations of the Linux community, he has come up with some conclusions as to why the Open Source programming model works. There are a lot of observations, and I'm probably going to miss some, but here are some of the things I got out of the paper.

Basically, for any project the model is that a coordinator (or group) makes sure that everyone remains informed. Developers are encouraged to make their own contributions, with the reward being greater recognition and the thanks of your peers (which can be quite heady gratification). People are also encouraged to use the software, report any problems and make suggestions.

It's important to have good communication. It's also important to have running versions of the code. So that's what the coordinators are for. They also apply any changes and (depending on their judgement) fork the code as needed to keep different ideas going. I'm extrapolating too much. The important things are to have running code so that people can use it and work on it, and for the coordinator to listen to the developers for good suggestions and for any code contributions.

Why does the Open Source model work? One reason is its free-form style. People contribute because they want to contribute. They see something that interests them, want to fix it or improve it, and do it. They do it for the ego boost, whether it is knowing that they've contributed to a popular program or the thanks of users or seeing their name attributed to a project. This motivates people to not only put in a lot of time to make a fix/change, but also to make sure it's right, if only to avoid being embarrassed in front of his peers.

I think that's the main reason that Open Source works. You can't pay someone to be enthusiastic, and enthusiastic people do the best work. Knowledge, skill, and ability also count, but in general people lacking in those things know enough not to make fools of themselves by getting in over their heads (more than a couple of times, at least).

Do I think this is the wave of the future? Let me make a bit of a comparison. The Open Source movement, where people are motivated to contribute because it makes them happy (to help others, to get praise, to have a better tool that they can use) reminds me much of the world of Star Trek: The Next Generation. Captain Picard once said that without money and with unlimited energy, people were finally free to pursue what they truly wanted to do. People don't stop working, they instead find work that challenges them and makes them happy, helping make the Federation a relative utopia by today's standards.

So let's go back to the question, is this the wave of the future? I don't think so, not in the near term. Not without solving world hunger and basic wants. Right now Open Source doesn't solve the problem that people still need to make money to survive in this world. Sure, people will contribute their talents for free, but most of those people already have regular jobs. Precious few make their money from writing Open Source software.

Maybe that's a bit harsh. The Open Source movement will do great things, and the software is likely to be the most reliable software out there. But I don't think the computer industry will be able to switch wholesale to Open Source methodologies. Not without changing the way companies make revenue. If you can't make money from software sales, then tech support and consulting become your revenue streams. But you still need to pay the programmers, and companies that pay programmers have to compete with companies that don't, providing the same services for less because they don't have the programmer overhead.

Copyright (c) 2000 Kevin C. Wong
Page Created: August 18, 2004
Page Last Updated: August 18, 2004