Why on earth would a developer want to contribute to an open source project?
We ran a study on this a little while ago¹. The reasons are all quite simple, and of course are different for many people. We can broadly categorize the type of contributor into 2 categories, driven from their initial need:
- Software developers and professionals who already use a particular open source software at work or home
- People who are not yet using the application, and wants to champion open source software for other reasons
This is what we found:
OK so this one is the most obvious, and applies to both categories of open source champions. As a developer you want to contribute because you need to add a new feature or modify a feature to suit your needs. You need to enhance the current functionality or fix a bug. Ultimately, you need a result.
“Probably the most common reason for developer to start contributing to open source projects is because they have a need for the result. A piece of software they use has a bug or is lacking a feature. At some point they figure they can just help out.”
Wise developers realize the massive power of experience, and I don’t mean years of development, but rather breadth and depth of exposure and learning. No one person can ever know all there is to know about the world of programming. You love the challenge of diving into a new code base. You understand the need to continually improve and learn.
“Experience. You’ll get to use some stuff you probably won’t get to use in your day job”.
We are social creatures at heart, and an open source community is a great place to be social. You get to meet great people, rub virtual shoulders with super experienced developers and make new friends. The life of a programmer can sometimes be a bit isolated. Contributing to an open source project is a great way to connect with people like you who you can share with and learn from.
“You have the opportunity to work with some really great people. Open source allows you to make connections far outside your normal circle of friends and co-workers.”
Contributing to an open source project is free in two ways. In one aspect you are giving of your talents to something much greater, and here you are free to use and share ideas. The concept of money and price is a man-made invention. The best things in life really are free!
On the other side, there is a great freedom in open source – you are free to do with the software as you like. There are no rules and no manager telling you how to do your job.
The old saying goes, free as in speech, not as in beer.
“We contribute to open source projects that we have a passion for and in the process learn something new without someone to dictate what we should be working on!”
There is nothing quite like that sense of achievement of a job well done. For some it’s the prime reason to do anything in life. What better problem to solve than the ones you can pick and choose from in an open source project? Contributing to an open source project empowers you to create something out of nothing, and get acknowledgement for it.
“I do it because I love to achieve things. I like the knowing that I am truly useful in this world.”
Let’s face it, contributing to open source software looks awesome on your CV. But aside from that there is a certain status that you get from the software community that only comes for open source contribution. You’re the guy that shows up in the credits of the software all your friends are using. It’s a lot more than you’ll get from your day job of or boring line of business apps. That’s pretty awesome.
“I’m drawn in by the technical challenge and the kudos. I love that I can publicise my programming skills.”
The last, and maybe the most impactful, reason for developers to contribute is because they are deeply passionate about their trade. You love what you do and being able to have fun while doing it is awesome. Some developers even say they are the most happy when they’re waist deep in code at some obscure hour of the morning. Open source champions follow their happiness.
“A developer working on open source code is much happier than the one who knows that his code may never see the light of day.”
If you’d like to see what we do, and why we love it come find us on GitHub.
Why do you get involved in open source? Share your reasons in the comments below.
¹ Responses from 30 people. (I believe the Pareto principle applies in this case, so I am comfortable that this generally applies to the majority of open source champions).