How to Contribute to an Open-Source Project

Be sure to have the right motivation

Let me be clear on this fact. Contributing to a serious open-source project is a serious effort. It takes time, lots of time, and requires rigorous approach and quality work.

Getting in touch with the community takes time (but it is the key)

In every open-source project, the hardest part for newcomers is to figure out what to do. Code bases of significant projects are generally large, and even if the project itself is well documented for users, you rarely find more than a few notes about how to work with the codebase.

Do not expect someone will tell you what to do

However, while you should ask for advice, do not expect anyone will tell you what to do. Contributing to an open-source project and creating open-source operating systems, unless you are hired by a company to work on it, is totally voluntary work and no one is entitled to tell you what to do.

Coding will be only a fraction of the time you have to spend on it

You may think contributing to an open-source project is just a matter of writing some open code. Nothing can be farther from true.

  • Write the code of your feature
  • Write tests to ensure your feature works
  • Write documentation to explain users what your feature does
  • Generate a patch that merges cleanly (do not expect others will resolve the conflicts for you)
  • Don’t break existing tests (of course)
  • Don’t break the current build.

Legalities

An important step to do before contributing is to sign the contribution agreement. While you can always write a piece of code, attach a LICENSE file and state it is open source, the reality is generally a bit more complicated than this.

Don’t waste their time (and yours)

Let me finish talking about a few things not to do, but unfortunately it is very common and always ends up in a waste of time.

Conclusions

Do not get me wrong, contributing to an open-source project is a great way to learn new things, meet interesting people, improve your CV and get job opportunities. At least you will always end up learning new things and it is generally never time wasted.

--

--

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Codemotion

Codemotion

63 Followers

We help tech communities to grow worldwide, providing top-notch tools and unparalleled networking opportunities.