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
... does that explain why I'm still waiting to see the HURD in action?
RMS seems like he'd be a tough guy to work with/for. I've always wondered if his personality doesn't slow down GNU development in general.
OTOH, Linus seems like a generally amiable dude, and the Linux community has grown more than I ever would have thought possible 10 years ago.
I don't need no instructions to know how to 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".
You haven't banned him because...?
Hail Eris, full of mischief...
E pluribus sanguinem
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.
it's about time for a new acronym: WTFV? btw, I didn't
La vida no es una pastafrola.
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.
If the word "videoplay" in the URI didn't help you I'm not sure that a (video) tag would.
REM Old programmers don't die. They just GOSUB without RETURN.
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.
The Netfilter guys have a very weird and high and mighty attitude. I can remember Linus giving them some stick for Netfilter being needlessly incompatible with 2.6.20.
Did anyone say "Tomcat" or "JBoss"?
Never mind the developers/contributors, it is severely disconcerting to users of the code (and managers of those users) to feel that an OSS project is staffed by developer-hating truth-dodging self-regarding sociopaths.
Did anyone see the recent(ish) furore about synchronisation on session objects in Tomcat 5? I refuse to use any Tomcat newer than 4 until I think that someone not wedded to the sound of their own voice will take advice and rejoin the real world and make things *safe* without attempting to bend the spec out of whack to suit their own warped view of the world, programming and thread-safety!
Goodness.
Rgds
Damon
http://m.earth.org.uk/
...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
(Would someone summarize? Don't have time to watch 55 minutes of talking head video.)
MMORPGs have the same problem, with "griefers". The trick is to design the system so that a griefer can't annoy a disproportionate number of people.
The classic line is "It takes ten honest people to support one crook". That's very real; when the fraction of troublemakers gets too large, nobody can get anything done. Happens routinely in bad neighborhoods and war zones.
Um, what's wrong in redoing something to make it faster and smaller ? Nowadays most programmers just take all libraries they can get, to simplify the process of programming, and produce bloated code, when they could just write their own functions, smaller which would suit their needs, and yes, I do that quite a lot, and when I need to use a library, I take time to choose the better one.
\,,/ Rock and Roll ain't noise pollution, Rock and roll ain't gonna die! \,,/
Funny how this aired the same day as the Gentoo Crisis.
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.
See it for yourself:o /echo.c?rev=1.6&content-type=text/x-cvsweb-markup / src/echo.c?view=markup
OpenBSD `echo': http://www.openbsd.org/cgi-bin/cvsweb/src/bin/ech
GNU `echo': http://cvs.sv.gnu.org/viewcvs/coreutils/coreutils
GNU version supports de-escaping the parameters before printing them while your version probably doesn't.
It's exactly that way of thinking that produces so much bloat these days, you say there's no point in making echo smaller and more simple (of course, you DO realise it's just an example, right?), and people take that to a higher level, 'why should I optimise, rethink my code, when we have 2 GB's of RAM, dualcore cpu's, 300 GB HDD's' and so on.
\,,/ Rock and Roll ain't noise pollution, Rock and roll ain't gonna die! \,,/
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
You mean, like \a causes a beep, -n suppresses newline, and the octal escape stuff?
Yep, supports that
-uso.
What you hear in the ear, preach from the rooftop Matthew 10.27b
wow, reading that whole post painted the author to be quite a pretentious jerk ("Problem? IIRC, I don't care."). Dan Kiegel's response was very well written and solution-oriented, a great model on how to deal with problem people and very relevant to the article.
Also Harald misspelled 'distinction', which makes it hard to take him seriously when asserting the value of colliding namespace like that.
In this case, the internet provides an example of how to deal with problems like this: you route around it.
Cygwin introduced managed mounts specifically to enable developers to deal with issues like this. Using managed mounts can be a bother, but isn't nearly as annoying as not being able to cross-compile at all.
"Great men are not always wise: neither do the aged understand judgement." Job 32:9
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/
The unfortunate truth, although, not every coder is out to get release fast, some of us still take some extra time to make our code simpler and lighter rather than just brute-forcing it.
-uso.
What you hear in the ear, preach from the rooftop Matthew 10.27b
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
One of the biggest poison personalities, that I ever met, on an OSS project was Reece Sellin when he was ramrodding the Freedows project.
Granted, it was his idea and his uKernal, but Lord, talk about a case of the messenger killing the message. His penchant for flame wars, well he was a kid at the time, and his elasticity quotient as a 0 is what killed the project.
Good idea.
Lousy leadership.
Dead project.
Note, even ReactOS is woefully on track to be the Duke Nukem of the OS world.
Politics is the art of looking for trouble, finding it everywhere, diagnosing it incorrectly and applying the wrong fix.
Regardless of how small your echo is on disk, it's going to take at least 8196 bytes in RAM. By all means, keep thinking efficiency, but how about applying it to targets that really need it, like, oh, GNOME?
Done with slashdot, done with nerds, getting a life.
Every time I tried to join an open-source project, I'd find that I was cut out of the discussion, no matter how much I complained and accused people of trying to shut me out.
If I were able to get in there, I'd be able to rid those projects of these pesky people who won't respond to my constant requests!
Signed,
RealGrouchy.
Hey pal, this isn't a pleasantforest, so don't waste my time with pleasantries!
I was surprised the guy in the front row (kde tshirt) had any hands left afterwards!
They talk a lot about poisonous people. Which misses the point. It's all about removing poisonous behaviour from the community. Sometimes people make mistakes and do stupid things.
Yet even though they don't understand it well enough to label it properly, they do provide concrete examples on how such poisonous behaviour has negatively impacted their development process, and how they feel they have successfully dealt with that behaviour.
These are problems that every team deals with. Not just open source projects. Even really good people can produce poisonous interactions in a team environment. It happens. The best tactic is to learn how to recognize it, and learn how to shift the team to more constructive behaviour.
So I'll say this. Watch the talk with the full realization that while they don't have the most complete perspective on this issue, neither do you/we. Maybe we can learn something from their mistakes. Even the mistakes that they think are successes. This attitude seems to match the presenters' attitude. They don't make any claim to have all the answers.
I had to click through several thread redirects before your Dell Dimension thread showed up:
m essage?message.uid=18143969#U18143969
http://www.dellcommunity.com/supportforums/board/
Did you ever get the feeling the story is too damn long and in the present tense?
I know I'll never use %x in printf for my lemonade stand program, so I'll write my own printf without support for it. That'll save a lot of space.
(In case you don't get it, I'm better off using the standard function anyway, because it'll already be there. Your idea just adds to the bloat by discouraging use of shared code).
So dont look a gift horse in the mouth, or complain about the color of a free bike shed. If you need something that badly pay for it, or build it yourself. If someone was kind enough to build something for free that doesnt work for you, badmouthing them is just bad form. If they dont want to spend time coding, its not their problem.
You're lucky, I'm an obsessive note-taker. You'll have to supply your own verbs, though.
Talk, How to protect your open source projects from poisonous people, Ben Collins-Sussman and Brian W. Fitzpatrick, January 25, 2007, Subversion developers from Google explain their experiences. Google TechTalks. http://video.google.nl/videoplay?docid=-4216011961 522818645
Open Source Developers Speakers Series, 4. Google engineers, Chicago.
"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."
Most important resource is the attention and focus of your community. Poisonous people can show up, distract your developers, cause emotional drain.
On purpose or accident. More often unintentionally.
Perfectionism. Design document went on forever.
Painting the bike shed. Enginers hand in huge document for design of the nuclear power plant, approved in 5 minutes. Week later, come in with blueprint of bike shed they want to build, debate for months on what color.
"Call bikeshed."
People want to put their stamp.
Habits that make healthy open source community: Politeness, Respect, Trust, Humility.
Pick a direction and limit it. Subversion mission statement, "To create a competing replacement for CVS." Could point to it when people wanted to expand it. That's not in the mission statement.
Google Web Toolkit. Ajax development environment in Java.
Mailing list, primary communication. Read archives first. If they don't, they're disrespecting everybody's time.
One vehement dissenter, half the messages from one person. Call people out on it, filibustering. Consensus-based community, consensus derailed.
Document history, including mistakes. Standard format, consistent log messages. Dealt with client in old job, guy said, I can't get my programmers to write in a standard format. Responded, I've got 30 volunteers off the Internet, they follow detailed format, and you're telling me you can't get your paid employees to folow a standard format?
Commit email.
No Powerpoints. Some people go off and write big Powerpoints, come back with big document later, nobody can go through it. We have to see what you're doing as you go along.
Bus factor. How many people would have to be hit by a bus for you to wind up in a pile of shit. Project that depended on one guy, assign him a collaborator, share expertise.
Egalitarianism, not owning, no names. Good coder insisted on name, blackmail, you can't use it if I don't get my name, refused his contribution. Not willing to sacrifice our community for your ego.
Expand community. Culture perpetuates.
Founder can be booted, too possessive of his code, voted him off.
Voting is a last resort. It shows consensus didn't work.
Identify people. Put them on Bozo list.
Good cop, bad cop. Guy can turn out to be good, make valuable contributions.
Can identify them early on. Usually have a nick like CRAZYJOE, lots of different nicks, lots of caps, exclamation points.
Can't pick up on mood, ask questions they could look up, which disrespects other peoples' time.
Blackmail. Trolling. Hostility. Continually object.
"Patches welcome" is the open-source term by which you dismiss people. Send in your patch.
Is this debate worth it? Ignore them.
Concentrate on what they have to say, ignore the hostility.
One guy challenged basis of Subversion, people responded emotionally. Wasted 2 days of my time.
Good cop. Sometimes people look like trolls, actually miscommunication. Not native speakers of English. Give benefit of doubt, sometime
IMHO, the major difference is that Linus is primarily a doer/engineer while RMS is primarily a talker/philosopher. Linus sees GNU and GPL etc as tools to get to where he wants to be, while RMS is is more interested in the almost religious pursuit of GPL and the software just comes along for the ride.
Witness the whole GNU/Linux naming debate: For RMS, this was a very important milestone http://www.gnu.org/gnu/gnu-linux-faq.html; Linus thought it ridiculous, but didn't burn much energy in debating it.
Engineering is the art of compromise.
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)
at about 26.20 if you wanna get to the meat of the article.
You could do that, _or_ you could actually watch the video and follow the advice therein.
Advanced users are users too!
I have a FreeBSD server. FreeBSD is good, but I hate some of its userland. I much prefer GNU tar, bash, ls, etc. over BSD's own userland. And frankly I don't care whether the binaries are a few kilobytes bigger, this is 2007 and a few kilobytes or even megabytes isn't going to kill me. I think it's quite useless to speak about "bloat" in your example.
Really, of all the people involved in all the open-source projects out there, I think Linus' personality is the most destructive. His arrogance and brusque tone have engendered a community whose first response to ANY request for help is "RTFM", and whose first response to anything that isn't a request for help is a flamewar.
Linus muddied things when he made his microkernel/masturbation simily. Just because he said things in a way geeks can relate to does not make him right on this point.
There are many highly reliable and highly efficient microkernels out there. For example, QNX (which runs just fine on a 286), is a microkernel, as are Minix, OS9 and many other RTOSs. You don't get to be an RTOS if you're just bloat. I saw some pretty cool systems using QNX clusters running on 286s back in 1989 or so.
Hurd just goes no where because there is no motivation and drive. Hurd lacks drivers. Hurd lacks drive. Hurd lacks.
Engineering is the art of compromise.
I'm guilty of being a "poisonous person" myself and I often didn't see it within myself. So the discussion is also good not only with regard to identifying poison in others, but also within one's self. We're not inherently poisonous people, but sometimes either through frustrations that need to be vented or even through really good intentions, you can become poisonous.
It's also a really good discussion in that I agree with the presenters a great deal. This is especially true when it comes to divorcing yourself (and your pride) from your sense of ownership. I'd like to liken such feelings of ownership to children or your job's work responsibilities. As with children or your job, you have agreed to take responsibility and participate in something where you shouldn't expect to have real or actual ownership and if you feel like you have ownership, you should reconsider your feelings on the matter. You cannot own people so you don't own your children. The company owns the fruits of your labor and so even though you accept responsibility, ownership is not typically yours. (I get annoyed when employees put THEIR names on software and other forms of registration and licensing. Yes, I know Robert Smith was the IT manager, but *I'M* the IT manager now and even though it has his name on it, it's really the company's money that paid for it so it's the company's license for Adobe Creative suite... If you have to put a name on it, use a ROLE name, not your own!)
And yes, I also agree greatly when it comes to putting your name on code submissions. Check your pride at the door and you'll have an easier time being an objective participant.
I like NetBSD a lot, but to be fair it's had more than its fair share of problems politics-wise. It seems that however sincere or however long they've been involved, everyone is fair game for personal attacks at NetBSD. I would love to get involved with NetBSD, but it appears that recently the tone of the project changed, and these days they're less open to involvement of the type you described (i.e. code optimisations) than they once were.
You insensitive clod, I've only got an Atari 400!
Your thoughts form your reality.
Most likely, WordPerfect 5.0 used a fixed-pitch font for display, which by default is 80x25. OpenOffice.org 2.x uses a GUI, which can be configured to display more text than what's normally possible under an 80x25 terminal window.
If you want something fast, pick Wordpad, Textedit or the Linux equivalant - which is more than enough for a basic wordprocessor. If you need something more fancy, you can load up OpenOffice.org or your favourite word processor.
This is countered by taking the opposite approach - for example, Number crunching. Even with all that processing power, you cannot obtain an optimal result by doing a brute force approach, as it will take up too much time.
One of the previous contests required me to number crunch to determine whether or not a number was prime. Unless your Bignum library is as fast as possible, you will lose a significant amount of time on slow operations. Likewise, if your algorithm is O(n log n) rather than O(n), you will lose a lot of time.
I group arrogant people into roughly two classes. The first is like the guy you describe--people who are arrogant because they're damn good. Off hand I can immediately think of one guy I work with who completely fits the type. He's a brilliant network engineer, and he never stops letting you know about it. Fortunately he's charming enough to get away with it most of the time. The second is the guy who tells you how goddamn good he is, but can't back it up. Unfortunately, in my experience people like this outnumber the first group by about ten to one. I suspect some in the second group are just deluded, and some were actually damn good at one time. If my colleague lets his skills erode without realizing it, there will come a day when he's a real nuisance.
Really? It came across as snarky and point-scoring to me. I see no suggestions for how to resolve anything, just mockery of Harald's blunt message. The german software engineering tradition as I have encountered it is to state things bluntly and confrontationally. I don't see any jerkiness.
As for misspellings, he's a foreign speaker, and.. you can usually rely on your tools to avoid errors. Down with namespace collisions known as "case insensitivity".
See, I can be points-scoring too. Don't confuse this with being solution-oriented.
-josh
You're describing a pathological community, not a normal community.
Like most successful open source projects, the initial coders decide on standards: code must be formatted a certain way, algorithmic conventions followed, design principles and goals agreed to, and so on. This is not 'elitism', it's a charter for the project itself, and successful projects document it for all to see. Without these standards, you end up with a big ball of mud rather than a coherent piece of software.
If someone submits a patch, we welcome the participation with open arms, and do everything we can to get the person to join the community (by which we mean, "become a regular contributer of code and discussion"). However, if the person refuses to play by the same charter and rules as everyone else, that person's contributions aren't going to be accepted, it's that simple. We don't turn the person away in disdain, we actively give feedback and nicely try to coax the person to comply as best we can.
Please don't mistaken "healthy community with its own culture and practices" for "elite social group forcing people to prove themselves". Yes, it's *possible* that communities can devolve into that sort of ugliness, but unless you've participated in Subversion development, I find it insulting that you assume the worst. Our project continously welcomes new people, and has been continuously adding 'new blood' (as you say) since we started... so sign of stagnation in sight.
Ummm, that's true, however the GNU tools have been around for many many years. You can call it bloatware (or the OP, I didn't notice if you were the OP or not), but the other programmer's code isn't going to have the wide deployment and testing to go with it. GNU ls may seem large, but it also works *everywhere*. Will yours?
It's very easy to get caught in the trap of thinking that you can write a program smaller and faster and just as functional as the one you're using. Sometimes that's actually true, but most of the time it's not. The program you're using, for all you know, is 80% workarounds to deal with (take your pick) broken platforms/non-standard drivers/broken filesystems/etc. Your code, fresh and virgin, will *not* have any of that stuff in it. Can you be certain that when your code is as widely deployed on as many different platforms as the one you're replacing that it will still be as small as it was when it was new?
Like what I said? You might like my music
You should have contacted the FSF, they give support for these kind of GPL violations... they have lawyers that might scare the guy pretty fast.
at least for the GPL you have some very usefull help.
Higuita
Good insight - thank you. I suppose I read it in a "problem solving" tone on account that dan had already solved a problem with the patch and was now defending the idea by putting a practical viewpoint on issues that were raised, such as supporting platforms with greater than 20% desk share, thereby avoiding genuine fs naming limitations (dos 8.3) and supporting something that is more a matter of choice than technical advantages.
I'd say supporting building linux on windows is of limited value. It's not like they can't afford Linux. I agree it would be nice if you could unpack the tree safely on most common systems, but I agree with Harald that prioritizing it in the face of significant redesign work is a bad idea.
Maybe someone should add a case-sensitive filesystem to Windows (or is that not possible?). You can certainly get a case insensitive filesystem on Linux.
-josh