The New Normal: Codes of Conduct in 2015 and Beyond
Although we can rightly celebrate the progress that we have made thus far, we must also recognize just how far we still have to go in making this phase in our cultural evolution a success.
Codes of conduct became a key issue for discussion and activism in 2014, in part kicked off by Ashe Dryden’s Code of Conduct Pledge in February of that year. And while many tech conferences and even local meetups adopted a code of conduct this year, much more work is needed to improve the quality and effectiveness of these policies in the future.
Good codes of conduct serve multiple purposes. They establish the ground rules for interactions between participants. They outline enforcement mechanisms for violations. They serve as a signaling mechanism, a way of broadcasting the intent of organizers or maintainers to create safe spaces for the full participation of members of the community regardless of race, religion, ethnicity, gender, sexual preference, or physical ability. But most importantly, they codify the aspirations and values of a particular community, clearly stating what organizers and maintainers hope to create in terms of welcoming and inclusive spaces.
Despite the clear purpose that codes of conduct serve, 2015 saw many of the same tired old arguments used against them. We saw continuous denial that a particular community or event could possibly be home to bad behavior. Some expressed fear that adopting a code of conduct would be tantamount to admitting an actual incident had occurred. Others outright dismissed the principle of written rules as mere “words on paper”.
But while most criticisms were clichéd fear-mongering, including prophecies of a dystopian future rife with thought-police, some new ideas did emerge from critics of the movement. Some cautioned about the impact of language sensitivity on non-native speakers. A few warned of the temptation on the part of organizers to show anything other than even-handedness in enforcement. Concerns were also raised about the free speech implications of the reach of codes of conduct outside of specific project spaces, such as when a prominent project maintainer makes inappropriate statements in a public forum like Twitter.
Others interpreted the widespread adoption of codes of conduct as part of an overall attack on the established and entrenched principles of meritocracy, in which “meaningless details” such as racism, sexism, transphobia, and ableism are a distraction from the technical work at hand. Eric Raymond brought this argument to a head in his November 13th blog post entitled “Why Hackers Must Eject the SJWs”:
“In the future, the hacker whose community standing the SJWs threaten could be you. The SJWs talk ‘diversity’ but like all totalitarians they measure success only by total ideological surrender – repeating their duckspeak, denouncing others for insufficient political correctness, loving Big Brother.”
Raymond specifically cited the Contributor Covenant, which I maintain, as an example of this threat:
“It is clear that… the author of the Covenant (self-described transgender feminist Coraline Ada Ehmke) want[s] to replace the ‘cult of meritocracy’ with something else. And equally clear that what they want to replace it with is racial and sexual identity politics.”
(Not surprisingly, the comments in that post quickly descended into a quagmire of comparisons to Nazi ideologies, accusations of Communism, and healthy doses of transphobia, sexism, and racism.)
A similar response to the “threat” of codes of conduct came in the wake of the so-called Opalgate incident, in which transphobic tweets by an Opal maintainer on Twitter led to a heated discussion about the appropriateness of his continued representation of the project. An anonymous developer created the “NoCoC” to fight back against the “policing of people’s personal lives” in open source. The website has since vanished but the project, maintained by Dominic Muller, lives on at Github. NoCoC outlines a number of ways that people should interact in a project space as rational and consenting adults, with apparently no need to address structural issues around inclusivity or even inevitable interpersonal conflicts. After the obligatory “CoC sounds like an anatomical reference” joke, the document, in the form of an FAQ, goes on to address such questions as how to feel safe in a project space (“It is not this community’s place to care about individual feelings”) and how to be deal with hostility (“Have you considered, that [hostile people] are either having a bad day, are a bad listener, or possibly, you are wrong?”). The FAQ also includes the admonition that “if you are so stuck that a member of our community does or is something you don’t like elsewhere, then you should probably not be here.”
A similar document, which can only be described as an anti-code-of-conduct, emerged from the Ceylon community. A project team member on Ceylon, a language project sponsored by Red Hat, put forward an unofficial code of conduct that warns against raising concerns about inclusivity:
“It’s neither polite, nor charitable, nor just to describe the harmless and generally fair-minded members of our community using loaded and divisive epithets like ‘racist’, ‘sexist’, ‘homophobe’, ‘bigot’, etc.”
The document, created by maintainer Gavin King, goes on to say that “it is the right of any other community member to tell an offended individual to grow up and stop acting like a baby.”
The backlash against codes of conduct reached even that golden child of the open source world, Linux. Linus Torvalds reacted to the CoC adoption trend in his own peevish way by creating the so-called “Code of Conflict”, a document dismissing the potential of bad actors to create a hostile space:
“As a reviewer of code, please strive to keep things civil and focused on the technical issues involved. We are all humans, and frustrations can be high on both sides of the process. Try to keep in mind the immortal words of Bill and Ted, ‘Be excellent to each other.'”
In reality, this assumption is both dangerous and contradicted by the real-life experiences of would-be participants. A case in point: the October 28 tantrum thrown by Linus Torvalds himself, who tore into a contributor in a profanity-laden personal attack because he disagreed with the technical decisions made in a pull request.
Still, some projects did attempt to move forward in terms of adopting real policies aimed at improving diversity and inclusivity, but were met with resistance. In June of this year, the go-lang community began debating the necessity of adopting a code of conduct. Contributor Robert Melton raised concerns about the “career destroying” potential of enforcement:
“Depending on the consequences some of the things decided by the ‘review board’ regarding the Go Code of Conduct could be career destroying (or worse), and yet the way communities tend to handle this is to have it ‘investigated’ by a bunch of untrained, biased, personally involved software engineers hearing a subset of the facts then rendering a verdict, which unsurprisingly often finds on behalf of the person they like more or know better.”
Another attempt to move the discussion forward came in July as the TODO Group, which describes itself as an open group of companies who want to collaborate on practices, tools, and other ways to run effective open source projects, entered the fray. Cobbling together language drawn from the Django and Python communities, the Contributor Covenant, the Geek Feminism wiki, and the Citizen Code of Conduct, they attempted to create their own universal code of conduct for open source projects. This effort saw significant backlash from opponents who took exception to some of its language (in particular the “no reverse -isms” statement) as well as pro-CoC activists who saw it as problematic, naive, and even dangerous. The Open Code of Conduct was modified to address some of this criticism, but the project has been “paused” since August. Outside of corporate OSS efforts (TODO group includes Facebook, Google, Twitter and Walmart), the document has been largely ignored, most visibly in the wake of Github’s prominent Atom text editor project abandoning it in favor of the Contributor Covenant.
The dissent that we’ve seen among certain members of the community has taken on a decidedly “us versus them” tenor. Detractors are increasingly bunkering behind cries of “freedom of speech” (apparently devoid of consequences) and warnings of the imminent threat of “social justice warriors” invading sacred nerd spaces. Others have decided that statistics on low participation and attendance by marginalized people have no identifiable cause, denying the fact that our communities and events can create an environment of hostility toward these populations.
It’s clear from the ongoing debate that people on both sides of the issue feel very strongly about codes of conduct. Activists must continue in their effort to ensure widespread adoption even as the voices of our detractors grow more and more shrill. We should take comfort in the fact that codes of conduct are fast becoming a normal part of healthy open source communities and not get overwhelmed arguing with a vanishing minority of reactionaries.
Despite the pushback going on in some parts of the open source community, this past year saw prominent events such as FOSDEM, DevOpsDays, and even Defcon joining the ranks of conferences with published codes of conduct. While some of these adoptions were controversial, conferences without codes of conduct are starting to stand out as anomalies, out of step with the overall course that the industry is taking.
2015 also saw the widespread adoption of codes of conduct in online spaces, in particular the communities around open source projects. The Contributor Covenant was adopted by several prominent open source projects, including Atom, AngularJS, Eclipse, and even Rails. According to Github, total adoption of the Contributor Covenant is nearing an astounding ten thousand open source projects.
The conversation around a Go-lang code of conduct, as mentioned above, continued on the golang-nuts mailing list with no sign of consensus in sight for months. But finally, despite the controversy, on November 25, the Go Community Code of Conduct was adopted and published.
Bundler, a utility for creating and managing code libraries in Ruby, went so far as to include an option for automatically generating a code of conduct for all new projects, giving equal prominence with the selection of an open source license:
And in July, the board of Ruby Together, a non-profit organization that funds work on critical Ruby infrastructure projects, announced a policy stating that in order to be eligible for funding, open source Ruby projects must have a published code of conduct.
Most importantly, many projects and events went beyond cutting and pasting to customize their codes of conduct to their particular communities. While this runs the risk of ignoring the hard-won wisdom of marginalized people who have worked to create best practices in this space, moving past a cookie-cutter one-size-fits-all approach represents a positive step forward. It can be a signal that the organizers have put actual thought into their policies, and are therefore more prepared for enforcement. Overall, it’s a sign of the maturing of our understanding of the role that such policies play in shaping our communities.
When it comes to codes of conduct, it’s clear that there are many more victories yet to be won. But it’s also clear that codes of conduct are now a permanent part of the fabric of our online and offline communities. Now that more communities are communicating their desire to be welcoming and inclusive, the difficult work of making these desires a reality can begin. The widespread debates around codes of conduct are but growing pains, a single step toward revitalizing and diversifying the culture of open source.
So what can advocates do in the coming year to build on the successes of 2015?
First, we should focus on strengthening existing codes of conduct while continuing to push for further adoptions. We also need to work with organizers to ensure that they are prepared to deal with violations that happen at their events or in their project spaces. An unenforced code of conduct is, after all, more dangerous than no code of conduct at all: it may attract vulnerable people to a community, event, or project, only to leave them exposed and unrepresented when and if an incident occurs. As activists we must take steps to educate open source leaders, and to counteract the naive, magical idea that simple adoption is all that is necessary to ensure the safety and inclusivity of our communities. We need to collaborate on clear steps for reporting violations, establish guidelines for reviewing complaints, and help design fair processes with just outcomes. We must be diligent in supporting them, educating them, and, when necessary, correcting them as they work through these important steps.
Codes of conduct express our desire to make communities more inclusive and diverse, but they are just the first step toward this goal. The initial signal is sent; now we must focus on increasing the participation of marginalized people through direct outreach and support.
We should push for conferences to invite people from underrepresented communities to speak. We should fund scholarship programs for low-income people and support working parents by demanding on-site child care at major events. We should insist that speakers be compensated for their work, to ensure greater diversity in conference line-ups. And speakers must be allowed to share a variety of technical and non-technical topics, beyond spotlight-effect talks on what it means to be a woman or person of color in tech.
A community can be defined as a group of people who share a common set of values. But a culture emerges when these values are put into practice. In the end, what we are all striving for is a just and equitable technology culture. Although we can rightly celebrate the progress that we have made thus far, we must also recognize just how far we still have to go in making this phase in our cultural evolution a success.