Contribute to Open Source (It's Easier Than You Think!)

November 27, 2020 · 2 min read
man standing on hill during full moon, painting a circle with light and long camera exposure
Photo by Austin Neill on Unsplash

If you're a developer, I'm 100% sure you're using open source projects.

Libraries, plugins, your programming language, maybe even your IDE or your OS.

Let's take a quick look at why you should contribute to open source (even if it's just a little), and how you can do it (even if you're not a developer).

Why Contribute?

As pointed out above, open source powers (parts of nearly) everything.

Most open source projects are growing and evolving and have all hands full. Helping out can have selfless or selfish reasons:

  • You're helping the maintainers on something that's important to them. That person now has a little more time for other things. From time with their family, to.. to more Open Source contributions!
  • You are improving the experience for everyone using that open source project. If you've fixed a bug, implemented a feature, or just improved the documentation, someone out there will appreciate what you did.
  • It feels great to know that somewhere out there, something you wrote is running on a machine you don't know, helping someone you'll never see.
  • Open source contributions look great on your resume. If you're regularly contributing to open source projects, or even are a maintainer of one, that makes for some bonus points for your job application.
  • Developing improves your skills. Yes, surprise. More coding = better coding skills.

All modern digital infrastructure depends on
Relevant XKCD. Comic by Randall Munroe on XKCD

How Can I Help?

There is more to open-source projects than just code. Here are ways you can contribute to open source:

  • Create detailed bug reports. If you encounter a bug, create a detailed issue according to the contributor guidelines in that project. Include all useful information about runtime, operating system, versions (always check your bug against the latest version of that project!), screenshots, and a minimal reproducible example project.
  • Improve the project's documentation. You can fix all typos you find, improve the wording, or include more examples. You can even write your own tutorials.
  • Help answer people's questions. Help out on Stack Overflow or Reddit! Or answer GitHub issues.
  • Contribute code. You can work on existing issues (there are tags like beginner, good-first-issue, up-for-grabs, or first-timers-only. Keep a lookout for them. Or you ask if you can contribute a feature.
  • There's more to open source than just code. There are "awesome" lists, open data projects, and even Wikipedia!

Further reading: