Ruby, Codes of Conduct, and Integrity
Hey folks! I wrote this in 2016 and am leaving it up for the historical record. However, since then, I've had a lot of conversations about my previous position with some folks who have been affected by linguistic racism. I've become more aware of the ways that translation barriers can amplify conflict between the Japanese and English-speaking Ruby communities, in ways that bear heavily on international Code of Conduct discussions. I no longer feel this is a post I can stand behind as reflective of my current views.
A few years ago, Ruby DCamp — an event I love dearly — instituted its first Code of Conduct. That code of conduct was an attempt to take the best parts of formal codes of conduct and adapt them, by including language around the “benefit of the doubt,” to something that DCamp organizer Evan Light felt was more appropriate for the relatively informal, self-organizing nature of the DCamp community.
I would have preferred something closer to formal codes of conduct. I was worried that, even though Evan tried to be clear that he wanted people to prioritize their own safety, the “attempt to resolve it yourself first” clause would silence people who had things to report. However, I decided that the DCamp Code of Conduct was good enough for me to continue going, and that Evan’s commitment to attendee safety was good enough for me to recommend the event to others.
Whenever an event or a community adopts a CoC, there’s tension between the need to respect existing work and the need to build something organic. Strong codes of conduct codify community norms; a copypastaed CoC that doesn’t reflect community leaders’ actual values will inevitably be poorly and/or unevenly enforced, which makes communities less safe. At the same time, existing activist work around Codes of Conduct provides a body of knowledge around what does and doesn’t work to make communities safer for marginalized people. When community leaders choose to ignore that body of knowledge, they’re falling prey to Dunning-Kruger and their ignorance also makes communities less safe.
Even though I wished Evan had chosen a different Code of Conduct, I was heartened by the process he went through in adopting it. He actively sought out feedback on ways he could better signal that he wanted DCamp to be a safe space for everyone, and on ways he could do more to protect attendees. The Code of Conduct DCamp adopted in 2014 was a clear and authentic reflection of the values Evan wanted for the DCamp community and the enforcement practices he was willing to put in place to protect those values. Whether you found it sufficient or insufficient, it was a good guide to whether you could feel safe going to DCamp. In other words, it was a code of conduct with integrity.
The Rails Code of Conduct
In the fall of 2015 the Rails project adopted the Contributor Covenant, largely without dispute. This friendly, simple victory for CoC activists followed many bitter fights years before. A lot of people were surprised.
However, to paraphrase Carina Zona — Rails is a community with a BDFL, David Heinemeier Hansson, who is notoriously unafraid of controversy or unpopularity. The public criticisms he’d received in earlier bitter fights hadn’t done much to sway his opinion then. And, once he’d been convinced of the need for a CoC, he felt as little need to cater to anti-CoC feelings as he had with pro-CoC feelings before.
This is also a kind of integrity.
His earlier sentiments had signaled that people who need CoCs to feel safe should stay the hell away from Rails. It’s a hostile position and I feel no desire to be around people who still hold it. But at least it’s an honest one. At least it told me what to expect, and let me make informed decisions about my safety.
Today, that same integrity gives me confidence that, come enforcement time, the Rails Code of Conduct will have teeth.
The Ruby “Code of Conduct”
One thing I do value about the Ruby CoC: it’s clear that Matz put thought into what he was willing, and not willing, to say in a Code of Conduct. I don’t think it clearly articulates community values, or indeed clearly articulates anything, but attempts were made to not lie and I appreciate those attempts.
That said, its wording is neutral to the point of meaninglessness. I’m queer — is someone using a homophobic slur a “personal attack” or is it merely an “opposing view” that I should be “tolerant” of? If someone makes repeated derogatory comments about my appearance in a thread, would a “reasonable” person consider that harassment, or am I failing to “assume good intentions” if I bring it up?
If you say nothing, then you have said nothing untrue — but you haven’t said anything true, either. You haven’t given me any information about whether I should feel safe. You haven’t given me any information about whether harassers will face consequences. You haven’t given me any information about whether these consequences will be fairly applied. You haven’t given me any of the things that I find valuable about Codes of Conduct.
Nice isn’t good or bad. It’s just nice. When you’re “nice” to “both sides” of a conflict, you risk empowering people whose conduct is abhorrent. “Niceness” that’s not backed by integrity is “nice” to harassers with power and leaves their victims hurting and alone.
The Ruby Code of Conduct, as of 02/17/2016, enshrines this failure of integrity as noble.