Wednesday, February 8, 2012

Response on "The Cathedral and the Bazaar"

I have finally finished reading The Cathedral and the Bazaar by Eric Raymond, and I am now prepared to complete my assignment from last week and blog a response to it.  My first impression upon reading it was that this should be, and is in my case, required reading for any CS student interested in learning more about open source software development.

He lays out a number of little nuggets of wisdom throughout the essay and the first one was right on the money.  It says, "Every good work of software starts by scratching a developer's personal itch."  This is an absolutely true statement.  At the place where I work one of the jobs that I do is help to recover an encrypted hard drive after a system crash.  The method for doing this required multiple steps, such as copying and pasting things into the command line, and was a real pain.  After I complained about this to one of my co-workers, his basic response was, "hey, you're a programmer.  Fix it."  Challenge accepted!

So to make a boring story short, I scratched my personal itch by writing up a batch file to automate the process of getting the recovery key.  It was a very satisfying experience to create something that actually filled a need and would be used by other people.  And this is what I expect drives many developers to go out there and create cool things, it satisfies a personal need to do so.

Another idea that Raymond features in his paper is the notion of treating users as co-developers, which allows a better flow of code development and a more efficient way of debugging.  This method is apparent in the project we are working on right now, because just by messing around with xbmc's bug tracker for a few minutes the time and effort put into it's design become apparent.  It is an obvious effort to make the bug reporting system as easy as possible for users to navigate.  And I totally agree with this approach.  Giving users a sense of ownership over a project ensures a more open and dependable development cycle.

He then goes on to describe his personal experience taking ownership of his own project, fetchmail, and how he applied good open source design principles in improving and implementing changes to the project.  Altogether this was a very informative and descriptive paper, and still has as much merit today as when it was written back in 2000.

No comments:

Post a Comment