---
title: "How to contribute to Open source"
url: "https://www.bekk.christmas/post/2019/01/how-to-contribute-to-open-source"
authors: ["Henrik Walker Moe"]
published: "2019-12-01"
updated: "2024-11-07T13:05:29Z"
language: "en-US"
type: "article"
tags: ["Open source"]
---

# How to contribute to Open source

We think Open Source is such an important part of a developer’s life that we’ve devoted an entire advent calendar to the subject! For a lot of developers, the thought of putting your code or ideas out there for the whole community to see, can be daunting. Once you get the hang of it and get more comfortable though, it has a tendency to drag you in.

Let's start by going through your first steps towards your first contribution together.

## In short

Contributing to open source usually starts with finding a small beginner-friendly issue, checking the project’s README or CONTRIBUTING file, and then forking the repository, making the change, and opening a pull request. The article walks through the basic workflow and what to watch for along the way, from issue selection to feedback and merge.

- **For:** Developers who want to make their first open source contribution
- **Good to know beforehand:** Basic Git knowledge and a GitHub account

_AI-generated_

## Getting started

### Using Git and GitHub

GitHub is a platform for hosting and collaborating on Git-repositories. You should have a basic understanding of [Git](https://git-scm.com/) in order to contribute.

### Create an account on GitHub

In order to contribute to repositories you'll need a GitHub account. [Create an account](https://github.com/join) if you don't have one already.

### Look for a good first issue

A great way to get started is to look for issues by using [www.firsttimersonly.com](https://www.firsttimersonly.com/) or [searching GitHub for issues](https://github.com/search?q=label%3Agood-first-issue&state=open&type=Issues) marked as **good-first-issue**.

Here's a few ideas on what typically are low-hanging fruits:

- fix errors in the repository's documentation
- write missing documentation
- fix spelling in code or in documentation
- help out on troubleshooting other people's issues
- give feedback on pull requests

### Before you start working

Look for the _README_ or the _CONTRIBUTING_ file first, you'll usually find those at the repository's root folder.

The maintainers might have a set of requirements that you should fulfill before you start working. Maybe its signing a Contributor License Agreement [like the .NET Foundation has](https://cla.dotnetfoundation.org/) or following steps for testing your changes before you create the pull request.

### Work on your issue

Once you've found an issue you're comfortable working on, [fork](https://help.github.com/en/github/getting-started-with-github/fork-a-repo) the repository to your account and [clone your fork](https://git-scm.com/docs/git-clone) to your local machine.

Choose a [Git-workflow](https://bocoup.com/blog/git-workflow-walkthrough-feature-branches) that suits your preferred way of working on Git and start your work!

When picking an issue and committing time to work on it, it's good practice to write a comment on the issue stating that you're keen on helping out. This lets the repository maintainers know that someone's working on it, they might even assign you to the issue 😀

_Tip: refer your pull request and issue by using_ _`#<issue/pull request id>`__. This generates a link to the issue/pull request._

### Create a pull request

Once your work is done and you've pushed your changes on your branch to your fork on GitHub, you are ready to create a [pull request](https://help.github.com/en/github/collaborating-with-issues-and-pull-requests/creating-a-pull-request). This tells the maintainers that your work is ready to be reviewed and your code merged from your branch to the **master** branch.

Pay attention to the pull request and any build steps it might trigger. If the pull request build fails, you'll need to fix your code so that the build succeeds before continuing.

Check up on your GitHub notifications as you might get comments and need to adjust your work, based on the feedback you'll receive from the maintainers.

### Issue fixed and closed

Once the maintainers have completed your pull request, your work is done! On the issue's page you'll see that your pull request has been merged and marked as complete.

Congratulations on your first Open Source contribution! Well done! 🎉👏

## Relevant resources recommended by the author

- [Firsttimersonly](https://www.firsttimersonly.com/)
- [Search GitHub for good first issues](https://github.com/search?q=label%3Agood-first-issue&state=open&type=Issues)
