Enough is enough: disinfecting OSM from poisonous people

OSM is mostly a consensus-based community, or a do-ocracy. It was never a benevolent dictatorship, and I have given up (as far as I know, anyway) all power I have in OSM. I used to write the code, own the domain names, run the mailing list(s), run the servers, evangelize, talk to the press and so on. I’ve successively and successfully given up those rights to very capable individuals. However this has led to a power vacuum when it comes to making some key decisions because nobody, for example and in a sense, is “in charge” of everything. For the most part I’ve enjoyed giving up control and seeing the project blossom, because it wouldn’t have if I hadn’t.

However, things break down in a consensus-based community if you don’t have a way to deal with malcontents.

As background to the topic of this post, there is a nice video on how open source projects can survive poisonous people on youtube here:

[youtube http://www.youtube.com/watch?v=ZSFDm3UYkeE?wmode=transparent]

It’s about an hour long so I’ve provided a summary I made while watching it again at the bottom of this post. It’s thesis is that you need to understand the problem of poisonous people, fortify your project against them, identify who they are and ultimately remove them.

The talk above identifies people who are poisonous as those who appear with traits (amongst others) of obviousness that they will suck and drain your time, use silly nicknames/email addresses, are hostile, make demands and blackmail threats, make sweeping claims, refuse to acknowledge reasoned argument, make accusations of conspiracy and reopen topics continuously.

One quote from the talk in particular comes to mind: “it’s a technique that poisonous people can use to derail a consensus-based community from actually achieving consensus. You have this noisy minority make a lot of noise and people look and say ‘oh wow there is no agreement on this’ and if you look carefull the ‘no agreement’ comes from one person while seven or eight people actually agree”

With that in mind, take a quick look at the recent discussions on the main mailing list link. I won’t point to an individual thread or post, it’s easy enough to figure out:


Without discussing the individuals or the topics of the conversations, it is clear to me we are infected by poisonous people. This is bad because as the talk above specifies in the ‘comprehension of the problem’ section, such people distract, drain, paralyze, slow cause needless infighting and destroy the attention and focus of a community.

I know this first hand. Many (if not most or all) of the key people in OSM are feeling drained, distracted and upset. Some are talking of hiatus or resign. These are the key people who write code, build things, maintain things and run our working groups.

There is a tipping point between which our working groups and individuals have the time and patience to deal with poisonous people and the work they cherish doing, which are the things that make OSM work every day.

The discussions have spilled over now from poisonous people merely making life difficult on the mailing list, to paralyzing the project and even systematically corrupting the data we serve out using bots. This is not to say there are not good points in the discussion, good points being dealt with by the License Working Group or others either in meetings or on the mailing lists, but these are being buried by poisonous people on the mailing list and elsewhere. Personal communication from multiple people, public discussion, phone calls and more have been tried without effect.

This destroys consensus-baesd community.

So we are at a point now in OSM, I believe, where a few poisonous people are wrecking the time, focus and goodwill of the majority of contributors, creating dissent out of nothing and even purposefully breaking our data. And we don’t have a clear process to deal with all the factors. The Data Working Group is one piece of the puzzle, but is not responsible for curtailing the mailing list going in infinite circles.

Worse – it’s giving the project a bad air to outsiders, both newbies and those outside the project. It’s stopping people from becoming more involved.

Thus we need some kind of process for calling timeout on people in the project, blocking them for a limited time. This could range from electing individual mailing list admins with a remit of when to shut down discussions (much like an IRC chat admin(s)), to more clear and actioned policies on list etiquette (like forcibly keeping legal discussion to the legal list), to an ejection committee to me just appointing myself benevolent dictator and blocking people for a limited time out cooling off period based on advice from the community (a worst case option I’d like to avoid).

Let’s be clear – we’ve tried all the nice things. We’ve sent nice emails. We’ve sent nice emails privately. We’ve offered phone calls. We’ve offered every rational debate and community consensus tool we have. We just have poisonous people that either need to cool off or be forcibly blocked for a time.

We need to restore the balance of healthy debate over important issues, restore the time and focus of existing contributors and restore the positive view outsiders and newbies of the project are used to.

I’m posting this to three places on purpose with different audiences: opengeodata, osmf-talk@ and talk@. I will undoubtedly be flamed here for being authoritarian but at the end of the day someone has to do it, and begin this process. I’ve purposefully left out individual names, details and links to keep this discussion to the key thing – how and why should we block people. If you want those details, just reply to this post and someone will probably tell you publicly or privately.

What are your ideas? How should we block people? For how long? What process should it be? What are the best practices from other projects you’re involved in?

Summary of the poisonous people talk:

comprehension – understand the problem of poisonous people
– you need to protect the attention focus of community – limited amount of time
– poisonous people
– distract
– emotionally drain
– cause needless infighting
– slow you down
– either on purpose on by accident

fortification – protect project from poisonous people
– in a project you need politeness, respect, humility, trust
– have a mission, with examples
– have a scope, limit the mission
– do not let people reopen old discussions
– don’t reply to _every_ message in a thread, summarise
– poisnous people derail discussion:
“it’s a technique that poisonous people can use to derail a consensus-based
community from actually achieving consensus. You have this noisy minority
make a lot of noise and people look and say ‘oh wow there is no agreement
on this’ and if you look carefull the ‘no agreement’ comes from one person
while seven or eight people actually agree”
– document your projects history for future use to point people to
– have code collaboration guidelines
– email review, reasonably sized patches
– increase the bus factor so if someone drops out, others can take over
– have well defined processes for
– releasing software
– test / release cycles
– admitting new core people
– voting is a last resort in a healthy community
– everything else should be tried before a vote

identification – who are the poisonous people?
– it’s usually obvious who will suck and drain your time
– usually use silly nicknames
– use CAPITAL LETTERS, !!!?!?!one!!, WTFLOLOMG
– hostility, demands help, blackmail, rile people deliberately
– accusations of conspiracy
– conceit, refuse to acknowledge arguments
– sweeping claims, reopen topics continuously
– lack of cooperation

disinfection – removing the poisonous people
– assess the damage
– how are they affecting your attention and focus?
– are they distracting / paralysing the project?
– _dont_
– feed the troll
– give jerks a purpose/purchase
– get emotional (stick to the facts)
– _do_
– pay attention to newcomers, even if annoying
– look for the fact under the emotion
– extract real bug report / action
– know when to give up and ignore
– know when to boot from community



14 thoughts on “Enough is enough: disinfecting OSM from poisonous people

  1. Richard Weait

    A Czar of Poison Control seems too subject to the bus factor or inattention during a vacation or similar. A Board of Poison Control may be more deliberate and balanced given the inherent delays of availability and consensus within the board. Though provoking article, Steve, thank you.

  2. tpstigers

    I’m not fully cognizant of the power structure of OSM, but in my experience the best way to deal with poisonous people is to impose a hierarchy on the power structure. There’s a difference between having a voice and having power. A barrier to poisonous people can be set up by establishing the sort of ‘government’ the US is supposed to have – everyone has a voice, but power is only given into the hands of those the majority have chosen to have power.If you still end up with poisonous people in positions of authority, then you probably have larger problems and need a more extreme solution.

  3. Philip

    Well said. As OSM is a ‘do-ocracy’, the number of edits (over an extended period of time, excluding mass imports) should be a significant factor in taking action against poisonous people. I’ve given up following the legal-talk mailing list as there seem to be a vocal few who just can’t grasp the difference between data and creative works and drone on and on about how their ‘understand’ is right and the rest of the world just doesn’t understand them.Here an idea:1. Enforce the link between contributing and commenting on any part of the OSM domain (diary, mail lists etc)2. Implement a QnD system that prominently displays a persons ‘kudos’ (number of edits/number of posts to mailing list/diary) 3. Provide the ability to bury anyone with a kudos < 1 (or user defined threshold). So many of the poison people are newly signed up or have very few edits to their name. This is not like a software project where only specialists can contribute.

  4. Andrew Harris

    I’m a simple contributor/user and although I don’t partake in the sometimes heated debates that go on, I have experienced this sort of thing in other communities. You are spot on, it is a serious distraction for people inside and outside the OSM community, and some top down control needs to be taken. As an example, the signal to noise ratio on osm-talk is such that I stopped reading long ago.I like Philip’s idea – it’s a well tried ‘social’ path that works to a degree, but I think it needs to be backed up with Richard’s "Board of Poison Control" – the buck has to stop somewhere!

  5. amai

    The real problem currently is the ODbL license mafia – who doesn’t care about the initial idea of just creating a free map, but wants to destroy data (yes, don’t bring with the childish point that it will survive as the last planet dump…) and shrink the community of contributors.Stupid discussions are annoying at most!I wonder why some people ever think they *own* the project… Steve, did you ever reflect that other people may also belong to the project?

  6. Steve Coast

    I find it amusing that all the negative comments are anonymous.First, it’s clear that the vast majority do want to move to the ODbL.Second it’s not about even this debate, it’s the vitriolic and repetitive tone of a minority is destroying any debate, and it’s happening on the wrong mailing list, when legal-talk exists for this discussion.

  7. Steve Coast

    The vote has been discussed ad nauseum as you know. Repeating your points doesn’t make them magically more valid.

  8. Peter

    You don’t have any valid information about a "vast majority" wanting a license change.Moreover this is not a matter of discussions (by whom?).

  9. opensourcer

    please setup one OSM foundation and make some ground rules, set goals and move forward with less people. a few good people (1000 or 2000) are better then bickering unproductive wasters of your and my timeopensourcer

  10. russnelson

    A rhetorical question: If I went into total asshole mode, who would I have to piss off before I got banned? The fact that that answer isn’t clear gives license to the poisonous people. Who decides what is a vandalous edit as opposed to an honest difference in tagging (currently an issue between baloo and NE2)?

  11. Richard Weait

    I don’t think that’s really your style russnelson, so let’s call it <br/>both rhetorical and hypothetical. I’d hope that next time I’m over <br/>zealous on the lists, that I catch myself before I press "send". That <br/>would be ideal. Failing that, I’d hope that a friend would drop me a <br/>note and tell me to cool it. Perhaps that would encourage me to take <br/>a time-out on my own. Or perhaps a time-out would be provided for me. <br/> Those would both look alike wouldn’t they? <br/> <br/>Normally, I’d think that upsetting any one person isn’t really enough <br/>for an imposed time-out. Again, I’d hope that an imposed time out <br/>would only be enforced when the affected community would say, "whew, <br/>what a relief that $USER has taken a break for a bit." <br/> <br/>I think we know vandalism when we see it. A tagging disagreement <br/>should be resolved as 1) edit 2) note to say edit is contentious in <br/>some way 3) discussion and agreement on how to proceed. Another case <br/>of 1) edit 2) revert 3) re-revert 4) re-re-revert is a disagreement <br/>that hasn’t been resolved, but it is also an edit loop. The edit loop <br/>might need outside moderation to get the parties to come to agreement. <br/> Beyond that it might need an assigned resolution, but like the list <br/>examples, that should be way down the list. <br/> <br/>In the case of the edit loop you describe, both parties are obliged to <br/>come to an agreement. If they can’t they should agree on an <br/>arbitrator to agree for them. But to continue to participate in the <br/>edit loop is, well, what? Counter to community norms?

Comments are closed.