Describe the benefits of the open-source community
Here, we describe some of the benefits of the open-source community on GitHub. Innovation is built on top of open-source software: 80-90% of any new application created today consists of open-source code. The remaining 10-20% is where you can focus on delivering business value. To compete in the market, you have to use open source, or you lose your head start by developing your own solutions.
Set up your project and community for success
Let's look forward into the future and suppose that your organization has decided to create an open-source program. After a few months, you've attracted an engaged community of contributors. Congratulations! What do you do next?
Building a welcoming community for your project is a long-term investment in your open-source program. Healthy, safe, and welcoming communities are the power behind the open-source ecosystem. People and their communities are often the main reason for folks to contribute—or to not contribute—to open-source projects.
You want a team of people to move critical infrastructure and popular dependencies forward, even if they're distributed across areas and time zones, rather than an individual. That way, even if a project isn't supported commercially and there's no SLA, you can still count on the community's support for a project's maintenance. Similarly, you wouldn't want your business processes to depend on a single person. What if Bob from accounting gets sick, and salaries can't be paid out until they return because they're the only one who knows how to operate the software?
As folks engage with and interact with your open-source projects, there are some that transition from users to contributors and maintainers. We call the steps involved in this transition "the contributor's journey". As the project maintainers, it's critical that you're mindful of the contributor's journey, because it's crucial for any open-source project's sustainability.
Your goal when running an open-source program is to help reduce friction and enhance the contributors' experience. Even if someone is a casual or one-time contributor, your job is making it easy to contribute to your project. The open-source community has developed an informal way to share meta information about the project, like how to contribute effectively, expected conduct between contributors, and so on. These ways are typically added to files called README
and CONTRIBUTING
. Think of your project's README as the landing page for your project, rather than a set of instructions to install your tool or framework.
Use your CONTRIBUTING file to provide details about the type of contributions you're looking for and how you review and accept them. Also, explain the criteria for getting triage and commit rights to the repository.
Open communication
When you work on an open-source project, the documentation focus is often on technical documentation. A great way to include the community in your project is going beyond the technical docs. Items that you can also openly document include your project's roadmap and governance, contribution processes, and meeting minutes.
You can document important discussions and gather community and contributors' feedback using GitHub discussions. This way, you can start discussions with your team and the broader community. You can even reference these discussions in Issues and Pull Requests.
Keeping communication public—except for certain cases such as code-of-conduct incidents—ensures everyone has the same information.
Project community profiles on GitHub
To see how your project compares to community standards, navigate to the main page of your repository. Under your repository name, select Insights. In the left sidebar, select Community Standards. Almost all the files are right there to add. Think of adding templates for Issues and Pull Requests, further taking away barriers for people to report bugs, submit code, and just getting involved with your project.
For more community best practices, check out GitHub's Open Source Guides.