Take the 2-minute tour ×
Community Building Stack Exchange is a question and answer site for community managers, administrators, and moderators. It's 100% free, no registration required.

I'm a member of an online community built around a certain piece of open-source software. It's the place where we discuss development, bugs, etc - i.e. it's a place where we talk about code rather than the use of the software. Most, if not all, participants are people who are actively contributing to the code base.

One of our members, "X" is technically brilliant. His code is good and has fewer bugs than most, and he's fast. He's often the first one to spot the mistakes that others make, too. So from that point of view he's a very valuable contributor. Some of our members have met him in person and found him very friendly, helpful and easygoing.

The problem is that he's also very rude and abrasive to the community. To give an example, one of our newish members submitted a patch which, while it fixed one bug, introduced another. X responded with "You f*ing idiot, that's the worst piece of crap I've seen, you shouldn't be submitting this bug-riddled piece of shit patch. I don't want to see anything else from you until you've learned to code."

On another occasion, another contributor noticed what might be an error in one of X's contributions and asked whether it was in fact an error or whether the effect was intentional and if so why. X responded with "It's perfectly clear to anybody who understands $LANGUAGE. If you still don't get it I can find out where you live and come explain it to you. With my fists."

Several members have reacted badly to this kind of post. Each time, X has stated that it's "just his way", and he's "just joking around" and we should "lighten up". When asked outright to moderate his language, he responds with "if this place goes all PC I'll find something else to code, there are lots of projects out there that don't have sticks up their a*s about a few jokes".

We'd like to keep X around if possible, since his contributions are valuable. But we're also worried that he'll scare off other people who might also be valuable but who don't want to stay in an environment that they consider abusive. We don't want to get the reputation of an OSS project where people are being abused. Also, even if any one person that leaves because of X's behavior may not contribute as much as X does, he's really not more valuable than ten medium contributors. And by now I think he's made more than ten people leave the community, not counting the ones who never started contributing in the first place because of what they saw when they started following us.

We don't have moderators as such and if we were to implement any sort of community guide lines, I think we'd need to. Does anyone here have any suggestion about how to proceed to get a community that, while not too PC at least doesn't scare a lot of people off due to abrasiveness?

share|improve this question
3  
Fun should be encouraged, insults might or might not be tolerated, but threats are definitely way way way over the line. He should be terminated. –  Lohoris Aug 31 at 18:11
    
Writing exceptional code doesn't make abusive behavior not abusive. If he were a poor contributor, or even a medium contributor, what would you do? –  KitFox Sep 1 at 13:20
    
1  
PC, as best I can tell, in this context means "politically correct". –  eBusiness Sep 3 at 9:56

4 Answers 4

up vote 12 down vote accepted

The problem here is two fold. Firstly "too PC" is very subjective and going from completely open to having any sort of community guidelines might be "too PC" for some people, X in particular from the sounds of it.

Your second problem is X's mentality towards the community. From what you've posted it he's good and he knows it, and he's got himself into a position where he either thinks he's running the project, or at least has a large overview over it.

As a community you need to lay down some basic common sense rules about language and behaviour. Don't make it aimed at X, but don't be surprised if he takes it personal. Always try to be polite when dealing with him and just point out that as a growing community it's time certain ground rules were laid out for everyone. If he can't even handle that then you may have to face losing X, some people just don't work well in a team.

If you can talk him round to accepting basic ground rules as not being too PC then you have a chance. You mentioned that several people have met X in real life and that he's pleasant, so if possible perhaps discussing this with him face to face might be a good idea. Simply explain that his jokes don't come off well and that his way scares off a lot of new members. Whilst their code might not be as good as his, with encouragement rather than beratings they will improve over time and become helpful members of the community.

Another option is to take away his ability to berate the newer members. Whilst your laying out the ground rules introduce a team responsible for monitoring new commits / pull requests. This team can be responsible for pointing out the poor code to newer members but in a politer way. If X asks why he's not on this team just let him know that his time is more valuable writing code and fixing bugs than reviewing commits. If he has got it into his head that he's overseeing the project he may insist, in which case you'll have to explain to him that his behaviour scares off newer members and that's why he's not on the team.

Regardless of what actions you do take, make sure you do it as a community and make sure that X has his opportunity to comment and oppose the changes as a member of the community so he doesn't feel isolated and that the community is against him. Keep the process open and let him see that the majority of the community want these newer members, want growth and want some basic ground rules on how you treat each other.

share|improve this answer
    
All of the answers were good, I chose this one because of the idea to set up a team for monitoring commits & pull requests and the explanation that he's more valuable as coder than as reviewer. Thanks! –  Jenny D Sep 3 at 9:42

I answered a similar question on The Workplace about talented but disruptive employees.

My answer there (and here) is that you need to weigh up the benefit of having the the talented person on board with the cost of dealing with the disruption they bring. If the former out weighs the latter then they can stay, but, if over the long term they cause more pain than the benefits they bring, they have to leave.

Things you need to consider:

  • Can you afford to give them special treatment and deal with the comments etc. from other community members who will (quite rightly) see this as favouritism?
  • Do you want to change the rules of your community to "legalise" their behaviour?

Ultimately, if someone doesn't want to play by the rules you will have to remove them from the community. If you don't do this you will run the risk of other members leaving so in the end you won't have a community at all.

If your community is strong it will survive the removal of one of it's members.

share|improve this answer

Does anyone here have any suggestion about how to proceed to get a community that, while not too PC at least doesn't scare a lot of people off due to abrasiveness?

I've been part of a team that dealt with a very similar situation, and based on that experience, here's my advice:

  1. Decide on a standard for what constitutes acceptable behavior in your community
  2. Acknowledge that, no matter what standard you choose, some people won't want to abide by it
  3. Don't waste a scrap of effort trying to please those people. If they outright refuse to behave in the manner you expect of contributors, kick them out without hesitation.

In this case, it sounds like you think the user's posts are not appropriate - or in other words, you want to adopt the standard that behavior which is likely to drive away new contributors should not be tolerated, and you know that this user's behavior does not meet that standard. In that case, you need him to leave the community (or the part that involves interacting with new contributors), at least unless and until he can stop making these kinds of posts. The thing about behavioral standards is that they are set by how people actually behave, not really by any sort of written policy. If you give a good contributor a pass to violate the rules, other people lose respect for those rules and you'll have a harder time getting the rest of the community to follow them.

Besides, as you said, you think his behavior is driving away new and existing members, some of whom would be good contributors. A simple cost/benefit analysis tells you the same thing: get rid of this one guy for the health of your community. He may be perfectly nice in person, but that doesn't matter. It's his contributions to your community that drive people away - those members you're losing aren't going to think "oh, he's a nice guy in person, I'll just put up with him." For that reason, your decision of whether to let him be a part of your community should be based only on his contributions there. After all, if he were a perfectly nice poster but a horrible person to be around in real life, would you hold that against him?

An alternative choice would be to adopt a standard of behavior by which the user's rude responses are acceptable. Then people who are bothered by those comments will leave. If that's what you wanted, you would have to acknowledge that and not concern yourself with keeping those users around. But of course that does give your community a certain kind of reputation, and you've said you don't really want that.

As far as how you implement this in practice: depending on the level of activity in this community, you may need to have some moderators who can react to any problematic posts reasonably quickly. But in the long run, reacting quickly is probably less important than reacting decisively.

share|improve this answer

It's completely up to you. You can choose between X publishing 'brilliant' code for the community or letting him be rude. These are the two options you can choose between.

If I was the moderator of that online community, I would immediately remove X. A community is supposed to be fun (it depends on the type of course, but the definition of fun could also be not being rude).

At some point, his rudeness will also make other members leave. That way other valued members may not be active in the community anymore.

I had a Minecraft server for a long time and also had to deal with these kinds of users that ruin the sphere of the community. A few users left the server because of his behaviour. This was one of the reasons I decided to stop with my Minecraft server. But if I decided not to, I would've banned the rude user. At some point you'll have to anyway.

But again, it's up to you.

You can choose between X publishing 'brilliant' code for the community or letting him be rude.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.