Make your first open source contribution

open source
make your first open-source contribution

How to make your first open-source contribution?

There are many ways you can contribute to open source and it doesn't have to be exclusive to code.

You can contribute by:

  1. Writing code
  2. Reporting bugs
  3. Reviewing pull requests
  4. Helping triage an issue
  5. Adding/Improving documentation

Find a project to contribute to

If you are working on a project, check out the Github repositories of the libraries you are using.

For example, if you are working on a frontend project, you can check out react-starter, Bootstrap, Tailwindcss projects.

This is a sample of dependencies from package.json. Most of these are open-source.

Dependencies

Identifying the right thing to contribute to

Identify the type of contribution you want to make. The best place is, to look at the project's issue board. Most of the projects have labels for the issues.

Look for these labels "good first issue", "beginner", "documentation"

Label typeExample
good first issuegood first issue
beginnerbeginner issue
documentation/docdocumentation issue

Writing code

You can either fix an issue or implement a new feature. Add a test case if possible and appropriate documentation depending on the project.

Here is a PR that I created github.com/visionmedia/node-progress/pull/1

Reporting a bug

If you have come across a bug in any of the libraries you are using, create a new issue. Provide details like steps to reproduce, version of the library you are using, browser version, OS, etc.

If a project has an issue template, follow that.

report a bug

Requesting a feature

You can request a feature in a library by opening an issue.

Here is one such feature request that I had raised.

feature request

Reviewing pull requests

Don't rush into reviewing pull requests. Judge the tone of the project by reviewing past pull requests.

Be humble with your feedback and don't assume authority unless you are a frequent contributor to the project.

Triage an issue

Open source projects have a lot of issues and maintainers do not usually have time to check each one of them. It would be of great help if you can help them triage an open issue.

Adding/Improving documentation

Look for issues with the label "Documentation". You can improve existing documentation, either by updating the content or by adding more examples.

If you find a README that is unclear, create an issue and offer your help to improve it.

Project templates & coding guidelines

When you are contributing to a project, follow the coding practices of that project. Maintainers will be very particular about this and your PR won't be accepted.

If you are reporting a bug, make sure to follow the issue template.

For example, check out this contributing guide from the docker/compose project github.com/docker/compose/blob/master/CONTRIBUTING.md

Patience

Remember, it is an open-source project. So don't expect your PR to be merged immediately. Wait for at least a week before you comment and ask for feedback.

Communication

Once you have decided to address an issue, make sure to communicate by commenting on the issue that you want to work on it. This makes sure that no one else works on it and saves time for everyone.

You can also create a work in progress PR and ask for feedback

communication

Sites to help you find beginner-friendly or easy issues

Dealing with feedback

You might not like some feedback, it's ok. It happens to all of us. Don't take it personally. Be patient and understand that the maintainer might not be getting paid for their work.

Imposter syndrome

Your first PR might be intimidating. Don't let that get in your way. Take this PR as an inspiration github.com/playframework/playframework/pull/1

This was Kent C. Dodds's first contribution which fixes a typo.

Kent Dodd first open-source contribution

Now he is a pro contributor and he has done numerous contributions.

Kent Dodd contribution graph now