Slashdot Log In
How Open Source Projects Survive Poisonous People
Posted by
Hemos
on Mon Mar 12, 2007 11:27 AM
from the these-people-have-a-poison-aoe-need-totems-to-cleanse dept.
from the these-people-have-a-poison-aoe-need-totems-to-cleanse dept.
CoolVibe writes "Two Subversion developers talk at Google about how to keep pests and malcontents out of your open source projects. From the abstract: 'Every open source project runs into people who are selfish, uncooperative, and disrespectful. These people can silently poison the atmosphere of a happy developer community. Come learn how to identify these people and peacefully de-fuse them before they derail your project. Told through a series of (often amusing) real-life anecdotes and experiences.'"
This discussion has been archived.
No new comments can be posted.
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
Full
Abbreviated
Hidden
Loading ... Please wait.

Link is a video (Score:2, Informative)
Re: (Score:2, Insightful)
Re: (Score:3, Funny)
I barely tolerate th
Re:Link is a video (Score:5, Insightful)
Those that may seem to attack open source project in particular without regard to the status of the project are turkeys and probably need to be shunned. On the other had the open source projects that are mavericks that won't listen to user input should also be shunned.
The most important thing about open source that one sees once they use it are the rough edges and incompleteness of the project. Yes, some of them are exquisitely done, others, and there are a lot of them, are poorly organized and implemented as if a firstimer was managing the project. If I were critical of open source it would be the latter and to see the open source project begin to deride the criticism is very damaging.
Amarok, which now is a great project, but with a lot of bugs and some very incomplete areas used to be highly buggy and when people went to their site asking for answers on how to overcome these problems even the administrator would denigrate them for asking questions. In one case the administrators actually attempted to publicly humiliate those asking questions. What they should have done is listen and fix the issues. It is only through some criticism that things get fixed. The windows world is unforgiving, extremely unforgiving. If Amarok plans to move to the windows platform they are going to have to come up with some major changes to their philosophy when dealing with people pointing out problems and asking for help.
An old saying from way back and it is a saying that holds water today is that you never give a programmer a screwdriver because he'll blame everything that's wrong on the computer and try to fix the computer. Another rule is that a programmer should never be charged with testing their own code. Another is that a little observation goes a long way to detecting problems.
If I were to complain about any solid open source project today it would be about gnome. It has some serious foundational issues that need to be resolved. I've laid some of them out for the developers and let others become aware of them. It has at least one major show-stopper that you don't encounter unless you copy mass files over your intranet from a folder to another on a remote drive.
One thing about this guy's article. It won't work. If someone is intent on destroying your project they will and to make them angry by appeasing or using other tactics mostly will backfire. To breed resentment of people giving criticism (that may not be well received by the project) is the most negative thing to happen to their software.
Essentially, you can resolve discontent by listening, fixing the problems, and releasing code that is well tested and relatively bug free. If you want linux on the desktop you need to understand that most programmers in the windows world were forced to improve their quality or die. In open source there's really no competition, especially for those wanting to be just open source projects, so there's little incentive other than personal pride to make a project look and operate beautifully.
Listen to those criticizing your project and correct what they identify. That's the best way to get rid of those that will publicly attack you till you decide to quit.
Re:Link is a video (Score:5, Insightful)
Why, set up a sourceforge page for $foo-$language-port, and put that person in charge of it, of course.
Seriously, I think this is a common problem, and unfortunately, sometimes those people actually get something released. There's a large number of people who want everything to be written in Python, and get upset if your project is in Java, TCL, or Perl. And should you be crazy enough to admit you wrote a five-line csh script, you'll suffer the kneejerk reaction of a bunch of idiots who shout "CSH considered harmful".
On the other hand, the "let's rewrite everything in my favorite language" is a wonderful driving force in a community. It fosters the us-vs-them attitude, and really motivates people to "show up" the despised opponents. So while the behavior may seem silly, counterproductive, and juvenile, it might well have real-world benefits.
I find it amusing that it's the SVN developers talking about 'poisonous people', as they seem to be one of the most poisonous groups around, as they routinely interrupt conversations about how to do something with CVS with "you shouldn't use that cvs crap, use svn instead".
Point 'em at emacs and aalib, and tell 'em there's an obvious alt-meta-mod4-control-mumble key sequence that will do just what they ask, but you can't right now remember.
Ask for steps on how to replicate it. Folks who know enough to tell you exactly what went wrong don't need your help.
Often, the initial bug report is just to see if someone is there, paying attention. The appropriate response is to ask for information -- you may want a template for this -- and initiate a conversation. "Well, Joe, I don't know enough to answer your question right now, could you tell me some things, like the version of the software, your OS, hardware, and the command-line that failed, along with its output."
All users lie. They omit steps. They forget critical changes they've made to a system, but remember all the trivial changes. They get sequences of events out of order. They fail to follow instructions properly. They are quick to assign blame. They fail to read error messages. They don't know what's important.
Remember, they're frustrated far more than you are; YOU have a modicum of control over the system, because you nominally understand it.
Re: (Score:3, Informative)
That's easy... (Score:5, Funny)
With swamp boots (Score:5, Funny)
...with swamp boots, just like everybody else, right?
Video link (Score:5, Insightful)
Re: (Score:2)
Your boss just walked by didn't s/he??
Re: (Score:3, Interesting)
Re: (Score:3, Insightful)
However, your behavior in that thread does illustrate exactly the sort of thing that drives a lot of very intelligent people away from those types of mailing lists. It's not easy trying
Re:Video link (Score:5, Insightful)
Even if the ultimate answer to the problem was "Ubuntu is hopelessly broken," you STILL would not have been justified in acting the way you did. Even if you were paying for the support, that sort of abuse is unnecessary and usually (and definitely in this case) counter-productive.
Re: (Score:3, Insightful)
It's clear from that point that you weren't looking for help,
Re:Video link (Score:5, Insightful)
Looking at how much patience and help they showed *you*, I can only imagine at how much they'll help a polite noob!
What really scares me about you though, is that it's been a year since that conversation, and yet you're still this venomous towards them, and still can't see what you did wrong.
Re: (Score:3, Informative)
The program you were looking for was "grub-install" -- note the dash, grub-install is one word.
This weekend I helped a friend rescue his data from a windows install that quit working -- it would get to th
Re: (Score:3, Funny)
Re:Video link (Score:4, Insightful)
You've blown one bad apple entirely out of proportion. Now I'm not saying that we should sweep it under the rug, either, but surely a broader picture, including the myriad uneventful, unnoticed except by those few directly involved, and extremely helpful support threads, would be far more accurate. Yes, the failure to provide reliable support does hurt the image of linux and techies in general. However, your constant rehashing of this single incident hurts those images much much more.
SVN Obliterate (Score:2, Interesting)
Not every "poisonous" person is easy to spot (Score:5, Interesting)
Those are easy to deal with. The problem is with people who, under the cover of "doing good to the project", make everybody hate everybody else. Those usually spread rumors around, go tell John that Jack, frankly, doesn't work enough, while at the same time telling Jack that John, really, isn't leading the project in the right direction, etc...
We've had plenty of those at the company. More often than not, those are what we usually called "software diva", people whom management think are indispensable, and therefore should be more or less allowed to do or say anything.
My way of dealing with these folks was usually simple: single them out at the weekley meeting, sum up the shit they've been spewing around, and tell them they're allowed to run free with whatever they thought was best on a local fork of the project for a week and prove they're right and/or better and/or more efficient than Jack or John. Failing to prove it, they'd be relegated to the line-pisser pool, otherwise they could take my place as team lead. Usually the result was the software diva leaving the meeting all offended, and half of the time resigning after a couple of days. Public shame and the threat of putting their supposed programming skills where their mouth is is a very efficient method of putting these people in their place.
Re: (Score:2)
Re: (Score:3, Insightful)
When I ran a very (very) small project I simply assigned these folk to minor sub-projects away
Re:Not every "poisonous" person is easy to spot (Score:4, Funny)
Besides, it's balls that usually start the problems in the first place.
hmm (Score:5, Funny)
AKA "coders".
I believe they call it... (Score:5, Interesting)
...assassination in the journals. Quick, clean, and ensures they can't just be transferred to another department to create headaches for someone else.
A guy on P5Porters back in the day was like that (Score:3, Interesting)
pick your poison (Score:5, Insightful)
On the other hand, malcontents are often malcontent for good reason--look at the dispute over the Xfree86/X.org split. Sometimes,someone who is an effective leader on one project is making a nuisance of himself on another, like when Torvalds was interfering with the Gnome project.
So, it's OK for open source project leaders to dismiss "malcontents" and focus. On the other hand, those "malcontents" are often going to be right and justified, and they may fork your project and make you irrelevant.
Re: (Score:3, Insightful)
Well, how do we know that? Most of us only know whats written about them. Sure, t
Re:pick your poison (Score:4, Insightful)
Thank you for illustrating my point.
Frankly, I'm getting tired of it. (Score:5, Interesting)
The final type of person, the one that bothers me perhaps the most, is the coder or contributor who simply doesn't answer bug reports or emails (whatever the appropriate method may be) at all, even after several weeks of waiting. Are you guys *trying* to turn your users away!?
People really do see those buggy programs, folks. They show up in lists of stuff at places like FM and SF. If you think your code is good and you want to release it, great! But if you won't consider bug fixes, keep the damn thing to yourself and/or contribute your code to an already-existing project instead.
I've been a programmer since 1986 on another platform, but stopped in around 2000 and haven't come back since (outdated platform anyway, so my "skillz" don't exactly translate to modern programming methods), and I have never once considered telling someone off like these examples. What went wrong? When did the F/OSS community start to gain this elitist attitude?
Mod me down if you want, I don't care. I've got the karma to burn.
Re: (Score:3, Insightful)
That's true to a point, but misses a huge population
Re:Frankly, I'm getting tired of it. (Score:4, Informative)
I've found lots of such programs useful, if the features in already don't do it for me I can either modify the code nyself and add it.
All you're doing then is giving open source a black mark.
Oh, I'd say you were. Open Source isn't about having someone do something for you, its about having the ability to do it yourself (ie: have source code and can modify it). How about instead of telling someone who is likely busy and gains almost NOTHING (save an ego boost) from more users to code something for you for free you instead do it yourself or maybe pay them for it. Hell many of these people are getting paid for the parts they're coding for their own use so you essentially want them to work for free to implement what you do while they'd get paid to implement what they need.
They're simply being honest about who they're coding the project for, not everyone is unemployed and has 60 hours a week to burn on a hobby.
The final type of person, the one that bothers me perhaps the most, is the coder or contributor who simply doesn't answer bug reports or emails (whatever the appropriate method may be) at all, even after several weeks of waiting. Are you guys *trying* to turn your users away!?
It's likely that many gain very little from users, they're not a company and have no incentive to reply to you. It's likely, as someone else, mentioned that if your email was more useful then they would answer. Possibly they already know of the issue and are too busy to answer, that's life.
Seen it... (Score:3, Insightful)
A large part of the video was toned negative. Only the word "poisonous people" is enough to know what they are thinking. Yes, there are mistakes certain people make that can be *called* poisonous, and could indeed destroy your project, but don't label the *person* but the *behaviour*.
Apart from being very undiplomatic, you run the risk of losing good people in your OSS project just because you get anal about someone not 'doing things by the book'.
An example is the "CVS date-parser contributor", where the guy wanted his name on top of the file, but SVN-dev rules stated not to. Instead of talking diplomacy, and getting a solution that satisfies both developer as community - the code was good as they said - they throw out the code *and the person who wrote it*. Maybe this example was bad, and the person was thrown out because of other reasons, but they made it an example in their video so that's the fact right now..
I think I would like a label for OSS projects that handle people this way: cactus-OSS communities - they can grow great software, but press the wrong part and you get hurt so much you don't want anything to do with it.
Seriously, if you're running an OSS project by all means protect it, but try to change the behaviour people portray rather than kick them out. Kicking out a developer should be a last resort, as it on itself could have serious implications for the status of the OSS project imho.
Re:Seen it... (Score:5, Informative)
We didn't boot any person at all, we simply rejected the offered patch. The person wasn't a member of the community, just a drive-by patch contributor.... we didn't "throw him out", because he wasn't "in" to begin with! Patch contributions are great things, but if we can't come to an agreement, then that's the end of things. The person wasn't interested in resubmitting without his name attached to the patch, so we had to reject the patch. Our honest hope was that not only would he contribute his patch properly, but that he'd become a regular committer too. Instead, he was annoyed at us and walked away. C'est la vie, we're not going to change our code submission rules for a single visitor. Twas a shame.
Re: (Score:3, Informative)
1) severability: you can 'break off' any part of a working copy, and it still functions as a standalone working copy.
2) portability: you can transport a working copy to different disks o
Re:Seen it... (Score:4, Interesting)
Did you really watch the talk? Regarding the date-parser contributor, we talked diplomacy quite a lot, but the simple fact was that adding your name to the source code was not negotiable in our community. We never kicked the guy out--he left on his own accord when he realized that our rules weren't going to change to accommodate him.
The whole point of that anecdote was to illustrate the importance of not compromising your community ideals for one person, even if they come bearing code. Stand your ground, and if someone is not willing to play by your rules, then they'll leave.
Oh, and the whole point of the "Poisonous People" title was to a) get your attention and b) address a perceived shortcoming in many open source communities. If we had talked for an hour about "How to have a loving and happy community", everyone would have been asleep ten minutes in. ZZZzzzzzzzzzzzzzzzzzz.
Commending Subversion (Score:3, Insightful)
If I ask a question on #svn, I almost always get an answer from someone who can point me to where in the manual to look - and that's pretty valuable, since if you aren't intimiately familiar with the product, you might have no idea how to search for what you're actually looking for.
What about usurpers? (Score:5, Insightful)
So I challenged this person's disingenuous claim that he'd created it "from scratch" and asked him to make his source code available, as he should do under the GPL.
Instead he pretended to be indignant, continued to insist he'd "started over," and removed (!) the binary he'd posted (you know, because of his overwhelming indignation). Rather than let him conceal the binary under dispute I reposted it, which caused him to feign even more indignation and call me names. There was some back-and-forth in which I continued to press him for an admission, and in which he continued to stick to his position, and to insult and ridicule me.
After a few exchanges he posted a new build of the driver with various strings hastily replaced. For example, he replaced the word "Magic" with the string "Khash" (same number of letters... odd since he has the source code) and replaced the copyright message with one of his own (again, same number of letters), and he replaced the CVS-generated "Revision" number with a value (0.31) that CVS could never produce. Anyhow, I kept giving him rope, and he kept hanging himself with it.
Eventually, I softened my stance and let things lie, and just asked him to share with me either source code or information to help me get my driver working on TabletPC. He didn't provide either one, and instead he deleted all his posts (smart, because they were very embarrassing) and went on to work on other Hackintosh driver issues. Fortunately, I had been saving his posts all along with the hope of writing an article about "FOSS usurpation" on my website.
I'm happy to say I did manage to get TabletMagic working on TabletPC systems, but even now I could still use some of this madman's insights into ISD-V4 digitizers. Despite his lack of character, this guy is no dummy.
What still astounds me is the striking similarity between this person and other hackers who have done this sort of thing in the past. You might remember a few years ago a hacker had modified a bunch of Mac shareware binaries and was distributing them under different titles, and more recently "CherryOS" was found to be a rip-off of PearPC. What's striking is that whenever these guys are challenged they display very characteristic behavior, producing indecipherable denials that border on the insane, and insulting those who challenge them. In the end they always end up making themselves look bad, and they always give themselves away by the illogic of their denials and their exaggerated bluster.
Now in my case I was lucky. This person had modified my code for use on an unsupported platform and as far as I know he was not planning to sell his work. And when I think about it, it doesn't seem he could do much harm to my project. Nevertheless, it alerted me to one of the more annoying aspects of FOSS software, and my powerlessness against it. To his credit, he did push me to add TabletPC support to my driver which otherwise I might not have done so soon. But overall this experience has been very unpleasant.
Is there really anything an OSS developer can do to combat this kind of annoyance? Are there any smart tools out there for comparing binaries to see if they come from similar source codes? Does the Free Software Foundation or Sourceforge have any kind of policy or resource to help poor saps like me? And in the end, what does it all mean?
The OSS code of honour (Score:3, Interesting)
Now, there seems to be a sort of OSS code of honour which is: "R-E-S-P-E-C-T" (gesticulate idiotically like some rappers do.) How often did Ben and Brian say the word? If you see this as a management training video, why do they bother to educate already educated people? Isn't respect a matter of course?
In corporate interaction respect is implicit. Disrespect bares consequences.
Why is it that so many OSS developers require some 'hood protocol to communicate? I sometimes feel like in a movie where it's us against the bad guys in power and that therefore we do funny hand shakes to distinguish ourselves. (OK, I exaggerate a bit but understand what I mean.) It's so tyring and time consuming. In corporate coding you ask for stuff, get an answer and move on.
I remember one time when it took quite some while to get an answer from a developer for some trivial issue. I made a remark saying that the guy most likely had other more urgent things to attend to than my little issue. This is a compliment; It means I appreciate some horribly busy guy is willing to do some shitty work for me. The guy in question got mad and started to lecturing me. He of course never touched the fact although my issue was minor, he was horribly late in his reply. To set him at ease I had to spend time on explaining the remark. This is so tiring and puts me a bit off OSS coding. I nevertheless continue to contribute.
Message to the OSS prima-donnas: Read also books on communication and social techniques. They contain usefull stuff you need to know when communicating. See them as manuals on social behaviour.
Re: (Score:2)
Re: (Score:2, Funny)
Because he's my boss.
Re:I'll tell you about this one guy (Score:4, Interesting)
My favourite one is the netfilter guy's response to Dan Kegel's patch on the horrible file name layout in the linux netfilter directory, where there are multiple h and c files with the same file name, differing only by case. 'ipt_TOS.c' has a different purpose than 'ipt_tos.c' - Is this elementary school programming style or what?
Lots of people wanting to cross-compile linux, or even just do an 'svn co/cvs co' of a project which includes linux source get hooped.
from: http://lists.netfilter.org/pipermail/netfilter-dev el/2004-October/017154.html [netfilter.org]
--jeffk++
Re: (Score:3, Interesting)
I don't like the GNU project, not because of a distaste for free software, but because of a d
Re:What I learned working on NetBSD (Score:4, Insightful)
Re:What I learned working on NetBSD (Score:4, Insightful)
Faster hardware is cheaper than better programmers, and much easier to find, and you know when you got good hardware, but you can think you've got a good programmer and be really wrong.
Re: (Score:2, Funny)
Re: (Score:2)
Or it could be that Linux gets a lot of commercial support and those companies pay developers to work on Linux. Google, SGI, Intel
Re: (Score:2)
Linus is extremely blunt, but he's almost always right, and he's
Re:You mean.... (Score:5, Interesting)
Re:You mean.... (Score:5, Interesting)
Can you name a single Linux distribution that doesn't include at least two programs to which Eric S. Raymond has contributed code, EXCLUDING fetchmail?
698 packages on my Ubuntu system depend on libncurses5, which has Raymond code in it, for example.