Contributing to Open Source Software
27 May, 2010 § 4 Comments
Last week I attended the Google I/O conference. I went to some great sessions and learned a ton about Chrome, App Engine, and Android.
One of my biggest takeaways wasn’t from the sessions that I attended. I happened to bump in to some other college-aged guys and after some talking learned that they were contributors and committers to the Chromium project (the open source version of Google Chrome).
Now last year (2009) at the beginning of the summer, I wanted to participate in Google Summer of Code, specifically in one of the Google Chrome projects. I followed the steps on their developer setup guide, and kicked off a build on my machine. Hours later I realized that my machine was no match for Chromium.
Too much had to be installed to build the project and the file size of the project was leaps and bounds more than my pesky laptop could handle. I ended up putting away Chromium and focusing on tackling some books I had been wanting to read.
This summer is a whole new ball game. I’ve upgraded my computer and the Chromium project has also shed a lot of dependencies since May 2009. I’m happy to say that I was able to install Visual Studio 2008 Premium, SP1, a few hotfixes, and was off to building. An hour of waiting and I had my own build of Chromium running.
Today I can now say that I am a contributor to Chromium. I am proud that my name now resides on the AUTHORS file of Chromium, and I want to take this opportunity to pass-on some motivation for contributing to open source software.
If you’ve got an open source program that you use daily and get a lot out of, return the favor to the authors and help them out. Most open source software is free, so they’re not making money off of you using the software. It’s just kind of the fair thing to do.
Not to mention that there are tons of benefits that you will gain by contributing to an open source project. Let’s run through a list:
- Experience working with different code (paradigms, styles, patterns, algorithms)
- Get to work with developers located all across the world
- A great opportunity to learn more about a programming language
- A feeling of ownership of the product that you enjoy
- and so many more…
So take a second right now and think of the programs that you use and love. Are any of them open source? Do they have a list of bugs that could use some help? You could even take this opportunity to fix anything that you don’t like about the application and make a special build for yourself :)