|
| 1 | +# **Building a Community** |
| 2 | + |
| 3 | +You’ve launched your project, you’re spreading the word, and people are checking out your project. Awesome! Now, how do you get them to stick around? In this section, we’ll discuss ways to encourage people to use, contribute to, and evangelize your project. |
| 4 | + |
| 5 | +## Give your community a place to congregate |
| 6 | + |
| 7 | +There are two reasons to give your community a place to congregate. |
| 8 | + |
| 9 | +The first reason is for them. People with common interests will inevitably want a place to talk about it. And when communication is public and accessible, anybody can read past archives to get up to speed, and new people will feel more comfortable participating. Helping people forge connections with each other will build a stronger and more resilient community. |
| 10 | + |
| 11 | +The second reason is for you. If you don’t give people a public place to talk about your project, they will likely contact you directly. In the beginning, it may seem easy enough to respond to private messages "just this once". But over time, especially as your project becomes popular, you will become exhausted. Resist the temptation to communicate with people about your project in private. Instead, direct them to a designated public channel. |
| 12 | + |
| 13 | +If your project is on GitHub, public communication can be as simple as directing people to use GitHub Issues instead of emailing you directly. You could also set up a mailing list (such as [Google Groups](https://groups.google.com/forum/#!overview)) or create a Twitter account, Slack or IRC channel for people to talk about your project. Or try all of the above! |
| 14 | + |
| 15 | +## Make people feel welcome |
| 16 | + |
| 17 | +A welcoming community is an investment into your project’s future and reputation. Your project might be new and shiny right now, but inevitably there will come a day where people move on to the next shiny thing, and that’s when you’ll be glad you took steps now to create an environment where people want to stick around and participate. |
| 18 | + |
| 19 | +When someone new lands on your project, make sure to thank them for their interest! Show them around and help them get started. Point them to resources, like onboarding materials or past mailing list threads, that you think might be helpful. Don’t give people a reason have a negative experience and not want to come back. |
| 20 | + |
| 21 | +You don’t have to overdo it or feel like you’re putting others’ needs in front of your own. Be honest about your project’s needs, but do so with an assertive attitude. You can stand up for yourself without being rude, flippant, or unhelpful. |
| 22 | + |
| 23 | +## Document everything |
| 24 | + |
| 25 | +When you start an open source project, it may feel natural to keep your ideas and workflows private. But open source projects thrive when you document your process in public. That way, more people can participate at every step of the way. You might get help on something you didn’t even know you needed. |
| 26 | + |
| 27 | +Documenting your open source project means more than just technical documentation. Be transparent about your project’s roadmap, your timeline for completing new features, the types of contributions you’re looking for, how contributions are reviewed and accepted, or why you made certain decisions. Any time you feel the urge to write something down about your project, consider whether you can make it public. The feedback you’ll get from this level of transparency may surprise you. |
| 28 | + |
| 29 | +## Be responsive |
| 30 | + |
| 31 | +As you promote your project, people will probably have feedback and ideas for you. They may request support or functionality, have questions about how things work, or need help getting started. |
| 32 | + |
| 33 | +Try to be responsive when someone files an issue or submits a pull request, or asks a question about your project. When you respond quickly, people will feel they are part of a dialogue, and feel more enthusiastic about participating in and using your project. For example, when Mozilla studied its community and engagement in 2014, they found that contributors who received code reviews within 48 hours had a much higher rate of return and repeat contribution. [1] |
| 34 | + |
| 35 | +Remember that conversations about your project could also be happening in other places around the Internet, such as Stack Overflow, Twitter, or reddit. You can set up notifications in some of these places so you are alerted when someone mentions your project. |
| 36 | + |
| 37 | +## Make it easy for people to use and contribute |
| 38 | + |
| 39 | +One way to think about your project’s community is what [@MikeMcQuaid](https://github.com/MikeMcQuaid) calls the contributor funnel. [2] At the top of the funnel is anybody who could potentially use your project. At the bottom of the funnel are people like you who maintain the project. |
| 40 | + |
| 41 | +As you build your community, consider how someone at the top of the funnel (a potential user) might theoretically make their way to the bottom (an active maintainer). Your goal is to make each stage of the contributor experience as frictionless as possible. When people have easy wins, they will feel incentivized to do more. |
| 42 | + |
| 43 | +Start by making it easy for someone to use your project. Tutorials, clear code examples, good documentation, and a friendly README will make it easier for anyone who lands on your project to understand its value and get started. |
| 44 | + |
| 45 | +For casual or first-time contributors, be open-minded about the types of contributions you’ll accept. Many casual contributors start with a small fix. A new contributor might write a tutorial or improve your project’s documentation, because newer users notice things that more experienced users might not. Let people help how they want to help. If there’s a contribution you disagree with, thank them for their idea and explain why it doesn’t fit into the scope of the project. If there are certain types of contributions that you won’t accept, explain so in your CONTRIBUTING.md file. |
| 46 | + |
| 47 | +You’re doing great so far! Now that you’re promoting your project and growing a community, you’re probably wondering whether you’re doing it right. In the next section, we’ll talk about metrics to measure your project’s success and how to track them. |
| 48 | + |
| 49 | +[Previous](spreading-word.md) | [Next](measuring-success.md) |
| 50 | + |
| 51 | +### Footnotes |
| 52 | + |
| 53 | +[1] [https://docs.google.com/presentation/d/1hsJLv1ieSqtXBzd5YZusY-mB8e1VJzaeOmh8Q4VeMio/edit#slide=id.g43d857af8_0177](https://docs.google.com/presentation/d/1hsJLv1ieSqtXBzd5YZusY-mB8e1VJzaeOmh8Q4VeMio/edit#slide=id.g43d857af8_0177) |
| 54 | + |
| 55 | +[2] [https://speakerdeck.com/mikemcquaid/the-open-source-contributor-funnel](https://speakerdeck.com/mikemcquaid/the-open-source-contributor-funnel) |
| 56 | + |
| 57 | +### Further reading |
| 58 | + |
| 59 | +* [http://radek.io/2015/10/12/marketing-for-open-source-projects-5/](http://radek.io/2015/10/12/marketing-for-open-source-projects-5/) |
| 60 | + |
| 61 | +* [http://hood.ie/blog/welcoming-communities.html](http://hood.ie/blog/welcoming-communities.html) |
| 62 | + |
| 63 | +* [https://ashfurrow.com/blog/building-popular-projects/](https://ashfurrow.com/blog/building-popular-projects/) |
| 64 | + |
| 65 | +* [http://sarah.thesharps.us/2015/10/06/what-makes-a-good-community/](http://sarah.thesharps.us/2015/10/06/what-makes-a-good-community/) |
0 commit comments