How to Make Your First Open Source Contribution

How to Make Your First Open Source Contribution

People often ask, How do I get into open source? When am I ready to contribute to open source? How do I make my first open-source contributions? This article will answer most of your questions and help you make your first contribution.

To get started, it is important to note that programming isn’t the only way to help. Developers, technical writers, and designers can also help by improving documentation, creating tutorials, writing tests, designing, and other ways.

Other ways to contribute to open source include answering questions on mailing lists, Slack channels, Discourses, or other channels. After you understand what users struggle with, improve the documentation. In the process, you will probably also learn what new features many would find valuable.

Most software companies and developers currently use open-source software, which allows people to contribute. I made my first open-source contribution in 2023, and since then, I have not looked back; I’ve been an active contributor.

This article will guide you through making your first open-source contributions. It covers key points such as finding a project, understanding contribution guidelines, and making a meaningful contribution.

What is open source?

Open-source software is software whose original code is freely available for anyone to view, modify, and distribute. The repository's community usually maintains and develops it collaboratively.

Imagine a community recipe book hosted on a platform like Notion. A chef creates a shared document containing various recipes and makes it publicly accessible.

Home cooks and food enthusiasts can view the recipes, suggest modifications (like adjusting ingredient proportions or adding alternative cooking methods), and even duplicate the recipe to personalize it for their own use.

However, before any suggested changes become part of the official recipe, the chef must review and approve them to ensure they maintain the dish's quality and intent.

This is similar to how open-source projects work. Once a repository is public, contributors can suggest improvements, but the repository owner (or maintainers) must review and merge those changes before they become part of the official project.

Open Source Terminology: Key Terms and Their Meanings

Some words would be heard and seen more often; some are abbreviated, while others are not.
Here are some common open-source terminologies and their meanings.

  • Pull Request

    A pull request is a method for proposing changes to a project. It is submitted by a contributor who has changed the code and wants it reviewed.

  • Branch

    A branch is a copy of the code line that allows you to work on different parts of a project without impacting the main branch. Branches allow contributors to experiment with changes without affecting the main codebase.

  • Fork

    A fork is a copy of the repository. You can create a new copy of the repository, modify it, and experiment with it without affecting the original codebase.

  • Contributor

    A contributor is anyone who makes changes or additions to an open-source project. Contributors can be technical writers, designers, testers, community managers, or anyone contributing to the projects.

  • Issue

    An issue is a task, bug, or problem. Issues are used to track feature requests, bugs, and other tasks that must be completed.

  • Maintainer

    A maintainer is responsible for maintaining a specific open-source project. Maintainers review, accept, or reject contributions from other contributors.

  • Repository

    A repository [or repo] is a central location where projects, files, and resources are kept. Repositories are often hosted on platforms like GitHub, GitLab, or Bitbucket. You can either add, delete, or modify files in a repository.

  • README file

    A README is a text or written manual that contains essential project information and the requirements for contributing to the project.

Step-by-Step Guide on How to Make Your First Contribution

Here is a step-by-step guide on how to make your first open-source contribution.

  1. Have a tech skill you have learned or are currently learning. At least, you should have finished some projects of your own.

  2. Learn the basics of Git and GitHub

  3. Pick a repository that narrows down to your niche; many options exist.

  4. Read the repository’s contribution guidelines and follow them.

  5. Join the repository’s community and get involved.

Best Practices for Contributing to Open-Source

  1. Follow the code of conduct and contributing guidelines.

  2. Write clear and descriptive commit messages.

  3. Thoroughly revise your work and be open to feedback.

  4. Write a descriptive pull request; this will help the reviewer better understand the contributions you have made.

How to Find Open-Source Projects

Some tools can help you find good first issues in projects that fit the technical area you are familiar with. Open-source projects often use platforms like GitHub to manage code, collaborate, and discuss new ideas or fixes.

GitHub provides many options; you can search through GitHub to check for these resources and look out for issues tagged “Good First Issue.” In addition to this, here are some platforms to check for open-source projects you can contribute to.

Benefits of Contributing to Open Source

Contributing to open-source software can bring many benefits, which include;

  • Hone your technical skills by maintaining and contributing to open-source software.

  • Showcase your open-source work as proof of your skills when applying for jobs.

  • Practice soft skills, including:

    • Giving and receiving feedback

    • Developing emotional intelligence

    • Connecting with people in the community

  • Gain access to worthwhile opportunities through community involvement.

Open Source Programs

Conclusion

Open source is indeed a catalyst for growth. It’s an impactful way to work on real-world projects and build your skills. Contributing to an open-source project opens you up to many opportunities, which can help you build a more sustainable career.

I hope this article teaches you about contributing to open-source projects. If you have any questions, please leave them in the comments section below, and I’ll be happy to answer them.

Like this article? Follow me on LinkedIn, Twitter, and Instagram.

Resources and Further Reading

I curated a list of useful resources to help you learn more about contributing to open-source projects.