Here are some facts upon which we can readily agree:

  • People on the Internet are kind of the worst, a lot of the time.
  • You should never read the comments.
  • It would be great if people could be nice to one-another.

I like communities that are warm and that look out for their members. I think communities are stronger when people run them with open hearts and good intentions. But there's a creeping, insidious culture masquerading as compassion which worries me.

Now, I'm about as politically woolly a person as you could meet. As I've got older, I've moved more to the left of the spectrum, and I think language that demonstrates a person's ignorance or mean spirit should be met with scorn. I don't think that political correctness has "gone mad", but I do think there's a culture permeating the communities I enjoy, under the banner of the "Code of Conduct".

I firmly believe that the only code of conduct any community needs is this: "Don't be a dick". This is more than just a trite platitude or an easy trope. People know what that phrase means. They know what it is to be a dick. If someone's making a comment, an observation or a joke, people can judge when someone has crossed the Line into dickishness.

I see thought-policing not only in the developer community but also in forums and chat rooms, where the pressure to be "nice" is palpable and oppressive. Within these communities, it's impossible to have a real discussion, a real debate, because the mere act of offering a dissenting opinion appears to violate some written or unwritten rule, and failure to adhere to this rule will have you ejected from the community.

And thus, finally, to my point.

Far from fostering compassion and giving people a chance to speak freely and openly, this kind of behaviour does the exact opposite. It stifles free speech (which involves protest and debate) and creates a fear-based fascistic regime in which a few "thought leaders" hold the keys and make the decisions on which opinion is the correct one to express. To get metaphorical: it's like breeding from one stock, without ever intermingling because you don't want to pollute the "master race".

If what I'm saying here reads as strident or blowhardy then you're probably right, but think about it. Honestly stop and think about it. Think about the communities you are a part of. How are they policed? Is debate and argument - even heated argument, even argument which, heaven forfend, might involve someone saying a swear! - actually tolerated, or is it shot down, not because it's wrong, but because it doesn't tow the community line?

The examples I've listed in above paragraphs are real, but I like the people who are involved in, or run these communities, so I have no interest in embarrassing them. I actually don't think it's the community leaders' faults either; I think it lies with those who choose to make themselves the custodians of those domains.

Please, I really, honestly want you to look at your communities. At your Facebook groups, your subreddits, your Slack teams, your forums, your GitHub repos. Your communities will become sad genetic mutations due to lack of diversity of opinion if you don't let people disagree, even forcefully. You'll get some dicks, of course you will, but you'll get a stronger, more inclusive and diverse community if you tolerate the few who take it too far, and celebrate those who improve your communities by telling you when others have got it wrong.

Being nice has nothing to do with being good. I'm not a particularly nice person, but I try every day to be a good one. Nice is monochrome, but the world is full of colour.