How to Write a Welcoming README for Your Open Source Project

Search for a command to run...

No comments yet. Be the first to comment.
Matteo Collina is an active leader in the open source community - renowned for his work on Node.js, Fastify, and much more. With over 15 years of experience, the Ovio team was excited to join him for a chat on the maintainer journey and contributing ...

Discoverability and Collaboration Problem Every Large business shares in a common struggle — their teams and goals are as diverse as numerous. Developers tend to be siloed into disconnected teams that have their own structures and leadership, leavin...

Nina Miolane - Geomstats maintainer

Many of the technologies and software we use today might not exist without open source collaboration. To develop great code, developers need support. Imagine you’re a developer with a great idea. You’re eager to get started on your project, but you ...

Every open source project contains a README .md text file to introduce and explain a project. Because the README is the first item a user sees, it should communicate the most valuable information related to your project, clearly and succinctly. It’s like a landing page for your repo, where you get the opportunity to welcome new users or contributors while directing them where to go and how to get started. Ovio displays the README as the most visible element on a project’s page, so you can ensure that external contributors can understand your project’s goals, code, and structure immediately.
Let’s take a closer look at some best practices for creating a readable README, so you can introduce your project effectively, attract more contributors, and make a solid first impression of your project.
The first few lines of your README are essential to capturing the attention of potential contributors. Start by including a brief introduction stating the purpose of your project. You’ll want to include a description of your motivations behind its development and maintenance. By clearly introducing your project, rather than only showing your project’s code, you can give contributor’s a sense of who’s behind the project and why it matters, while also attracting good talent. Think about the beginning of your README like your project’s mission statement, introducing users to its value.
We recommend offering quickstart instructions in your README on how to download and use your code. Offering step-by-step guidance with examples and explanations is a great way to get users comfortable with your project before they have time to feel intimidated or hesitant about getting the development event running.
You want your README file to encourage contributions, so users feel inclined to get started. While more detailed instructions on how to get started on the project should be included in the contributing.md file, the README is a great place to welcome and list possible contributions, tech or non tech related. Read more about the contributing.md file in our article How to attract open source talent to your community.
Showing users how to run tests with your code is important to ensuring your project’s reliability and success, as well as a user’s contribution experience. We recommend walking through an example of how to test the code, describing the process in a step-by-step manner and offering visuals or screenshots along the way. Additionally, as your project evolves and changes over time, your documentation will require updates. Make sure your README’s instructions on how to test the code stay up to date, so when a new developer on-boards your project they can easily get to work.
If a contributor needs help using your code, it should be readily apparent who they can reach out to. Specify in your README file if a user should contact a certain email address for requests and feedback, or guide them to a discussion board in Github or Slack where they can create issues or communicate with other users working on the project. Basically, you want to help your contributors help you, so provide them with clear instructions and necessary contact information.
You’ll also want to include some information about the project’s license in your README. For example, you can write a short note to your contributors saying “This project is licensed under the terms of the Apache license.” We recommend including more detailed information on your project’s license in a separate text file in the root of your repository.
Some projects include information about their license in their README. For example, a project's README may include a note saying "This project is licensed under the terms of the MIT license." As a best practice, we encourage you to include the license file with your project.
Remember people respond well to visuals, so adding a graphic at the top of your README that communicates your repo’s purpose can help attract a contributor’s attention. By including visuals throughout, such as drawings, screenshots, or diagrams, you have a better chance of keeping someone’s attention who is likely skimming your README.
It’s important to give thanks and recognize those who support your project. The README is a great place to express your gratitude and recognize different contributors. We recommend including the names of top contributors, along with the icon image of your project and its latest release note.
Resources: Template Awesome README