Github recently announced that they are adopting a new code of conduct for their open source projects. Specifically, it is the Open Code of Conduct, published by the TODO Group.
This inspired some debate on Reddit when it was posted, and I groaned inwardly when I saw it: ugh, more political correctness.
Yet this was clearly a well-intentioned and well thought out effort on the part of Github, so I asked myself: why does it bother me so much? Before I elaborate, let me cite a few snippets from the Open Code of Conduct:
Although this list cannot be exhaustive, we explicitly honor diversity in age, gender, […] and technical ability*. We will not tolerate discrimination based on any of the protected characteristics above[…]
Harassment and other exclusionary behavior aren’t acceptable. This includes, but is not limited to:
- Discriminatory jokes and language*.
If someone has been harmed or offended*, it is our responsibility to listen carefully and respectfully, and do our best to right the wrong.
(* = emphasis mine)
While I agree with most of the Open Code of Conduct (as well as its underlying intent) – these passages struck me as being problematic. They, like all forms of political correctness, center around people being offended, sometimes about things like technical ability which can and should be spoken about frankly in any open source project.
Here is the problem with using offensiveness as a standard in a code of conduct:
- It judges the speaker by the listener’s opinions.
- Opinions are subjective and cannot be known by the speaker until after they speak.
Judging and punishing the behavior of those who speak based on the sensibilities of those who listen is a standard which is inherently unfair to the speaker. This precipitates an environment where the exchange of ideas between people who differ is impossible if either of them thinks that the other may find the topic offensive. This carries with it the danger of stifling communication and learning between people who would otherwise benefit from a conversation that might just ruffle some feathers.
Being offended is a choice
I am a Christian. When people speak ill of religion in general, and of Christianity in particular, I have a choice about whether to be offended, even when confronted with very vitriolic assaults on my core beliefs.
I choose not to.
The reasons for this are simple: I respect the cognitive abilities that other educated human beings put to use in forming their opinions about the world, and am eager to hear about the conclusions that they have drawn. I value the opportunity to exchange ideals with others and have had my life and my thoughts enriched by such exchanges in the past.
I have a lot of respect for both Richard Dawkins and Christopher Hitchens, even though our opinions on religion differ drastically. I would consider it both rude and oppressive to try to create a world in which people who disagree with me are afraid or unable to speak their minds.
Just because one person was offended does not mean that another person attacked them
Many of the things people choose to be offended about are the same things that other people honestly and unironically believe. The mere act of voicing one’s own opinion on a topic such as religion or politics can be interpreted by a sensitive listener as an offensive attack on their beliefs. The listener’s perception does not equal the speaker’s intent. Conflating the two mindsets like this can lead to one person’s opinions being punished due to other people’s indignation.
Opinions are subjective
Because opinions are subjective, it is very easy for people who wish to abuse these sorts of systems to choose to be offended by things they don’t like in order to demand punishment for those who disagree with them. In extreme examples, they may even take offense at someone else’s treatment of them, while simultaneously treating others in the same way.
Systems that punish offensiveness open themselves up to exploitation by such people.
Not all speech can be judged the in the same way
While it is true that sometimes people thoughtfully voice their honest opinions, people also tell jokes, speak flippantly, say things without explaining their reasoning, and employ language techniques such as idioms, metaphors, irony, sarcasm, and hyperbole. Given the inherent complexity and ambiguity of human speech, combined with the fact that any two people’s grasp of a language must necessarily differ, there is no guarantee that the offended listener has correctly inferred the speaker’s intent.
Intent is a better metric of behavior
It is not uncommon in criminal cases of harassment or slander for prosecutors to be expected to show not only that the defendant said or did the things in question, but that they did so with the intent or knowledge that it would hurt the victim. We can easily use the same system in a code of conduct, to weed out the same sort of negative behavior without resorting to judging one person’s words by other people’s thoughts.
This post may sound pedantic, but I think that the difference between intent to offend and being offended is an important distinction. When an educated computer scientist makes a flippant claim that “Haskell is useless,” I think that their own (in this case jokingly positive) intent when saying it should determine whether punitive action is taken against them, rather than the fact that a Haskell fan felt offended by it.
I hope that Github will reconsider their decision to use subjective metrics like this as a part of their code of conduct. I hope that they will let the people who may say things I disagree with continue to speak their minds honestly. And when they do, I hope Github judges their actions based on their own mindset and not mine.
This is the internet, and I’m here to learn about other people’s thoughts, not be protected from them.
I acknowledge that Github chose this Code of Conduct in an effort to improve their community. I also think that it will actually do that, and applaud their effort. I do not think that the political correctness spies have scored some great victory today, nor that the sky is falling.
But I see an edge-case that could result in abuse and misunderstanding. I also believe that a Code of Conduct, like other code developers write, can benefit from constructive criticism. I think that code must be made durable to stand up over time, and I think the best code results from collaboration and many small improvements from people with different perspectives. This is mine.
Consider it a meta-pull request. 🙂