Managing an online community

illustrations illustrations illustrations illustrations illustrations illustrations illustrations

Published on 23 November 2023 by Andrew Owen (4 minutes)

Merriam-Webster describes community as a unified body of individuals with common interests. I’m not sure that I agree. Every community I’ve ever been involved with has factions. In addition to common interests, they also have competing interests. And if no-one takes responsibility for resolving conflicts, communities can split acrimoniously. Keeping communities healthy requires management. But it can’t be left to a single individual.

“The core concept of evolution is that through natural selection the strongest and the fitest survive. But moreover, communities survive better than individuals. Communities rely upon co-operation, and I think that’s the power of goodness. Evolution is based on the concept of mutual benefit and the extension of generosity."—Paul Stamets (mycologist)

There’s only so much that can be covered in a blog article. To learn how to “recruit members, motivate them, and manage them as active participants” and make your community “a reliable support network, a valuable source of new ideas, and a powerful marketing force,” I recommend Jono Bacon’s “The Art of Community”.

I’m going to focus on the tricky part: conflict resolution. Remember how Jenkins split from Hudson, LibreOffice from OpenOffice and MariaDB from MySQL? Maybe those splits were avoidable. Zed A. Shaw’s split from the Ruby on Rails community? Probably not so much. But if there’s one thing I’ve become convinced of, it’s that communities need a code of conduct that addresses governance.

Depending on the size of your community, you may be able to get by with a single rule: don’t be a jerk. But you still need to set out:

  • Where that applies (everywhere).
  • What the expectations are of community members (create a safe and productive environment).
  • What constitutes a violation of the code (harassment).
  • How to report a violation.
  • How reports are dealt with.
  • How to appeal a decision.

If you’re looking for a starting point, I’d recommend the Rust Foundation Code of Conduct. This builds on the Rust Project Code of Conduct which has been adapted by npm, NodeBots, the DevRel Collective and the Chloe 280SE project that I’m volunteer community manager for.

It’s worth including a short summary (tl;dr) at the start. For example:

  • Be respectful.
  • No solicitation.
  • We’re here to help (with moderator usernames).
  • Abusive behavior is never tolerated.
  • Data published to the channel is hosted at the discretion of the administrators and may be removed.
  • Violations of this code may result in swift and permanent expulsion from the community.

This is great until a problem arises and there’s no moderator available to deal with it. I saw this in the community for a commercial product that I was involved with where there was a case of gatekeeping. It took a number of days to resolve and had the potential to cause long term damage to the community. There was no code of conduct. But even if there had been one, no moderator was immediately available.

What would have helped is if any member of the community felt able to respond to the inappropriate behavior with the phrase: “we don’t do that here.” This is powerful because it avoids any value judgement on the behavior. And a code makes it clear what is and isn’t tolerated. Any response to “we don’t do that here” other than contrition can be followed up with “yes, but we don’t do that here.” Harassment should be called out for what it is and dealt with swiftly. Bion of Borysthenes has a great counterpoint to the mantra of “don’t feed the trolls”:

Boys throw stones at frogs in fun, but the frogs do not die in fun, but in earnest.

The usual test I apply before participating in a community is: is this a community I would feel comfortable for my (imaginary) daughter to participate in. If not, then it’s probably not a friendly, safe and welcoming environment for all, regardless of gender identity, sexual orientation, disability, ethnicity, religion, age, physical appearance, body size, race or other personal characteristics.

Communities should be covered by FrieNDA (a type of non-disclosure agreement). Opinions shared within the community shouldn’t be shared outside it without the explicit consent of the person who shared it. One of the rules should be respect for intellectual property rights (especially in an open source community). You may also want to prohibit solicitation (pitching business services and products to members).

If you’re starting a community from nothing, then you can impose a code from the start. But if you’re adopting an existing community, you’ll need to get buy-in from members. The healthier and more diverse the community is, the easier this should be.

One final piece of advice. If you find yourself in a toxic community, it’s time to leave.