Off to the bazaar

After reading Eric S. Raymond's The cathedral and the Bazaar, a few things about open source development became apparent to me.  Your user's, or "co-developers" as Eric liked to put it, can be your best friends when developing new software and "If you have the right attitude, interesting problems will find you." .  Through reading Eric's paper he constantly referenced people who he'd come in contact with while developing fetchmail, and explained how each of these people influenced the development of fetchmail.  It became apparent that although Eric had this vague idea of some software he wanted to develop, he found it dumb to "recreate the wheel" as he put it.  He quickly found a few other projects that were already on the go and found the one that closest fit the needs of what he wanted to accomplish.  He(Eric) found a program called popclient that came close to what he wanted to achieve and began sending in bug fixes and patches in order to fix the software.  He soon realized that the man maintaining (Carl Harris) the code lost interest in the project some time ago, and offered Eric the opportunity to take over the program.  It came as a surprise to me that Carl so  easily handed over the reigns of the project to Eric.  From what I understood, Carl didn't want anything in return, but just wanted to know that the project was in good hands, in the hands of someone who truly cared about the program and showed a true interest in it.  I find it so cool that just by showing a true interest in something and wanting to become involved, that Eric went from submitting patches and bug fixes for popclient, to the project lead.  I guess an example like this truly does reinforce the statement Eric made, "If you have the right attitude, interesting problems will find you." .


As Eric continued to develop and make changes to popclient, he began building a following of dedicated users, or as he liked to put it, co-developers.  Eric went on to saying that "Treating your users as co-developers is your least-hassle route to rapid code improvement and effective debugging." and explained how rewarding and satisfying it is to have an active user base. By releasing early, and releasing often, Eric constantly gave his users something to test and debug, and also kept them up to date with what was being developed.  This allowed the users to test the software and give their input on what was being done.  By doing this, Eric was able to create a product that was truly tailored to his users, and also involved the users throughout the whole development process, rather than keeping them in the dark throughout it.  This sort of collaboration and communication between the developer and the users amazing.  It shows that by listening to the users and involving them in the development process, that Eric not only got constructive input on the program, but was also given a free source of help along the way.  He later stated that the single biggest payoff he got while developing the software didn't come from him, but came from an idea from one of the users.  All he had to do was understand the implications.  This also fascinates me, at how most people would allow their ego to get in the way of accepting a good idea from someone else. but Eric embraced his user's, and benefited from it.  It goes to show that listening, involving, and keeping your users up-to-date, can be one of the most powerful weapons in an open-source developers arsenal.


The article in general went on to summarize how Eric emulated Linus Torvalds's style of development while he developed fetchmail and described how it paid off for him.  He explained how it shattered some of the previous conceptions of the "cathedral" style of development he was so formally accustomed to.  After reading the article, it is not only refreshing to know that people are so eager to participate and actively help people who have good ideas, but also encouraging.  Its a comforting feeling knowing that people were so pleased with what Eric had done, that they had sent him emails praising what he had done.  He then said that he had stashed those away in case he ever doubted that his life had been worthwhile.


All of these attributes of the bazaar style of development that Eric outlined in his paper are the things that attracted me to open-source, especially the whole aspect of collaboration.  I find nothing more amazing then the fact that hundreds of like minded people from across the world can come together to develop a single program.  Its a refreshing take on the way I've done everything thus far while programming and seems like something I cant wait to be a part of.  I guess in some sense, this is my first step into the bazaar.