Contributing to Open Source is important to the quality and maintainability of the software and engineering communities we rely on every day - so why is it that so many developers/engineers never participate?

I frequently cross paths who may have been in tech for some time - but don’t contribute to Open Source projects.

Their Github/GitLab accounts are bare with almost no activity. They don’t add to or fix problems find the answers to in documentation - even log bug reports.

Most companies don’t do enough to contribute back to open source projects. It’s not just that they don’t provide time for their employees to contribute, they don’t even encourage it let alone educate people on how to do it, or why it’s important.

What does it mean to contribute to Open Source?

“Contributing” takes many forms:

  • Submitting bug reports / creating issues.
  • Commenting on other peoples bug reports / issues.
  • Updating or creating documentation.
  • Submitting pull/merge requests with fixes/features.

Why don’t people contribute to Open Source?

Asking several people as to why - I’ve heard that the main reasons they don’t contribute basically boil down to:

  • They are worried they might look silly.
  • They didn’t realise there was value to other people in submitting a bug report / issues for their problems.
  • They don’t think they can add value to the project.
  • They don’t know how to interact (socially) with a given open source community.
  • They didn’t think that fixing documentation was a valid contribution in itself.
  • They hadn’t considered going through other peoples issues to see if they could help.

In reality, the only way to get better at contributing to open source is to contribute to open source.

Why is it important to contribute to Open Source?

  • It helps non-profits and small businesses get a leg up.
  • You can positively impact the health (stress levels, context switching etc…) of existing maintainers.
  • People are often more likely to help you if you help others.

…But why is it important for me?

  • You get to learn both new technical and social skills.
  • You get exposed to ideas and ways of thinking you may not be familiar with.
  • You gain meaningful experience that you can speak to throughout your career, with your clients and in job interviews (on either side of the table).

It can be as simple as making sure you log bugs/issues publicly, making your work visible and updating incorrect or missing documentation.

Contributing to Open Source is a skill like any other

If you’re worried contributing for the first time, or not sure if you can add value - remember:

  • Everyone who contributes to open source started out as a beginner.
  • When logging bugs - provide logs, context, steps to reproduce and any other context that may be useful.
  • When submitting pull requests - make sure your code is at least well formatted, passes any linting rules and has reasonable comments.
  • When commenting on issues - be polite, be helpful and be patient.

and above all else - be appreciative and kind to maintainers.

OpenSource Guide

OpenSource Guide is a great resource for learning how to contribute to open source projects.

Please, don’t just contribute - encourage your peers to contribute too.