Why You Should Contribute To Open Source Projects [Opinion]

Ads by Google

opensource   Why You Should Contribute To Open Source Projects [Opinion]The concept of open-source software is not new, and with huge, successful projects such as Ubuntu, Android, and other Linux-related OS’s and apps, I think we can safely say it is a proven model for creating and maintaining high-quality software. But let’s say you’re a novice developer, just getting started as a coder and thinking about whether or not this open-source thing is worth your time and effort.

I’m here to show you why you should seriously consider giving away your time and effort for free, on a regular basis.

Learn By Doing

gnu   Why You Should Contribute To Open Source Projects [Opinion]

Picking an open-source project to contribute to lets you take a bite-sized chunk, a specific issue, and just work at at. It won’t be easy at first, but you will get to know the code base and the innards of a product you already know and like. And the coolest part is that these days, you don’t really need permission. That screenshot above comes from Github, which is pretty much the best open-source project repository around these days.

Github uses Git, a “distributed version control system”. In effect, this means you can “fork” a repository – create a copy of it – and work on your own copy. Once you’re ready, you can notify the original project that you wish to submit a patch. So, first you do the work, and then you see if they accept it. If they do – awesome. If they don’t, you’ve hopefully learned something new, and now you can polish your work and try again.

Ads by Google

Do Work That Matters

gnu4   Why You Should Contribute To Open Source Projects [Opinion]

The screenshot above comes from Impress.js, an impressive JavaScript framework for creating presentations that run in a browser. Think PowerPoint on steroids, at least in terms of final product look-and-feel. Impress.js is open-source, and you can find it on Github. This is a very high-profile project, watched by over 6,300 developers and forked over 900 times. Making a contribution to something like this would be felt (and used) by many people, and is quite a feat.

If you’re looking for a specific task, you can check out the project’s Issues page. You can work on a specific issue, or even find an issue yourself, fix it, and submit the fix along with the issue, as shown here:

gnu6   Why You Should Contribute To Open Source Projects [Opinion]

The screenshot is a bit tiny, but you can see that this developer (dwiash) shared an idea, along with the code to implement it. This makes it very easy for the developer to adopt the code. Heck, why stop there? You can directly contribute to much bigger projects, too, like Ruby on Rails. The sky is the limit!

Bolster Your CV

gnu8   Why You Should Contribute To Open Source Projects [Opinion]

This screenshot is from a random job ad I found on the 37signals job board. Many ads for technical positions these days ask to see your Github profile, and with good reason. Back in 2010, Jeff Atwood wrote a post in Coding Horror entitled The Non-Programming Programmer. In it, he told of his personal experience in interviewing candidates for programmer positions….who can’t actually program. I’m not talking about bad programmers – I mean people who simply don’t code, period.

But the tech industry is a fast-moving one, and to overcome this tendency and make the filtering process faster and better, many employers now ask to see your actual code history and contributions. Obviously, if all you have is closed-source stuff and you can just say you worked at company X for so-and-so years, that’s something. But how about actually letting an employer look at your Github profile and see all the projects you’ve contributed to, see how many of your patches were accepted, and actually read your code?

Just imagine how much more impressive that would be – an actual proof of competence.

Get Great Freebies

gnu10   Why You Should Contribute To Open Source Projects [Opinion]

The screenshot above comes from JetBrains’ RubyMine purchase page. JetBrains makes amazing IDEs for Ruby, PHP, JavaScript, and more – and if you are a project lead or a committer to an open-source project, you can get a full license for free. That’s a pretty amazing deal, and that’s just one example. JetBrains isn’t the only company to share their products with the open-source community so generously.

Meet New Coders

gnu12   Why You Should Contribute To Open Source Projects [Opinion]

This is just one public profile on Github; Josh has 712 followers, and forked over 80 repositories. This guy obviously knows what he’s doing. Working on the same projects as he does, committing code and having him review your work is a great way to start a dialog. If you’re looking to work as a programmer, networking is an important part of getting a job. Get to know the industry from the inside, and show people what you really know.

Final Thoughts

The reason I like open-source so much is that it is an empirical way to show competence. If you know your stuff, people will see that. That’s better than any polished CV.

Do you contribute to open-source projects? Did your open-source work help you get paid work? Share your story below!

Ads by Google

11 Comments - Write a Comment

Reply

Ankur

Firstly, Thanks for writing this post and supporting open source in any way.

I really like the concept of open source and freedom to join anything and nothing can be better than self learning.
GitHub is great resource for developers and learning. Great post !!

Erez Zukerman

Thank you so much! :) I’m glad you liked it!

Reply

Chris Hoffman

Coding isn’t the only way to help. Writing good bug reports and helping with bug triage is another option, if you’re not coding-inclined. (I’ve done some of this in the past.)

You could also offer to write documentation for a project.

Erez Zukerman

That’s very true Chris! Could actually make a good idea for a post — how to help open-source projects even if you’re not a coder! :)

Chris Hoffman

Yup, I’ve been mulling that post idea over, actually.

Martin Fujak

yeah, to me as a designer, will be also cool to help from the design/user experience side.

Erez Zukerman

 So true! For end users, how a desktop application looks is a big part of its perceived value. Designers can bring a -lot- to the table here.

teahou

Curriculum Vitae. It is a longer, more detailed version of a resume. By “polished CV” he is prolly referring to a CV that has had some tech writer go over it and make it wicked cool.

Reply

Kevin

What does CV stand for here?

Nitin

CV, curriculum vitae, means resume.

Reply

Hasitha Chaturanga

I should consider this

Your comment