How Open Source Projects Survive Poisonous People
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.'"
Tag the story video or videolink to inform.
Spam removed for the Internet's pleasure
Lock them out and tell them to become Anonymous Cowards on Slashdot.
...with swamp boots, just like everybody else, right?
Could we please get video and flash links in stories tagged "(video)" or "(flash)" like is done for PDF links? Especially things that will generate audio which might be disruptive in a work environment and when it isn't necessarily apparent in the URL.
Oh, say does that Star-Spangled Banner entwine / The myrtle of Venus with Bacchus's vine?
Maybe if you would just implement SVN Obliterate, you'd be pestered less. ;)
They don't grade fathers, but if your daughter's a stripper, you fucked up. --Chris Rock
Every open source project runs into people who are selfish, uncooperative, and disrespectful.
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.
"A door is what a dog is perpetually on the wrong side of" - Ogden Nash
Every open source project runs into people who are selfish, uncooperative, and disrespectful.
AKA "coders".
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
--jeffk++
ipv6 is my vpn
I'll say it out, I don't like Theo de Raadt's hostile attitude, but I do like the way he's adamant about what he believes in, and actually does something about it.
I don't like the GNU project, not because of a distaste for free software, but because of a distaste for crufted-together bloatware that feels like the Microsoft of Unix. And have I done something? I'm actually working on getting the leaner, meaner, BSD stuff up on my system in place of gnuware. A lot of that comes from NetBSD and OpenBSD.
I mean seriously, when my own fully functional version of "echo" is 4116 bytes stripped, how come GNU's is 13880, and all it has mine doesn't is --help and --version? (Both are dynamically linked.)
-uso.
What you hear in the ear, preach from the rooftop Matthew 10.27b
Hey, don't badmouth Theo just because he didn't like your "Let's install Firefox suid root!" idea.
Because he's my boss.
...assassination in the journals. Quick, clean, and ensures they can't just be transferred to another department to create headaches for someone else.
GetOuttaMySpace - The Anti-Social Network
No, They mean like Jeff Merkey. Ever read some of his comments to the Linux Kernel mailing list? hoo boy.
Enjoy Every Sandwich
There was a guy named Ilya who would clash with people regularly on perl5 porters back in the 99-00 days but I tell you, he was a huge contributer to perl and it would not be where it is without him. But he did cause a lot of social issues within the group and we lost other really good developers because of him. Not sure where the net loss/gain fell on that one, but it is an interesting problem to have witnessed first hand.
Who are you? The new #2 Who is #1? You are #617565. I am not a number, I am a free man! Muhahaha.
You'll find that most of that 'bloat' is actually robustness code, error condition checking, etc., ...the stuff that makes most GNU tools /prefered/ by admins. That incredibly alpha-quality 'BSD gzip' that shipped with NetBSD-2.0-RELEASE was a joke. I can't wait to see what a fiasco a 'BSD rsync' turns out to be.
People like Stallman, Torvalds, or van Rossum are not the nicest or easiest people to get along with. Nor, for that matter, are commercial software leaders like Jobs or Gates. It takes a certain degree of focus and arrogance to lead big software projects and to make the tough decisions that need to be made.
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.
Eric S Raymond poisons the whole movement, not any particular project. To do that, he would actually have to participate in one of them.
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.
But the project itself is a good idea.
Fork?
To do that, he would actually have to participate in one of them.
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.
...and have serious problems with some of the things they are advocating.
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.
Slashdot: stuff for news, nerds that matter, matter for news, stuff that nerd
That's exactly my point: why does echo have to be that big? What's it doing? Efficiency isn't just for ancient computers, and the lack of efficiency in today's software is driving people to buy ever faster hardware just to run at the same damn speeds they used to get on their old hardware, with their old software.
Hell, WordPerfect 5.0 ran faster on my old 12 MHz 286 than OpenOffice.org 2.x runs on my 2 GHz Sempron - and had pretty much all the functionality I need in a word processor even now.
-uso.
What you hear in the ear, preach from the rooftop Matthew 10.27b
Computer time is more plentiful than human time.
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.
Just because it CAN be done, doesn't mean it should!
I would like to commend the Subversion community for being the one piece of open source software that I have used in several years that had a support community (between their websites, and the #svn channel) that is not just full of arrogant elitists.
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.
"Champagne for my real friends - and real pain for my sham friends!" http://ericblade.postalboard.com/
I have a related problem that I've been trying to understand and cope with. One day while searching for information to further my OSS project TabletMagic I discovered a discussion board where someone had simply modified an older version of my driver to work on TabletPC computers, and he was claiming that he'd "started from scratch" in creating it. I downloaded the binary and examined it, and it was clearly built from a modified version of my source code. It even had my name and original copyright message in it, and printed these to Terminal when started.
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?
-- thinkyhead software and media
he's right.
First of all, judging from the video I must say Ben and Brian excel at managing projects.
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.
I hadn't the slightest objection to his spending his time planning massacres for the bourgeoisie... (P.G. Wodehouse)