Contributing to the documentation is an impactful way to contribute to open source projects.

Without clear and concise documentation, people won’t be able to understand and use the project.

In this article, I will share how you can contribute to documentation effectively.

Finding a Project

How do you find a project to contribute to? I have a two-step plan:

Step 1: The best project to contribute to is the one you have been a user of for a while.

If you have been using a framework, library, tool, or any open source project, you can contribute to it.

You will already have a lot of context on the project, and you will be able to find ways to improve the documentation.

Step 2: If you can’t find a project like the one mentioned in step 1, contribute to a project with an active community.

Open source is as much about community as it is about code. Having access to a thriving community will help you be an impactful contributor.

Ultimately, all this boils down to your interest. You should only contribute if you are interested in the project.

Be a User

A user of a project can be an impactful contributor.

If you aren’t a user of the project already, becoming one would be the first step.

As a user, you are likely to go through documentation and tutorials as you start out, and you are likely to find issues, outdated content, or areas to improve.

When you find these, you can open issues and discuss them with project maintainers.

Most project maintainers are too close to the project to see the gaps in the documentation. A new user could find these gaps.

Read the Contributor Guidelines

Open source projects usually have a contributor guide (CONTRIBUTING.md in the repository) outlining how to contribute to the project.

If it has guidelines on contributing to documentation (style guides, setup guides), follow them.

Issues to Look For

When you are looking through the documentation, look for these issues:

  • Missing documentation: While following the documentation, you cannot understand how it got from step A to B. There seems to be a missing step that is not obvious. You can report, identify, and add the missing step.
  • Outdated content/code/images: Software documentation can get outdated quickly with new releases and breaking changes. Keeping an eye out for outdated content is crucial.
  • Translations: Some projects have documentation in multiple languages. If you know multiple languages, you can check to ensure parity between the two versions.
  • Grammar: If you find pages with incorrect language, you can correct it as it might alter the meaning of the text.

If you don’t find any issues, you can always look for open issues in the project. Documentation issues are usually tagged with “documentation” or “docs” labels.

In-Code Documentation

In-code documentation includes logs, error messages, help texts, and other textual interfaces with a user that doesn’t necessarily affect the “logic” of the code.

People generally don’t think of this when they think of documentation. Still, it is imperative as it is the first user interaction point.

Being a new user will also help you spot these issues quickly.

Beyond Documentation

Good documentation is not limited to the docs website.

It can also involve:

  • Writing blog posts that take a user through a new feature
  • Writing a Twitter thread about the project
  • Documenting processes that community members can use (like a contributor guide)
  • Updating the project website

You can always ask project maintainers to help you find areas they need help.

There are many more ways to contribute to an open source project besides writing code and documentation. And all these contributions are impactful.