Enforcement nuances

Many open-source communities now have codes of conduct to formalize their ideals and goals around inclusivity. However, human behavior and interactions don’t always fall into neat little boxes of “definitely acceptable” and “absolutely out-of-bounds”. There are lots of gray areas and room for interpretation. So, what happens when you have someone that doesn’t obviously violate your project’s code of conduct but is causing a constant problem and discouraging others from participating?

Let’s consider a hypothetical situation and then apply a few strategies to it. Let’s assume that this hypothetical project uses the popular Contributor Covenant as its code of conduct and that there is someone that is not being outright insulting, not doing or posting anything sexual, not doxxing anyone, nor harassing or stalking anyone. But everything they post is telling others they’re wrong and in a rather harsh manner. They never contribute anything positive. They ask simple questions in an argumentative way and argue over the answers they’re given. This is a personality type that we see occasionally online and is often hard to deal with because they skirt the edge of codes of conduct, never quite crossing the line but causing lots of problems for a community anyway.

It’s also important to note that in the above hypothetical the pattern of behavior is just as, if not more, important than any individual action. Looking at individual actions is often all that is needed, but sometimes when building and guiding a community we need to dig a little deeper and look at someone’s overall impact on the group.

The “escape hatch”

The first thing to check is if your code of conduct has what I call an “escape hatch” clause. A good example of this type of language from the Contributor Covenant code of conduct is:

Other conduct which could reasonably be considered inappropriate in a professional setting

This is pretty open-ended and intentionally so. It’s meant to give the leaders of the community that use this document a lot of freedom in what they consider to be inappropriate while still scoping it to something that most people will understand. In other words, “if you wouldn’t do it at work, then it probably won’t fly here either”.

Our hypothetical participant might get away with this behavior in some professional environments, but many if not most professional settings would consider it to be inappropriate. I certainly wouldn’t want to work with such a person. Based on the pattern of behavior, I would step in and give them a warning based on this specific clause and instruction on what they can do to correct things. Some may try to argue with such a determination, but that’s where the next strategy comes in.

Compliance with moderator instructions

When one is taking a commercial airplane flight, the flight attendants give a safety briefing. In the United States this briefing often contains the words: “All passengers must comply with crew member instructions”. What they are saying is that the crew members have the responsibility of maintaining safety for all passengers, and if you don’t do what they say then there will be repercussions. It is the same with project maintainers or message board moderators. They are responsible for keeping things running smoothly and in order to do so they may give instructions to people participating. The typical person will understand that if someone in such a position of authority gives a reasonable instruction that there will be negative consequences if they are disobeyed.

In our hypothetical situation, if this person is constantly asking questions that are answered by the documentation and the moderator tells them repeatedly how to search the documentation for their answers, then it is completely reasonable to eventually draw the line. In this case, I would point out that they have been told however many times how to search for their answers and if they ask another question with an easily searched answer, that this will be considered harassment of the moderation staff under the code of conduct and treated as such. Again, this is dealing with the pattern of behavior rather than any individual action, and I would make that clear in the warning.


We all want our communities and open source projects to be welcoming to newcomers, helpful to people who are frustrated, and open to new ideas. Unfortunately, there are some that will take undue advantage of those efforts, and it is appropriate for a person or organization to protect themselves from those types. Care needs to be taken to ensure that the person’s behavior as a whole is taken into account when assessing a pattern of behavior, but it is valid to look at the whole picture and make a determination that someone is being nothing but an unreasonable drain on the project’s limited resources. And when someone makes no contributions and is willfully causing problems, it is reasonable, understandable, and justifiable to remove them after giving them the typical warnings and instructions.