Making Your First OSS Contribution

Making Your First OSS Contribution

First of all, OSS (open-source software) is making so much wave and momentum in the community; there’s never been a better time to start contributing to open-source software!

You can find in this article the many benefits of contributing to open-source and how to find one! ✨

In this article, we’ll be focusing on the step-by-step guidelines to making your first open-source contribution.

Open Source:

...and with the declassification of a lot of open-source software, developers have the opportunity to contribute to their favorite projects, tools, and with the examples of some popular tools like ReactJS, FastAPI, Chakra UI, Twitter, and many others. It’s even more exciting to start contributing to open-source now more than ever!

Understanding an Open-Source Codebase:

So you’ve finally settled on a project you would like to work on. It looks awesome, and the problem the product is trying to solve seems exciting! Now, how do you go about understanding the entire codebase to make a meaningful contribution?

First:

Thoroughly go through its documentation and fully understand where and how to get started with the set of guidelines and tools that are needed to point you in the right direction.

And as there are different aspects that make up a codebase, such as the front-end, data, backend, documentation, designs and others. a conventional codebase is usually divided into separate categories. As such, you don’t have to understand every line of code in its entirety, but instead, have a bird's eye view of the project and dig deeper into the section you would like to focus on.

Join Its Community:

For almost every open-source project, there’s always an official community where its contributors and managers meet, share ideas, and handle conversations. To get a good lay of the land and understand its protocols and culture, join the community, and introduce yourself.

If they meet weekly/biweekly, join a meeting or two before you make your official contribution.

Finding Your Good First Issue:

Finding your first good issue to solve, (see what I did there? 😄) and settling on an issue or a feature to work on, be it already created or you found it yourself, might be a little intimidating as contributing to an open-source project goes beyond just its software codes alone.

...and therefore you can contribute/help an open-source org with any of the following:

  • Documentation

  • Design

  • Social Media Writing

  • Project Management

  • Code Reviews

  • Organizing Meetups and Events

And the list goes on! You can find your own unique way of helping an Open Source Project.

And while we focus here on the “code aspect” of contributing to open-source.

Next:

Now, on the GitHub repository, the project maintainers and other developers list the help needed and new features that need help on the project. Labeled Issues, you go through this list and find a problem that looks fixable for you. For someone just getting started, click the option Labels and filter through for Good First Issues or for For Beginners tags.

Fork and Start Contributing! After successfully settling on an issue you’d like to work on, follow the given instructions on the official documentation on cloning the project to your local machine.

Now here's where we take a little intermission:

After cloning up any project to your development server, you might encounter various types of bugs, including syntax errors and other unexpected gremlins. I recommend cleaning up the code as much as you can first before submitting your PR for the specific issue you had in mind. It leaves a positive impression, and this is also for any engineer joining a new team, junior or senior.

Submitting Your Pull Request:

Continue on the quest to work on your selected issue, and ask to be assigned to the task by the maintainers.

This shows an official recognition that someone is currently working on this issue and no other person should take it up, to avoid more than one person working on it at the same time. It looks something like this. ⬇

Work on your ticket, follow the set guideline for a Pull Request and other conventions and write tests for your changes if it is required. Then submit your PR, Wait for your changes to be merged!

And congratulations. You've just made your first open-source contribution!! 🎉