Why Do People Contribute to Open Source Projects?

Joel Lee 20-05-2015

Open source development is the future of software. It’s great for users like you and me because open source software is usually free (not always) and often safer to use because malicious code is less likely to be implemented.


But what compels developers to contribute code for free? After all, writing code requires time, effort, and expertise. And while it’s true that open source developers can make money Understanding How Open Source Software Developers Make Money The truth is: many OSS developers and projects do generate revenue. Read More , it’s certainly easier through proprietary channels.

In fact, many proprietary businesses are jumping on the train. For example, Microsoft recently decided to open source their .NET Framework A GNU Beginning For Microsoft: What An Open Source .NET Framework Means For The Rest Of Us Microsoft just released a significant part of its code under a permissive open source license. This move breaks with years of tradition. But why and what does it mean for you? Read More . Quite a surprise, if you ask me! So the question remains: what benefits are there to contributing open source? As it turns out, the motives rarely involve money.

Gain Programming Experience

The beauty of an open source project is that anyone can contribute code. Of course measures are put in place to prevent abuse (submitted code needs to be approved by a project leader) but if the code works, it doesn’t matter who wrote it.

As such, many intermediate programmers will seek out open source projects that they find interesting and look for areas where they can make a difference.

For example, many projects use a bug tracker to keep track of issues that need resolving. These issues range from trivial to complex, so while the experts work on fixing a deeply critical bug, novices can tackle the trivial stuff.



The benefits are three-fold: 1) it’s a more efficient use of time since multiple bugs can be fixed in parallel, 2) the experts stay engaged because they don’t have to waste effort dealing with trivial-but-time-consuming fixes, and 3) novices gain valuable experience at no risk to anybody.

In fact, if you’re a newbie programmer with at least one year of solid programming education (even if it’s self-taught learning), contributing to an open source project can be one way to learn programming faster 5 Project Ideas To Help You Learn Programming Faster There are a few ways to ease the learning curve for programming. Get your hands dirty and learn faster with side projects you can start anytime. Play around with these five. Read More .

Build a Practical Resume

At some point in an open source developer’s career, the “gain experience” phase turns into a “portfolio of skills” phase. If you’re ever in need of a job, this portfolio won’t replace a traditional resume or CV, but it can be a great supplement.


Every line of code that you contribute to an open source project is publicly accessible. The more you contribute, the more you shape the project. If that project ends up being a success, it reflects well on you. If it flops, it still shows your work ethic and coding expertise.


Artists always point to their portfolio when applying for a position. Photographers show their portfolio when looking for new clients. The programming field is starting to head in this direction, at least in some ways.

If you’re interviewing for a multinational corporation with several legacy systems still running on COBOL or Fortran, your portfolio of modern development probably won’t matter much. But if you’ve developed free Django tools and you’re interviewing for a backend development position, you bet it’s going to help.


So, if you want a career in programming, this is one big reason why you should contribute to open source projects 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... Read More .

Using the Product

Let’s say you’re an avid programmer who uses a lot of open source tools as part of your workflow. You love the tools, you believe in the tools, and you can’t imagine switching to anything else. But one day, you run into a critical bug that halts your productivity.

In the case of proprietary software, you’d be stuck. Sure, you could submit a ticket to the developing company and hope they implement a fast patch, but there’s no guarantee. In fact, it could take months (or years!) before they get around to it. You’d be at their mercy.



But in an open source project, you could browse through the code, find the error, fix it, and recompile yourself. Or you could submit the fix to the project leader for review, and if it looks good he’ll push out a patch.

The process might still take a few days or weeks, but it’s much better than in the proprietary example.

Promote Open Source Culture

One of the biggest reasons why people contribute open source code is because they believe in open source philosophy. Sounds pretty obvious, right? But you’d be surprised how many developers truly believe in the open software ideology What Is Open Source Software? [MakeUseOf Explains] "Open source" is a term that’s thrown around a lot these days. You may know that certain things are open source, like Linux and Android, but do you know what it entails? What is open... Read More .

With regard to this, a lot of open source enthusiasts tend to be evangelistic. If everyone adopted “open source thinking”, the world would be a better place — and to a certain degree, I can hop aboard. The fact that anyone can fork a project Open Source Software and Forking: The Good, The Great and The Ugly Sometimes, the end-user benefits greatly from forks. Sometimes, the fork is done under a shroud of anger, hatred and animosity. Let's look at some examples. Read More is something I really appreciate because it promotes competition and innovation.


In other words, these people contribute open source code because they simply enjoy it. Open source is their identity and they’re just living out what they believe. And you know what? There’s nothing wrong with that.

Tangentially, by contributing to open source projects, these people end up collaborating with other like-minded people. The religious have churches, hobbyists have clubs, and open source developers have open source projects. Community fellowship alone is a great reason to get involved.

Give Back to the Community

While we’re on the subject of community, let’s not forget that there are more ways to contribute to an open source project than through code. Code is important, but other forms of support are certainly welcome.

Let’s say you absolutely love a particular program that you use regularly, whether it be for personal or commercial reasons. It has changed your life and you want to help the project in some way, but you have no coding experience. What can you do?

Donations are always an option. For a one-man team, a $10 donation could buy that developer a few coffees or a six-pack of beer. It could fund a domain name renewal for one year. It could extend web hosting for a few months. No matter how small, a donation can help a lot.


Documentation is another big area where developers usually need help. This includes things like technical writing (e.g. manuals) or community knowledgebases (e.g. wikis). For example, community-produced tutorials can really help the developer by allowing them to focus all their attention on coding itself.

Other methods of support include software localization, website translations, or simply spreading awareness of the product through word of mouth and social media

Regardless, these kinds of “loyalty contributions” stem from die-hard appreciation of the product, which is something open source projects seem to cultivate well.

If you’d like to get in on the action yourself, check out some ways you can contribute to Linux 6 Ways You Can Contribute to Linux Impressed by Linux, want to get involved, but have no programming skills? Here's how to contribute to Linux without coding. Read More .

Image Credits: Hands On Laptop Via Shutterstock, Programming Skills Via Shutterstock, Lots of Coding Projects Via Shutterstock, Clean Workspace Via Shutterstock, Coding Buddies Via Shutterstock, Project Analysis Via Shutterstock

Related topics: Linux, Open Source.

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. SimantoR
    January 20, 2019 at 4:37 am

    Amazing article. Really enjoyed it. Actually made me think deeply about how I feel about it.