So many free and open source software projects were started to solve a problem, and people began to contribute to them because they too wanted a fix to what they encountered. End users of the project find it useful for their needs, and the project grows. And that shared purpose and focus attracts people to a project's community.
Like anything with a lifespan, growth is both a sign of and the source of a project's viability. So how do project leads and maintainers encourage the growth of the contributor base? Here are five ways.
1. Provide good documentation
People often underestimate the importance of the documentation of a project. It is the primary source of information for a project's contributors, and it motivates their efforts. The information has to be correct and current. It should include steps for how to build the software, for how to submit patches, a coding style guide, and more.
Check out the 7 rules for creating world class documentation from long-time tech writer and editor Bob Reselman.
A good example of developer documentation is the Python Developer's Guide. It includes clear and concise steps that cover every aspect of Python development.
2. Provide easy entry points
If your project has an issue or bug tracker, make sure to mark the beginner-level tasks as an "easy bug" or a "starting point." New contributors can easily hop on board by tackling these issues. The tracker is also the place for marking nonprogramming tasks like graphic design, artwork, and documentation improvements. There are many project members who do not code every day, but who nevertheless become a driving force by contributing through such means.
The Fedora Project maintains one such easy fix or entrance tracker.
3. Provide regular feedback for patches
Acknowledge every patch, even if it is a single line, and give feedback to the author. Providing feedback helps engage prospective candidates and guides them as they acquaint themselves with the project. All projects should have a mailing list and a chat function for communication. Q&A sessions can happen in these mediums. Most projects do not become successful overnight, but those that thrive have lists and communications channels that create an environment that supports growth.
4. Promote your project
A project started to solve a problem can actually turn out to be useful for others in development as well. As a primary contributor to the project, your responsibility is to document your project and promote it. Write blog posts, and share the project's progress on social media. You can have a short description of how to get started as a contributor to the project and in that description provide a reference to the main developer documentation. In addition, be sure to provide information on roadmaps and future releases.
Get tips on writing for your audience from Rikki Endsley, community manager for Opensource.com.
5. Be welcoming
A friendly conversational tone with prompt replies will bolster a person's interest in your project. Initially, the questions will be only for help, but in the future new contributors may also come up with ideas or suggestions. Enable them with the confidence that they can become a contributor to the project.
Remember that you are being judged. People observe how developers of any project talk with each other on a mailing list or on chat. These are indicators of how welcoming and open people are to new contributors. When working with technology, we sometimes forget the human touch, but this is important for any project's ecosystem. Consider a case where a project is the best, but the project maintainer is not very welcoming. This manager may drive users away from the project. With a large user base, an unsupportive environment may fracture and a group of users may decide to fork and start a new project. There are successful examples of such incidents in the open source world.
Also, for the consistent growth and flow of ideas on an open source project, it's important to have people from varying backgrounds.
Finally, the project owner has the responsibility to sustain and help grow the project. Coaching new contributors is essential for the project, and they will turn out to be future leaders for the project and the community.
Read: 7 ways to make new contributors feel welcome by Nicole Engard, a content strategist at Red Hat.