Skip to main content

6.2. Open Source Contributions

Can’t think of an idea for a project? One of the best ways to gain real-world experience is by contributing to someone else’s.

Getting involved in open source might sound intimidating at first, but it’s one of the best ways to build your skills and prove you can collaborate on real software.

What is Open Source?

Open source software is software whose source code is publicly available and freely licensed. That means anyone can view it, use it, modify it, and (most importantly for you) contribute back to it.

Projects like Linux, Firefox, VS Code, React, and Python are all open source and are used by millions of people and companies around the world. But open source isn’t just limited to huge, world-famous projects. There are open source tools and libraries for almost every programming language, domain, and niche.

Open source is powered by people. Students, professionals, hobbyists, and full-time maintainers all working together to solve problems and build tools for others. And being open source means that anyone — including you — can get involved.

How to Get Started

Getting started with open source can feel overwhelming, but it doesn’t have to be. You don’t need to build the next Linux kernel. You just need to make a small, helpful change — and go from there.

Good First Issues

If you’re not sure where to begin, many repositories on GitHub mark beginner-friendly tasks with labels like:

  • good first issue
  • beginner
  • help wanted

These are perfect starting points. Maintainers tag these issues because they’re well-scoped, relatively simple, and come with enough context to help someone new understand the problem.

Here are a few resources that collect these types of issues:

Find something small, read through the issue, and see if you understand what needs to be done. If you’re unsure, leave a comment asking for clarification — most maintainers are happy to help newcomers.

Contribute To Projects You Already Use

One of the easiest ways to get started is to contribute to open source projects you already use.

If you’ve spotted a bug, confusing documentation, or a missing feature, that’s an opportunity. Try opening an issue to report it — or go even further and submit a fix yourself.

My first open source contribution was a fix to a bug I found in a library I was using for a personal project. I noticed the bug while working on my own code, and it turned out to be a one-line fix. I submitted a pull request with a quick explanation — and it got merged the next day. That one moment gave me the confidence to contribute more.

Open Source Isn’t Just Code

A huge misconception is that all open source contributions have to be code-related. In reality, open source projects need all kinds of help beyond just writing code.

In fact, most projects desperately need help with things other than code. Maintainers are often swamped with issues, documentation, and community support tasks that are just as important as writing features.

Here are some non-code ways you can contribute:

  • Documentation

    • Fix typos or grammar
    • Write getting-started guides or tutorials
    • Translate documentation into other languages
  • Design

    • Improve the user interface (UI) or user experience (UX)
    • Create graphics, logos, or branding materials
    • Design diagrams or visuals for documentation
  • Testing

    • Try out beta features and file bug reports
    • Write tests to improve coverage
    • Reproduce and triage reported issues
  • Community Support

    • Answer user questions on GitHub Discussions, Stack Overflow, or Discord
    • Help moderate forums or chat groups
    • Welcome new contributors and guide them through their first PR
  • Project Management & Organization

    • Help organize issues and pull requests
    • Tag and categorize bugs
    • Summarize long discussions or decisions