I have an adage I like to trot out from time to time: "You cannot solve sociological problems with technological solutions."  It's a wonderful, useful phrase, one that causes my team to want to pun by the time I say "solve" because they have heard it so much.  Yet it appears that my adage has never been more true than it is now.

There's an ongoing debate about maintaining civility in online communities.  StackOverflow has discussed their version of this problem several times in their short history, and now we are starting to see this issue spread to other sites that want to encourage community, such as GitHub.  It's always the same problem: people are being rude to one another, and other people are pissed off at the rudeness (whether or not it's directed at them personally).

I've been thinking quite a lot about this problem.  It seems, to my outsider's view, that all online communities have this issue, or will eventually.  On first glance it's easy to say that certain online communities are not inviting new people, even actively discouraging them from joining.  I think this view is shortsighted.  The issue not that people are generally mean, or rude.  The issue is that the very few people who are mean or rude have their comments exist in perpetuity, and given enough time, come to represent (fairly or not) the community as a whole if nothing is done about them.

Lifecycle of a Community

Communities are a fragile thing.  When they are new, they are inviting, willing to take on all peoples and all problems.  The people who "get in on the ground floor" as it were become respected members of their community, to whom other people look up to and respect.  In the beginning, the community is on equal footing, so everyone shares everything equally.  The problems arise later, and they have to do with the very nature of the Internet and people: namely, the Internet "remembers" everything, but people need to forget.


People tend to remember bad experiences more readily than good ones.  The problem now, in online communities, is that because the nature of the internet is to "remember" everything, nothing ever gets forgotten.

As a community grows and adds new members, so too does that community's knowledge pool.  This includes not only what people seek in asking questions, but also tangential ideas, unwritten rules, and other etiquette which is rarely written down but will still be adhered to.  Given enough time, the respected members of the community, the "elders" as it were, start to notice when their rules of etiquette aren't being adhered to.

In the best case, these elders issue gentle reminders that these rules need to be followed in order to be a member of the community, but in the worst, the elders lambast, make fun of, ridicule the knowledge-seeker as being someone who "didn't do the research."  The people who are targets of these slights tend to come to the conclusion that because this one individual thinks their question is stupid, the entire community must think so as well.

In short, the elders unwittingly become the oppressors.  This happens entirely without their consent, and sometimes without their knowledge.  But it happens.

And once you have oppressors, you start to have oppressed.  The people who were rejected or treated roughly by the community they once sought to join are now stunned, shocked, heartbroken.  They merely wished to be a part of the group, and now the group doesn't want them.  They might channel this frustration into something useful, like starting their own community, or finding a better way to ask a question.  They might simply give up their endeavor altogether.  One thing they are guaranteed to do, though, is talk; given enough people, the odds of someone talking and venting their anger rapidly approach 1.

The Internet is, in theory, egalitarian.  It gives everyone an equal platform for their voice, their opinions.  But the Internet remembers.  As the shunned people become more numerous, they start to voice their opinions, their issues with the communities that shunned them.  They write diatribes about how their once-longed-for community drove them away, and other people start to take notice.  They gain allies in the perceived fight to come, the fight for the soul of these communities that started as welcoming but evolved to forbidding.

Those who still believe in the mission of said communities also take up arms. The extreme fringes of this group begin painting the shunned as people who didn't do enough research, or should have been in the group from the beginning if they really wanted the knowledge they supposedly sought.  Of course they didn't get a good answer, they didn't ask the right question!  They paint their perceived enemies as oppressors themselves, bad actors wishing to steal the soul of their beloved community by polluting it with poorly-researched questions and demands on the members' time.

We started with communities, and ended up with armies.  And then we get a war, a war in which no winner is possible and everyone ends up pissed off.  A war with no good outcome.

We will fight in the forums and in the tweets! We shall never surrender!

Be Nice!

It seems, from the outside, that this kind of war is inevitable, a tragic and unavoidable path down which all online communities will eventually travel, and this is because the solution to avoiding this war requires both sides to assume good faith in the other.  To be fair, comparing this kind of virtual mud-slinging with actual war is a bit exaggerated (but what is the Internet if not collective exaggeration?)  The members of the besieged community must assume in good faith that the askers have done some research, at least attempted to answer their question; and the learners must take it on faith that someone will deign to help them.  It seems to me that good faith is in short supply.

The solution to this conundrum is known, and not technological: civility.  Patience with our fellow man, understanding for where s/he is coming from, kindness when dealing with them. We were all knowledge seekers once, and the good ones among us still are. Civility, however, requires time and effort.  I will argue that people have a limited supply of these things, and it can easily become a fool's errand to use them on someone who is no more than a series of words on a screen.  It becomes easy to disregard the importance of civility when one's time or effort runs low.

But we must keep on.  We, the "elders", who are the de facto gatekeepers for our profession, who have the power to decide who feels welcomed in programming and who doesn't, must be civil, and to all parties, real or not.  That is our responsibility as leaders.

Civility online, despite our haphazard first impression, isn't dead, it's just more noticeable when it isn't there.  But the lack of civility is a sociological problem, and requires a likewise solution.  At the risk of being cliche, said solution is simple:  Be nice to people!  Yes, even them!  It is on both sides, the elders and the knowledge-seekers, to remember that we are all in this together.

Happy Coding!