Web Culture

Why You Should Contribute To Open Source Projects [Opinion]

Erez Zukerman 24-02-2012

contribute to open source projectsThe 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

contribute to open source projects

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.

Do Work That Matters

contribute open source


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:

contribute open source

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

contribute open source

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

contribute open source projects

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

contribute to open source projects

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!

Affiliate Disclosure: By buying the products we recommend, you help keep the site alive. Read more.

Whatsapp Pinterest

Leave a Reply

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

  1. Hasitha Chaturanga
    June 15, 2012 at 2:42 am

    I should consider this

  2. Kevin
    March 27, 2012 at 2:41 am

    What does CV stand for here?

    • Nitin
      June 14, 2012 at 7:11 am

      CV, curriculum vitae, means resume.

  3. Chris Hoffman
    February 26, 2012 at 6:27 am

    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
      February 26, 2012 at 7:55 am

      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
        February 26, 2012 at 8:00 am

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

      • Martin Fujak
        February 26, 2012 at 5:18 pm

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

        • Erez Zukerman
          March 1, 2012 at 10:16 am

           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
      April 6, 2012 at 7:15 pm

      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.

  4. Ankur
    February 25, 2012 at 3:16 pm

    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
      February 26, 2012 at 7:54 am

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