My First Open Source Project

WordPress for iPhoneI use WordPress as my blogging platform and I absolutely love it. It’s so well done and makes blogging a joy. I’ve tried other platforms and spent more time fixing it, fretting over why the upgrade brought my site down, traversing database tables, and wishing it would do something that it doesn’t.

As most of you know, I’m also a Mac Boy. Me loves me the Apple products. WordPress has an iPhone application that allows me to write posts, upload photos, edit pages, and manage comments on my blog right from my iPhone. I use it for quick posts or to start a draft post with bullet points of high-level ideas so I can flush it out later. One of the coolest features I expected to use the iPhone application for was comments. What a perfect way to constantly monitor and reply to comments from my phone whenever I get a chance. I download the application and I like it. But it’s missing one major feature. Yup, the one I want the most. Replying to comments! I can delete comments, mark them as spam, but I can’t reply to them. Say, what!

I go to their website to request this feature and notice that this is an Open Source project with links to their development section. I’ve been developing software for close to 25 years and I have never participated in an Open Source project. As a professional software engineer, I’ve been very fortunate to work for some of the finest software companies around and their source code is fiercely guarded intellectual property kept under strict lock and key.

Open Source projects take a completely different approach. Instead of hiding the source code, they make it freely available. Anyone can download and build the source code. Anyone. The spirit behind this approach has a few key points. One in particular applied to me in this case. Opening up the source code and allowing anyone to work on it invites other with a desire to help and improve the product simply because you can, and you care. This described my situation to the letter and I decided to do something about it.

Why fill out a form asking the developers to add my reply to comments feature when I could contribute and make it happen myself? I’ve decided that I’m going to do exactly that. I’m not going to bitch and complain, I’m going to contribute.

I have lots of questions, lessons to learn, and I hope this turns out to be a great learning experience. I’m going to write about the contrast in experience as it happens. Things that immediately spring to mind:

  • In a corporate environment you typically have technical leads or architects that are responsible for the structure of the code. They understand all aspects of the code at the lowest level and as well as why it was designed the way it was at a high level. They typically do the code reviews before an engineer checks in their code. Who does this in an Open Source project? Who owns it? Does it just evolve organically?
  • How does the code/product get qualified or verified for integrity and quality? Who does this?
  • I can understand how bugs or defects are handled. The product is suppose to do X and it doesn’t or it crashes. That’s pretty defined so I can understand how this can happen in a community environment. How are new features defined and implemented?

If you use the WordPress for iPhone application and you’ve got a hankerin’ for the Reply to Comment feature, post a comment. I’m working on it.

About the author

Terry Blanchard

I'm the Vice President of Engineering at Readdle, ex-Apple, design evangelist, drummer, and gadget junkie extraordinaire.

2 thoughts on “My First Open Source Project”

  1. Hey! I am a new aspiring developer trying to get involved in open source development. I am taking this approach because I have no idea how to start from scratch, I am hoping that by using code that has already been developed that I can learn from the experts. I have downloaded various source codes for a few of my favorite Linux Apps, however I would like to learn how to compile them without using the ./config … make method. I was just curious what IDE I should be using (the source code is for Gnome and the language is all C). Also a list of any additional tools would be awesome. I am so excited I can’t even sleep =).

  2. Hi Matthew,

    You’re taking a great approach to getting started in software development. Early in my career I learned a tremendous amount just from working with others who had been writing and designing code longer than I had. It’s a great way to learn.

    I unfortunately don’t know much about Linux development, all of my experience has been on Windows and Mac. However, I have used Eclipse in the past. Eclipse is a cross-platform IDE that provides you with a pretty darn good IDE to sit on top of GDB and GCC.

    Good luck!

Leave a Reply

Your email address will not be published. Required fields are marked *