Why Students should get Involved in Open Source

I'm (obviously?) a big supporter of open source software. I've been contributing back to open source projects -- at least with patches, package building, etc. -- for years, and using it for even longer. As the Operations Manager at the Oregon State University Open Source Lab, I have the opportunity to work closely with many open source projects, and also oversee student employees while they work on various projects both contributing code and helping maintain the hosting infrastructure at the OSL. From my experience, open source experience has given our student employees an enormous boost when looking for their first jobs out of college.

What is it that employers see as a benefit of hiring a student with open source experience? I think that question has many answers that depend on the employer, but there are some general answers that are likely common among most employers. Here are some reasons that I think being involved with one or more open source projects makes you a more desirable employee:

First of all, student employees don't typically have a lot of so called "real world experience": that stuff you learn from working at a job and handling the responsibilities required of you. When you work on an open source project, not only are you getting programming experience, but you're also gaining experience with a number of tools (compilers, version control systems, etc), interacting with people in a professional manner (I hope!), and learning things about whatever project you work on as well as picking up on general best practices for development, testing, and more. All of this experience is very similar to what you would gain at a paying job, and has the added benefit of showing a potential employer how motivated you are that you are willing to spend your free time learning these skills.

Secondly, gaining this experience in an open source setting also means that you can point to publicly available examples of your contributions -- be it code, documentation, testing, or whatever else. That is something unique to open source (paid developers typically can't show off their work!), and very valuable as a way to showcase your work.

Third, you are making a ton of contacts when you work in open source. The open source community model tends to encourage participation in mailing lists, IRC chat rooms, blogs, and other types of online communication. This is a great way to collaborate and, as you spend more time in any open source community, you'll end up seeing the same faces (or names/nicks as the case may be) and building relationships with other developers. Forming this sort of relationship not only may help lead to future opportunities, but you may find you have a group of very strong references to tout to a potential employer.

So, once you've gone out and gained such experience, how do you best represent it on your resume? Gervase Markham has posted (with help from Zak Greant, Luis Villa, and Leslie Hawthorn) a wiki document which outlines some best practices for putting free software experience on your resume. I think its a great document, and it served as my motivation for writing this post.

Comments

I've recently did a

I've recently did a presentation at Ubuntu/Fedora release party here in Cyprus. Most of my talk was on why Linux is so good for students, especially those in Computer Science. From what I can say, it was well received as it was eye-opening for quite a few people in the audience. :)

You can get the slides here, if you want - http://mamchenkov.net/wordpress/2009/05/03/ubuntu-fedora-3rd-release-party/ . It was a short one though.

thanks

helpful post.. :)