Guide

How to Contribute to Open Source as a Beginner

  • open-source
  • github

How to Contribute to Open Source as a Begginner

Step 1 - Find a Good Beginner Project

Contributing to open source can often feel overwhelming to begin with. If you are going to suceed in your first contribution you need to find a project that is both challening and interesting! Using the resouces below, find a project that is welcoming first time contributors with issues titled “good first issue”

https://up-for-grabs.net/#/

https://goodfirstissue.dev/

Step 2 - Read the Contributing Guidelines

Every project and developer is different, and if you want to contribute to a project you need to respect the values of that open source project. Navigate to the project’s README document and look for instructions for first time contributors. Often, open source projects maintain a separate CONTRIBUTING.md file at the root of the repository which specifically outlines framework guidance, programming best practices, and commit/pull request message requirements. Make sure you understand these in depth before moving onto step 3!

Step 3 - Claim an Issue

When you have found a project you are interested in, navigate to the issues page on Github. Filter by labels and find all issues labeled “good first issue.” When you’ve found an issue that (1) you find interesting and challenging and (2) hasn’t already been claimed by someone else leave a comment on the issue in this format:


Hi! I’m [NAME] and I’m interested in working on this issue. I’ve read the CONTRIBUTING.md file and reviewed the project guidelines.

If the issue is still available, could you assign it to me? Please let me know if there are any additional considerations before I begin.

Thanks!


Step 4 - Fork & Clone

After being approved by the project maintainers to work on your issue, complete the following steps to begin actual development work.

  1. Fork the clone by navigating to the homepage and clicking the fork button at the top right

Fork repository button on GitHub

Step 5 - Clone the Repo & Create a Branch

Now that you’ve forked the project, clone your fork down to your machine so you can actually start working on it.

git clone https://github.com/your-username/repo-name.git
cd repo-name

Before you touch any code, create a new branch for your issue. Don’t work directly on main! This keeps your changes isolated and makes life way easier if something goes wrong.

git checkout -b fix/issue-name

Create Branch in Termianl

Step 6 - Make Your Changes

Time to actually solve the issue! Go back and re-read the issue description and the CONTRIBUTING.md file one more time before you start, it’s easy to miss small details that end up mattering a lot.

A few tips while you’re working:

  • Keep your changes focused on the issue you claimed and keep them scoped! When making commit messages make sure they are detailed and only commit changes to files that are related to the commit message at hand. Don’t just blindly run git add . and then commit everything with a generic message. This comes across as lazy and unprofessional on top of being a bad practice especially when working with a team.
  • Follow the project’s existing code style. If they use a linter or formatter, run it before you commit.
  • Test your changes locally to make sure you didn’t break anything.

Step 7 - Commit & Push

Once you’re happy with your changes, commit them with a clear, descriptive message. Most projects expect commit messages to follow a certain format, so double check CONTRIBUTING.md for that too.

git add .
git commit -m "Fix: short description of what you changed"
git push origin fix/issue-name

Step 8 - Open a Pull Request

Head back to the project’s GitHub page and you should see a prompt to open a pull request from your new branch. Click it!

In the PR description, explain what you changed and why, and link back to the original issue (usually with something like Closes #123). This helps the maintainers understand your PR at a glance and automatically closes the issue once it’s merged.

Create Branch in Termianl

Step 9 - Respond to Feedback

Don’t be discouraged if a maintainer asks for changes, it’s completely normal and part of the process. Most maintainers are volunteers reviewing contributions in their spare time, so be patient and polite. Make the requested changes, push them to the same branch, and the PR will update automatically.

Once everything looks good, the maintainer will merge your PR and just like that, you’re an open source contributor!

Wrap Up

If your interested, please go watch my video on youtube speaking from a higher level about my experiencing contributing to open source and the value I belieive it brings to developers of all experience levels!


← All guides