Monday, August 4, 2008

One bug report to rule them all

Whatup y'all. I hope I haven't worn out all those refresh buttons on your browsers. Just because I don't post for a few days, y'all want to declare the death of this blog? You wish.

Anyways, today I'm talkin' about one of the community's crown jewels: bug trackers. We've heard it all before. Open bug tracking increases collaboration, transparency, and saves lives of poor, hungry children, etc.

But guess what? take a look at the bug trackers out there. They're mostly full of hogwash. Most of the bug reports go something like this...

Johnny User writes...
Hi. I'm trying to use ellipticaljerk-0.3.2, but my speakers make a farting sound when I click the jerk button. Then it crashes. Is this a bug?

Sammy Developer writes...
Hi Johnny. The jerk button works for me.

Bug status updated: CLOSED - USER ERROR


Sally User writes...
I'm also seeing this problem. These farting noises suck.

Bug status updated: REOPENED


Sammy Developer writes...
Ok, fine. Could you give me some more information? A backtrace maybe?

Johnny User writes...
What's a backtrace?

Sammy Developer writes...
It tells me where the problem is. You need to make sure you have debugging symbols installed. Also please tell me which compiler, which glibc, and which libjerk you are using.

Johnny User writes...
What are debugging symbols? How do I figure out all this information?

Sally User writes...
Johnny, I know what Sammy is asking for. Here's the info:

gcc-4.1.3
glibc-2.5.1
libjerk-0.8a

backtrace:

:
:


Sammy User writes...
Thanks Sally. Except that I can't reproduce this bug. But I'm using glibc-2.5.2 beta and libjerk-cvs

Sally User writes...
I don't know how to use the versions you talk of. And besides, this is how it behaves on Ubuntu. I don't care about how it works on your computer. It is broken in Ubuntu Masturbating Monkey.

Joe User writes...
OMG, I'm so glad I found this report. I think I have a related problem. I'm trying to play videos using mplayer for my wife, but she farts in my face everytime I have to look at the man page to remember the options. Here's my xorg.conf. Could you help me?

:
:
(A huge long xorg.conf that makes a bug page a huge pain to navigate)
:
:


Sammy Developer writes...
Joe, you need to file a separate bug for that.

Johnny User writes...
When will this bug be fixed? I thought Open Sauce meant that if I report the bug, it'll get fixed

Sammy Developer writes...
Johnny, I can't reproduce it. Feel free to send me a patch

(a few months later) Sammy Developer writes...
Upstream libjerk-0.9 fixes this problem.

Bug status updated: FIXED


(6 months later) Johnny User writes...
I just updated to Ubuntu Naughty Nutgoblin, and this broke again...

Sammy Developer writes...
It works for me. It must be Ubuntu's fault. I don't know what patches they apply, so please file a bug with them.

Bug status updated: WON'T FIX


Joe User writes...
What about my bug? Will you please fix it? My wife is still farting at me.

Yep. That sounds about right to me. Open bug trackers are filled with so much noise that there's a constant call for "triagers", which really are zealous volunteers suckered into cleaning out the accumulated crap.* Meanwhile, all the noise hides the real issues, causes developers to get frustrated, and slows progress. It's no wonder companies rarely open up their bug trackers. If you do, you're just asking for it.

I stopped filing bugs long ago. If you're gonna ask me to do it for free, you should at least make sure it's worth my time.

Bug trackers can be useful tools to coordinate work between competent developers and testers who speak the same language, and who work within a well-design development workflow. But as a mechanism to collect problem reports from clueless non-technical users, they FAIL in the EPIC manner. So y'all need to stop acting as if an open bug tracker is some crazy new innovation that is going to make FOSS better than all other software. I bet these things slow you down as much as they help.

* by the way, the idea that just anyone can effectively triage bugs is a huge load of crap as well. Anyone who has worked at a real software company writing huge complex software will tell you the same.

blog comments powered by Disqus