November 23, 2019
Reading the WeAllJS Code of Conductline-by-line and off-the-cuff
My friend Kat Marchán published Effective Codes of Conduct, a great piece about codes of conduct for online communities. The key takeaway for me was a link to the code of conduct for WeAllJS.
I decided to read that code of conduct, and figured it might be interesting to share my thoughts in raw, stream-of-reader-consciousness form.
Exactly how interesting should take well into account that I am not a part of the online community this policy comes from, and have no special moral or social credentials. I am in fact just another fallible fuck-up doing the best I can, which is not that great more often than I’d like. But rules, terms, and adjudication systems are my day-to-day, and I’ve spent a lot of time receiving wisdom on the matter, as a dry science. Also learning a few things the hard way, down in the trenches with law clients.
Whatever that’s worth, that’s what I hope to offer.
WeAllJS Code of Conduct
When Something Happens
Kat pointed out that the code of conduct starts with enforcement terms. I think that’s an important insight, too.
It remains unclear in my mind how much of the utility of codes of conduct comes from their mere existence, as a signal, and how much actually comes from the substance of their terms. Empirically, many early codes of conduct were rather thin on substance, in my opinion. But those early attempts were the bridge to broader code of conduct adoption. So intuitively, I think early codes of conduct were nearly all signaling, and later codes have improved largely by filling out the substantive side. But the safe answer is that codes of conduct offer both kinds of utility, and wouldn’t be so popular if they didn’t.
On substance now: Legal theory breaks justice, especially criminal justice, down into various components. Retributive justice requires that offenders suffer for their crimes. Deterrence focuses on promising punishments to dissuade others from unwanted behavior. Rehabilitation focuses on developing or correcting offenders so they can return and contribute to society. And so on.
Clear enforcement mechanisms speak especially to deterrence. They help to reinforce that consequence will follow unwelcome action. Touch the fire, get burned.
Clear enforcement mechanisms also speak to broader concerns of fairness and impartiality. Judges and others following rules laid down and made public before a crime was committed can point to those rules for legitimacy. This happens even when the rules malfunction, and compel what seem disproportionate or unfitting punishments. We see this from time to time in written opinions of United States judges forced to impose harsh sentences under rigid minimum-sentence laws, against their good conscience.
If you see a Code of Conduct violation, follow these steps:
Plain language, not legalese, real or affected. Could not be more in favor of that.
1. Let the person know that what they did is not appropriate and ask them to stop and/or edit their message(s).
I spoke too soon. The lexicography of “and/or” and “message(s)” reads pretty legal to my eye. I don’t think that helps. I’d edit out.
2. That person should immediately stop the behavior and correct the issue.
Nitpick: This is helpful to confirm, but not a step for people who see violations to follow.
I wonder here whether there’s a “timeout” rule further down that requires members on all sides of any conversation that leads to a conduct complaint to step away.
3. If this doesn’t happen, or if you’re uncomfortable speaking up, contact admins.
“If you’re uncomfortable speaking up” is very important here. Conflict aversion is real. Self-doubt is pervasive. Perhaps especially in communities intentionally welcoming those marginalized elsewhere.
I wonder how many complaints are actually resolved without recourse to admins.
4. As soon as available, an admin will join, identify themselves, and take further action (see below), starting with a warning, then temporary deactivation, then long-term deactivation.
Clear escalation ramp: warn, deactivate, deactivate longer. That’s important.
What’s missing here is how the admin verifies the violation, and what happens just because there was a complaint versus what happens when a complaint is made and then verified by an admin or another set of eyes. Maybe that comes later.
When reporting, please include any relevant details, links, screenshots, context, or other information that may be used to better understand and resolve the situation.
This is tough to get right. You don’t want issues dumped on admins, without context, with nothing more than a link or other pointer to an offending message. At the same time, I could see reports from some users going on at substantial length, largely as catharsis for the one reporting, at the expense of the admin, who then has either even more to read or a tough choice about whether to skim or skip.
I’d consider making an additional note, either that the usual rules about confidentiality of messages apply, or what special confidentiality commitments admins receiving reports make about the material they’re shown for enforcement purposes.
The Admin team will prioritize the well-being and comfort of the recipients of the violation over the comfort of the violator. See some examples below.
As above on point 4, I might clarify this language to account for any admin decision about whether the code was actually violated or not. As someone wrongly accused, you don’t want to see a policy that moves immediately and inexorably from complaint to punishment. A process that doesn’t answer the question “When and how will I be heard?” looks like a weapon.
In the interest of fostering an open and welcoming environment, we as members of the WeAllJS community pledge to making participation in our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, technical preferences, nationality, personal appearance, race, religion, or sexual identity and orientation.
Phrasing this as a collective pledge is an interesting choice. I could see it working well, if members are in fact aware that it is written so. Do new members of the community have to confirm or otherwise express that they join the group in making this pledge? Does that call to action call their attention to this part specifically?
Lawyers refer to lists of characteristics like this “protected classes”. Which characteristics make the list, and how they’re worded, always produces controversy, and often proposals for amendment, over time. California is well known for adding new or different categories, like sexual orientation, gender expression, and gender identity, in state law analogs to federal laws.
Examples of behavior that contributes to creating a positive environment include:
The phrase “positive environment” appears here first. I’d consider replacing with “open and welcoming environment”, to tie back to Our Pledge.
- Using welcoming and inclusive language.
- Being respectful of differing viewpoints and experiences.
- Gracefully accepting constructive feedback.
- Focusing on what is best for the community.
- Showing empathy and kindness towards other community members.
I’d make this
<ol>, rather than
<ul>. Might want to reference a specific item.
Examples of unacceptable behavior by participants include:
- The use of sexualized language or imagery and unwelcome sexual attention or advances, including when simulated online. The only exception to sexual topics is channels/spaces specifically for topics of sexual identity.
- Trolling, insulting/derogatory comments, and personal or political attacks.
- Casual mention of slavery or indentured servitude and/or false comparisons of one’s occupation or situation to slavery. Please consider using or asking about alternate terminology when referring to such metaphors in technology.
- Making light of/making mocking comments about trigger warnings and content warnings.
- Public or private harassment, deliberate intimidation, or threats.
- Publishing others’ private information, such as a physical or electronic address, without explicit permission. This includes any sort of “outing” of any aspect of someone’s identity without their consent.
- Publishing screenshots or quotes, especially from identity channels, without all quoted users’ explicit consent.
- Publishing or telling others that a member belongs to a particular identity channel without asking their consent first.
- Publishing of non-harassing private communication.
- Any of the above even when presented as “ironic” or “joking”.
- Any attempt to present “reverse-ism” versions of the above as violations. Examples of reverse-isms are “reverse racism”, “reverse sexism”, “heterophobia”, and “cisphobia”.
- Unsolicited explanations under the assumption that someone doesn’t already know it. Ask before you teach! Don’t assume what people’s knowledge gaps are.
- Feigning or exaggerating surprise when someone admits to not knowing something.
- Other conduct which could reasonably be considered inappropriate in a professional or community setting.
Very specific. I imagine this list accreting over time, specific incident by specific incident, like a suite of regression tests.
At a higher level, if the concept of a code of conduct doesn’t immediately invoke a left-political association, I think this list will, starting from the point on “hipster racism” on. I’d be hard-pressed to say exactly why. I’m feeling this by association.
I’d also be hard-pressed to say what to do about it. Perhaps, for WeAllJS, the best answer is not to do anything at all. On issues intersecting the items of this, or more generally, WeAllJS may itself be left-typed. Perhaps it would help to call out some unfortunate left-type rhetorical tropes, like assuming the political support of members of historically marginalized groups. But in my experience that usually leaves an impression of studious balance for the drafters, while guaranteeing everyone else something to cringe about. Trying to generalize specific items could work, but often waters the rules down, and makes them harder to administer.
I’d make this
<ol>, rather than
<ul>, too. Might want to reference a specific item.
This Code of Conduct applies both within community spaces and in other spaces involving the community. This includes the WeAllJS Slack, its Twitter community, private email communications in the context of the community, and any events where members of the community are participating, as well as adjacent communities and venues affecting the community’s members.
Jurisdiction is tough. I could see the fuzzier parts of this rule—“involving the community”, “in the context of the community”—producing conflict.
If this has to be essentially open-ended, I would own that, and also set out plainly who will decide when the written rules aren’t clear. If it doesn’t have to be open-ended, I’d strongly consider turning it into an exhaustive list of specific venues, with a clear amendment process for adding new items. For example, if the group organizes a new event, an amendment could add that event to make clear it’s covered.
Depending on the violation, the admins may decide that violations of this code of conduct that have happened outside of the scope of the community may deem an individual unwelcome, and take appropriate action to maintain the comfort and safety of its members.
I was expecting a clarification that admins decide what venues involve the community or belong in the context of the community, but this is different. I now take it the answer to my question about open- versus closed-endedness above would be “open-ended”.
What admins will do here is also open-ended. If the upshot is that admins may apply the same ramp of graduated punishments—warn, deactivate, deactivate longer—for outside-venue violations, I’d spell that out.
Admin Enforcement Process
Once the admins get involved, they will follow a documented series of steps and do their best to preserve the well-being of WeAllJS members. This section covers actual concrete steps.
The word “well-being” appears earlier, in the clarification about reporter over violator priority. But “and comfort” is missing here, and it’s not clear how the combination, “well-being and comfort”, plugs into the other terms about welcome and unwelcome conduct.
I’d consider making explicit that the group sees a necessary-not-sufficient link between well-being and comfort of individual members and the desired collective outcomes for the community as a whole.
Nitpick: If “a documented series of steps” is the series of steps documented in the list that follows, I’d clarify that.
For further information/details on values and practices that admins will generally apply when enforcing the Code of Conduct, refer to the full enforcement document.
Another page for my reading list. Without diving into it, I wonder whether separating the enforcement philosophy came out of recognition that the audience is different. Code of conduct is for participants. Enforcement policy is for admins, but published for transparency. Like a footnote.
You may get in touch with the WeAllJS admin team through any of the following methods:
- Use the
/admincommand in the WeAllJS Slack to send a message directly to the admin channel.
- Directly message any admin in private (through either Twitter, Slack, or email, as available) if it is a preferred or more comfortable avenue.
- Use the
/join-private #wealladmincommand for a private conversation with all admins.
- Email the admins directly at firstname.lastname@example.org
- Direct Message @WeAllJS on Twitter with the details and any relevant links.
?adminswill list the names of all current admins.
Lots of different ways. Could be a burden on admins.
I suppose folks could try to report issues anonymously via e-mail. It’s unclear whether admins will accept anonymous reports, or reports from non-participants on participants’ behalf.
If you’ve already followed the initial enforcement steps, these are the steps admins will take for further enforcement, as needed:
1. Repeat the request to stop.
2. If the person doubles down, they will be removed from the channel and given an official warning.
I take it “official warning” means “warning from an admin”.
3. If the behavior continues or is repeated later, the person will be deactivated for 24 hours.
4. If the behavior continues or is repeated after the temporary deactivation, a long-term (6-12mo) deactivation will be used.
Does the admin decide on a period from six to twelve months on the spot? Do they document their reasons?
On top of this, admins may remove any offending messages, images, contributions, etc, as they deem necessary.
Important. There’s not much predictability on offer here. But there’s value in clarifying what mechanisms are on the table.
Admins reserve full rights to skip any of these steps, at their discretion, if the violation is considered to be a serious and/or immediate threat to the health and well-being of members of the community. These include any threats, serious physical or verbal attacks, and other such behavior that would be completely unacceptable in any social setting that puts our members at risk.
Again, I’d avoid “and/or”. Maybe that’s coming more from a technical
^ mentality, but either way, the vibe is technical.
Nitpick: The document mixes “member” and “participant”. I’d pick one and use it throughout.
Members expelled from events or venues with any sort of paid attendance will not be refunded.
This is important ground to cover, but probably belongs in terms for the events themselves. Pointing back to this policy could feel like a gotcha. Especially if the event promulgates its own code of conduct.
Who Watches the Watchers?
Admins and other leaders who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the community’s leadership. These may include anything from removal from the admin team to a permanent ban from the community.
What’s “the community’s leadership”? How do they make decisions?
The Best Case
The vast majority of situations work out like this, in our experience. This interaction is common, and generally positive.
Alex: “Yeah I used X and it was really crazy!”
Patt: “Hey, could you not use that word? What about ‘ridiculous’ instead?”
Alex: “oh sorry, sure.” -> edits old message to say “it was really confusing!”
The Admin Case
Sometimes, though, you need to get admins involved. Admins will do their best to resolve conflicts, but people who were harmed by something will take priority.
Patt: “Honestly, sometimes I just really hate using $library and anyone who uses it probably sucks at their job.”
Alex: “Whoa there, could you dial it back a bit? There’s a CoC thing about attacking folks’ tech use like that.”
Patt: “I’m not attacking anyone, are you deaf?”
Patt: “Leave me alone I haven’t said anything bad wtf is wrong with you.”
Patt: “/msg @mxadmin1 Okay sorry. I’m just frustrated and I’m kinda burnt out and I guess I got carried away. I’ll DM Alex a note apologizing and edit my messages. Sorry for the trouble.”
MxAdmin1: “/msg @patt Thanks for that. I hear you on the stress. Burnout sucks :/. Have a good one!”
This is the best I have for understanding the boldface clarification on priority at the top. Is the gist that reports of misconduct will be treated as misconduct, without an independent assessment by admins?
The Nope Case
PepeTheFrog🐸: “Hi, I am a literal actual nazi and I think white supremacists are quite fashionable.”
Patt: “NOOOOPE. OH NOPE NOPE.”
Alex: “JFC NO. NOPE.
MxAdmin1: “👀 Nope. NOPE NOPE NOPE. 🔥”
PepeTheFrog🐸 has been deactivated.
Examples are good!
I would provide a tiny bit of explanation for each example, perhaps just a sentence with a link or small quote from Our Standards, to make clear what rule of the code of conduct made the responses of participants and admins appropriate.
Some things I was looking for, but didn’t see:
Terms on verification of complaints, to forestall exploitative, tactical use of the enforcement mechanisms. Justified, good-faith complaints will be the hot path in the vast majority of communities. But those who have had codes of conduct wielded against them, or known or others who have, will look for recognition and reassurance. Some of those folks are assholes who don’t know it. Some are victims who do.
The code provides this kind of reassurance for another relatively infrequent issue, in Who Watches the Watchers?. Might tack on another “technicality section” after that one, to address tactical abuse. Wiki Wormhole Warning: SLAPP
Explicit clarification that admins will interpret Our Standards, and to what extent their spot calls will be final or appealable. If appealable, how. Might also address how admins will handle unclear or borderline cases, such as by taking some action by default, and then deliberating with other admins.
Redemption process. Is there a paved, welcoming path to return after a longer-term deactivation?
Change process. How will the community maintain and change the code of conduct?
Your thoughts and feedback are always welcome by e-mail.
more articles — back to top — edit on GitHub — revision history