It's 2019 and the issue by now seems to be mostly settled: Codes of Conduct, as it turns out, are an important tool for any community to promote inclusion and protect their members from harassment that would otherwise distract them or push them away.
But what's the actual experience of designing one, and more importantly, enforcing one?
I was an admin on lgbtq.technology, a community Slack for LGBTQ+ members of the tech industry, for over two years. It had a couple of thousand members, with several hundred active across scores of channels. It was (and still is!) a vibrant community that brought together fairly wide representation of individuals.
In this article, I'll go over the story of how community management evolved in this particular community. Along the way, I'll share various hard-earned lessons myself and the rest of the admin team there learned about how to effectively manage a diverse community -- and how to use policy to make it inclusive.
In the Beginning, One Big House Party
It all started with a tweet. And just like that, a new Slack was born.
I don't think anyone, much less Laurie, really expected the space to take off the way it did, but before he knew it, he was being bombarded with requests to join. The space grew quickly as news spread in the twittersphere, through Laurie's fairly sizeable following and connections in the SF queer scene.
As with any community, it didn't take long for conflict to start. There was a fundamental misunderstanding between community members: some founding members expected it to be "one big house party" where people were implicitly expected to behave well, but that didn't work out too well. You see, there were people joining who were not like them. They were people of color, or trans people, or bi people, or all sorts of folks that cis, gay, white men were not necessarily used to interacting with.
Within a couple of weeks of its creation, some members drafted a Code of Conduct based on the flurry of discussions around the topic, and what to do about conflict in this new community. Some people left, but others had already left because of what they'd run into. Lesson learned.
Problems With Code of Conduct Enforcement
Codes of Conduct are not enough to promote a healthy community. Whether they work is a function of the community itself, the processes that have been put in place, and the specific group of people tasked with handling their rules.
Then the new community ran into the next problem: enforcement.
For a long time, enforcement was treated as a binary: You either behave "well enough", and you get to stay, or you "violate the CoC" or "anger the wrong person", and next thing you know, you're permanently banned -- and permanent bans they were.
Having a binary over bans created an "unofficial" way to manage conflict. Many people felt discouraged from reporting violations or "making a fuss" about them because they didn't want to be responsible for someone getting banned. Those on the other end of the report would often react aggressively and defensively when confronted by staff, because being found "guilty" meant they would lose access to a space they found valuable. There was no policy for bringing someone back into a space, after any length of time.
In reality there was a lot of leeway at the staff level. Many conflicts were resolved by just private messaging someone and having a conversation with them. But any time a conflict became public or enough people made a fuss, the reported person would lash out, and get banned more for their lashing out than their actual behavior.
An Experiment: WeAllJS
Ongoing conflicts over community management in lgbtq.technology's
#meta channel eventually reached a point where it became clear us admins needed to try something else. The problem was, the large community we already had wasn't the best place to be experimenting with new ideas.
It was premised on a few ideas I wanted to play with, and eventually bring back to LGBTQ.tech:
- Communities could be made for everyone while still making space for marginalized people.
- Codes of Conduct could be very detailed, and communities could be made to follow them.
- Emphasizing a healthy enforcement process could resolve conflict without resulting in bans or extra conflict.
WeAllJS had all the bits I wished I could've experimented with in lgbtq.technology. I wrote a new Code of Conduct for it, as well as a custom Slack bot which added the concept of a "private channel listing" where members could request invites into the channel but not see their contents right off the bat. Also important was the fact that from the very beginning, the admin staff was composed of LGBTQ people, people of color, women and non-binary people.
The experiment was fairly successful. I think the best part of it turned out to be the enforcement process itself. You'll notice that the WeAllJS CoC leads with enforcement rules, first of all, but also that those rules include the entire community in its enforcement, and the rules aren't absolute. As it turns out, violations in WeAllJS are commonplace, due to its detailed CoC, but to this day, only a single person has been permanently banned from the space, and that after plenty of warnings and very caring conversations. For an online community with no demographic restrictions on its membership and about 1700 members, over the course of three years, this is an amazing fact, to me.
Following my report on my experiences over in WeAllJS, lgbtq.technology ended up adopting a similar enforcement process in its Code of Conduct. It also adopted Wheelie, the Slack bot, as well as the WeAllJS channel system!
Conclusion, and Next Steps
So how can you put all this to use in your own communities and open source projects? Having a code of conduct is a given these days, but what else?
- Include clear enforcement procedures either in the CoC itself, or somewhere obviously connected to it.
- Customize your code of conduct to be relevant to your community! Don't just grab the Contributor Covenant and call it a day. That borders on irresponsible.
- If you want a starting point, consider the WeAllJS CoC, or WeAllBehave for your open source projects.
- Consider employing a consultant, preferable a person of color, to look over your CoC and give you more advice about your community.
And that just about wraps this up! I hope this article has proven useful and provided some context over the process and concerns surrounding codes of conduct!
Top comments (3)
Thanks for this post and pointing us to the WeAllJS CoC. Our code of conduct is very much influenced by the ongoing evolution of other codes out there. Once someone comes up with the right articulation of a pattern it becomes so much more straightforward to enforce the guideline. Several of your examples are really clear and useful.
Penny for your thoughts...
One standard I've been thinking about proposing as a change to our code of conduct is something pertaining to "piling on", wherein no individual comment may be a clear violation of the code of conduct, but becomes problematic when people join in on a discussion just to add yet another dissenting perspective. I think this is more a problem with our asynchronous threaded form factor, but occasionally we will see a post where people flood in to nitpick a detail and even though that nitpick may be justified, it becomes a form of harassment at scale.
Twitter is the gold standard of "piling on" (sometimes for better, sometimes for worse, depending on the context) but we occasionally experience that on DEV.
Anyway, I just thought I'd say that outloud in case you or anybody else had some thoughts before I bring up the idea.
Thanks for the post! I'm in a group considering putting on a small conference, and CoC is something that we're looking at from day 1 - but there is surprisingly little about best practices or what people have learned and would do differently, so thanks :)
Do you know of any other good posts by people talking about what they learned, and would do again or do differently?
Thanks for writing this Kat! I wish moderation and enforcing the rules were as simple as they seem to be. Banning someone from the community is always stressful, especially when you're trying to be compassionate and understanding towards all the members of the community.
I've put together a CoC based on the Go project's CoC and my personal experience as a moderator. After describing the process of reporting users and introducing the "3rd strike, you're out" rule, things got much better.