My team are regularly asked variants of this question. Typically when reviewing software systems and extensions which have been out-innovated by the open source community.
Just writing code leads to a development team of one. It works, but is slow. The illusive promise of open source is the potential to attract external developers. But to attract and retain developers you need to connect with them, talk with them, support them, encourage them. You need to help them achieve their goals, which might be only slightly related to yours. And hopefully, after all that, they might contribute back. It is a tough ask, which is probably why 5 out of 6 open source projects are abandoned.
So what percentage of time should be dedicated to communication in order to build a successful open source community? My gut feeling, after decades contributing to open source, is around 20% to 40%. But I'd love to find some solid research to back this up.
An extensive study by Schweik and English, sponsored by the U.S. National Science Foundation, researched the factors that lead some open source projects to ongoing success, while others become abandoned. Key attributes identified in successful projects included:
- A clear vision,
- Leaders who lead by doing,
- Good documentation and a quality web presence,
- Fine scaled task granularity, making it easier for new users to contribute.
Here are some indicators I'd like to see mined from communication archives and then correlating with project success rates:
- What is the frequency, response-rate and response-time to conversations?
- What is the proportion of experienced verses in-experienced people initiating and responding to topics?
- What is the "signal to noise" ratio? Do people write concisely?
- Is communication constructive? Do topics lead to practical actions or implementations
- Is communication respectful and supportive? (This might be hard to measure, but I'd argue that practicing mutual respect is key to community building.)
- How much time do people spend coding compared to the time they spend communicating? (This could be roughly calculated based on lines of code written vs lines of email composed).
- Which communication mediums are more effective? Email, IRC, twitter, blogs, other?
- What styles lead to communities becoming more or less engaged?
- Have core contributors responding quickly to community questions
- Have a community who are supportive of each other, resulting in many community members having the confidence to answer new user questions
- Having new ideas being initiated, discussed and then implemented from many members of the community