Maintaining momentum in an open-source community
Building an open-source community takes dedication, hard work and no small number of late nights. As a community gets started there is generally a sense of momentum, ownership and deep commitment. But what happens once your community becomes established and successful? Inevitably volunteers are going to cycle in and out. As a community leader, you need to consider methods to bring in new members, spread the workload and communicate where and when the project could use help. How can you maximize growth and maintain your momentum?
At the Mozilla Developer Network we've kept our community engaged and involved for 10 years. Here are some tips on how we managed it.
Be Genuinely Welcoming
It might seem obvious that to grow you need to involve new people in your community. However, it’s worthwhile to take a step back and evaluate whether people from the outside can truly participate and feel welcomed. Does the "old guard" in the community shut down newcomers, either immediately or over time as the newcomers take on larger roles? Are there unreasonable barriers to acceptance? Conversations that are fine among old friends can be off-putting for those who are just finding their way into the tribe and don’t have context on the community culture. Make sure there is an easy to find guide to participating that newcomers can access to make sure the project, and the community, is the right one for them. Lead by example and make sure you and other influential members welcome newcomers, acknowledge their contributions and help them find the right role. It may seem time-consuming, but newbies provide a different perspective, new skills, and a fresh look at the project that everyone can benefit from.
Be (Truly) Open
Transparent processes promote participation, accountability and trust over the long term. Give plenty of warning before having important discussions, and allow enough time for feedback, especially for members in different time zones. Discussions, meeting notes and decisions should be recorded and accessible. Being open is hard. Consensus building feels slow and frustrating. However slow consensus feels, driving away your community members will slow you down even more. Admit mistakes (because you and everyone else will make them) and then move on and do better. Open and ongoing dialog improves the project and generates outcomes the community feels invested in.
Encourage Meaningful Involvement
Members of your community are not minions who do the things no one else wants to do; they are partners on the journey. Open Source communities rely on the contributions, however large or small, of every single member. It may seem counter-intuitive but the bigger the community grows the more true this is. Create new roles (and be open to roles being created ad hoc as people take on responsibility) and expand your existing teams. Try new things; offer new opportunities. People are motivated by being able to add value, and the person who starts out making a small edit or code change may grow into your next leader.
Balance the Project and the People
Many volunteers contribute in relative silence -- they aren’t on the mailing list, they don’t chat in forums, and they don’t attend meetings or events. They are incredibly valuable but easy to overlook. Don’t get so caught up by the wants and needs of the most vocal, social, or self-promoting participants that you overlook those who are not. Equally, don’t ask for too much or pressure people to participate in ways that are outside of their comfort zone. Some community members might be afraid to say no, especially when they are new. Allow people to participate in the way that work for them, and find ways to incorporate what they do into the overall fabric of the community. Conversely, don’t overly indulge those individuals who sign up and take on the hardest projects single-handedly; but then fail to deliver over months, or even years. Don’t let a project sit unfinished for years before stepping in.
Take Care of Your Hardest Workers
As a leader, you have goals and objectives you want to achieve, and projects that require work being completed on time. You will often find yourself relying on a core group of people who consistently deliver. Whatever needs doing they’re happy to sign up for and frequently work all hours of the night and day to deliver. It is especially important not to take advantage of these individuals. Everybody has a breaking point and better to slip slightly on a goal than to risk burn out and losing them forever. Don’t forget they are doing this as a labor of love.
Maintaining an open source community is hard work, but it is incredibly rewarding. By keeping the community engaged, you keep up the momentum, help new members be successful and allow the project -- and its members -- to grow and thrive.
Ali Spivak manages content & community on the Mozilla Developer Network and spends her time thinking of ways to help make the web even more awesome. She is passionate about maintaining a free and open web, and, after jumping into open source when she joined Mozilla in 2012, has focused on building and participating in the developer communities at Mozilla. Twitter: @alispivak