"They"
The great thing about working with open source is that if you come across a bug, you can fix it yourself. It’s the whole underpinning of the success of the model. Every developer scratches their own itch, and the cumulative result is a vibrant and useful piece of software driven by an enthusiastic community. If you’ve been fortunate enough to be the steward of a successful open source project you’ve probably seen this in action.
If you’ve been working on a really successful open source project, you’ve probably seen something else happen.
In the early stages of your project, the people who hang around are willing and able to help. When they find a bug or some missing documentation, they write a patch to remedy the situation. Even those who can’t fix the bugs will put in a Herculean effort to help isolate it with a test case.
But after a while the ‘they-brigade’ shows up, and instead of offering to help they merely act indignant that ‘they’ (the open source project) haven’t done it already. Rather than spend 10 minutes writing a patch to improve the documentation of a project they’ll spend 20 minutes writing an outraged blog post demanding that ‘they’ fix the problem.
Most open source projects aren’t controlled by a secretive cabal of conspirators. If you notice something broken don’t assume that the maintainers are deliberately trying to fuck with you. It probably hasn’t hurt them yet, or they’ve chosen to spend their time on something else. Remember, you’re not paying for this, no-one’s violating their SLA. Instead of seething with rage, try to find a test case that isolates the bug you’ve found. Instead of flaming on a forum, try to sketch out the points that the improved documentation should cover.
You’ll find your own work much more fulfilling if you’ve taken the time to improve your tools. The fact that the wider community benefits is just a nice big cherry on top.

Kevin Clark December 2nd, 2007 @ 09:00 PM
I think the only validly outraged posts (outraged still seems to imply the wrong mentality) concerning open source software is when a maintainer refuses to discuss alternate strategies in the codebase or when they’re unwilling to apply good patches (and yes, good is hard to qualify).
Being indignant that an open source project run by voulenteers doesn’t fix whatever your problem is seems like the wrong way to go about it.
And as always, I’d struggle to find anyone to complain about you in particular Koz ;)
Koz December 2nd, 2007 @ 09:22 PM
There’s definitely a place for discussion of alternative strategies or implementations, but there’s also a limit. Refusing to discuss something isn’t the same thing as refusing to spend hours and hours discussing something when it’s not obviously compelling. No one’s interests are served by sitting around bike shedding some tiny implementation detail :)
“Let’s write rails 3 in COBOL” is patently absurd, but “Let’s break everyone’s applications to implement my new filters” isn’t much better.
As for patches, good is far too subjective and will always induce rage. But I think something more meritocratic like our report 12 is a good start. Something more formal like apache’s +1 process is another option.
Another pattern I’ve seen a few times recently is that people assume that an idea hasn’t been tried before, and are preemptively outraged about it. Don’t assume that something hasn’t been tried, just ask for evidence that it was.
Mikel Lindsaar December 3rd, 2007 @ 08:45 PM
Totally agree.
I had this with the TMail library, found a bug, a nasty bug that effectively deleted emails when you received them from MS Outlook, not nice as it would delete the current one AND the one that came in a stream after it. Nasty on all sorts of things.
I sent several emails to the maintainer, he didn’t respond, the website wasn’t active, so I asked if I could take over the project, and what do you know? I am now running the damn thing!
But at least I get my patches applied instantly :D
And it teaches you SO much about programming, taking a library on, you have to think with all the other consequences of changing the return value of blah or how ble is meant to work.
Anyway, my 2 cents. Good post koz.
Mikel
Ryan Allen December 4th, 2007 @ 03:11 PM
Is the 3-peer patch acceptance still the way Rails accepts patches?
sudara December 6th, 2007 @ 02:53 AM
I’m not a fan of ‘its free, so shut up’ mentality.
People need to express themselves – not everyone can do it via patches, and not everyone can hold back their frustration when their expectations are not met – regardless if it is due to free software, expensive software, or learning how to play the guitar.
‘Be respectful’ and ‘fix-it-yourself’ are mantras that definitely should be promoted in open source and in life. Unfortunately making free software doesn’t exempt you from the range of human emotions going on around you!
I think everyone is doing a damn good job. I am thankful for the work you and the others have put in to rails – just smile at folks who’d rather talk then help – they’ll always be a heaping handful around, and it is easier to befriend them then to try and fight them away.
Carfield Yim December 14th, 2007 @ 09:13 PM
Just wonder how you estimate it take 10 minutes to fix? Given that the general user of the API never checkout the code before….