How can you tell when something is a Code of Conduct violation?

I’ve been asked a number of times recently and many, many times over the years:

How can you tell whether something is “over the line”?

It’s a really good question. It took me a while to figure it out myself. In the end though, the answer is pretty simple. The main thing to keep in mind is:

Talking about a person or people rather than an idea or concept is the “to a first approximation” test of whether a post is a violation. It can still be a violation even when talking only about an idea or concept, but if the post is talking negatively about or to people then no further rumination is necessary.

The other primary violation vector that one should keep a lookout for is repetition. As we’ll see, and as anyone who has had a sibling knows, repetition can turn innocuous things from innocent, to annoying, to harassment.

Let’s take a look at some examples. Yes, these are all examples that I have personally witnessed and recorded.

The trusty ad hominem attack

This is by far the most common code of conduct violation, in my experience. Ad hominem attacks are when one attacks the person, their motives, or qualifications rather than the idea they are presenting. The easiest to detect are the direct attacks:

What are you, stupid?

Don’t be a complete noob

Thank you for being such a dumb ******* idiot

And those are the (mostly) printable ones. But indirect attacks are still attacks:

Don’t just sit there in your ivory tower and disavow all knowledge of the problem

Stating that the target is being willfully ignorant or uncaring.

What garbage code is running [here]?

I am of the opinion that the designers of this fine software do not use [it].

Implying that the people that wrote it are incompetent.

And attacks don’t have to be directed at a specific individual or even a well-defined group. These are also personal attacks:

People who like JavaScript are stupid

Programmers who think like that are incompetent morons

Any of this is simply uncalled for in an intelligent discussion. But I think that General Silveria said it best: If you can’t treat others with respect and dignity, you need to get out.

Unwanted sexual advances

But the “talking about people” heuristic doesn’t just apply to personal attacks. In one of the chat channels I moderate, a person with a traditionally male name (we’ll call him TMN) noticed that someone with a traditionally female name (and this one TFN) joined the channel and said, “Hey TFN, where do you live?” Other people with names that weren’t traditionally female had joined while TMN was talking that day and TMN hadn’t greeted them at all. But TMN singled out TFN with a rather personal question before they said anything.

If they had said something like, “Hey TFN, what do you think about async/await in JavaScript?” it might have been uncomfortable or strange to be asked something like that out of the blue. But it probably would have been acceptable. By talking about the person instead of an idea, it crossed the line from off-putting to creepy.

Posting personal information

In my projects, I simply don’t allow people to post personal information such as email or physical addresses or phone numbers. Some people have asked why they can’t post their own email address if their spam filter is good enough. The simple reason is, I don’t know that it belongs to the person posting it. It could be their ex-girlfriend’s or a business associate or just some random address they made up, wanting to have a laugh.


In chess, there is the threefold repetition rule stating that a player can claim a draw if the same position occurs three times. In somewhat the same vein, harassment is the act of repeatedly subjecting someone to something unpleasant or unwanted. And the “unwanted” part is quite key.

Almost any action can become harassment with enough repetition. Sealioning is a term that describes a tactic where people repeatedly and maliciously “attempt to have a polite conversation” with a target, going well beyond wearing out their welcome and continuing on into harassment. An example from one of my projects is where someone continually opened the same bug over and over for weeks, even after they had been told (again, repeatedly) that what they wanted wasn’t something the project was meant to do. The first time it was posted, we could understand that the documentation wasn’t clear. The second and third time, maybe there was just a communication issue. After that, they were just being rude and intentionally not listening.


I hope that these real-world examples have illustrated the ways I determine whether a particular comment, action, or event is a Code of Conduct violation in the communities I’m responsible for. If you’re a moderator or community manager, do you have any heuristics or yardsticks that you use that have been helpful? If so, post a comment and let us know :+1: