Re: GSoC Bugtracker

From: Date: Tue, 27 May 2008 13:05:48 +0000
Subject: Re: GSoC Bugtracker
References: 1 2 3  Groups: php.pear.dev php.pecl.dev 
Request: Send a blank email to pear-dev+get-50180@lists.php.net to get a copy of this message
On Tue, May 27, 2008 at 2:48 PM, Daniel O'Connor <daniel.oconnor@gmail.com> wrote: > I can't really think of One Simple Thing to fix all of my current > annoyances in one fell swoop. > So I'll ramble a little here, and perhaps this would be useful to > guide your design choices: > > Problems > 1) Joe user is using a PEAR package. They find a bug, and take the > time to write us out a patch. > > Currently; that bug will usually sit unattended and the patch ignored > for months, if not years. > > Problems with that are: > - Joe user never contributes a patch again, because they think no one > cares (Why Bother) > - Other people suffering the same problem aren't aware of the solution > - Quality as a whole takes a hit > > Things that do/would help fix this: > - Bug Triage days, for instance, do work reasonably well > - Provide dedicated, pre-made searches ('Pending patches', 'Bugs not > triaged in the first 7 days') > - Place a real emphasis on easy to use tools for QA / Bug triage type people. > > A Bug triager's common tasks may include analyze / verify / seek > feedback / mark duplicates / review patches / write small test cases > and reassign bugs to different packages/locations. > They tend to passively lurk on multiple bugs, and are more about > quick, short questions and clarifications than robust solutions. > > > > 2) When a bug is lodged wrongly, the current culture of PHP/PEAR tends > to be more "GTFO" than "Oops, let's lodge a new request for what you > want, you were just confused by something, that's a little bit our > fault too." > > It usually is: > - Someone lodges a bug in an underused part of PHP. > - They provide a reproduce script and enough detail, spending a fair > bit of their own time on things. > - Then Someone Else comes along and marks it BOGUS. > - A piece of pre-made text, which frankly, sounds horrible most of > the time is automatically inserted. > - Finally, buried at the bottom of the generic text is more or less a > single line: > "You didn't want to use 'Foo::bar(), you wanted Bar::foo(); RTFM!" > > A better way to handle it would be more along the lines of: > - Oops, you made a mistake > - Bug Type: Bug => Documentation Request > - An emphasis on "Thanks for contributing, you aren't quite right in > this case. We will however take a look at *why* this is confusing / > easily misunderstood." > > The ways the issue tracker could support this is: > - Automatically start replies with the submitter's first name > - Provide a rating for bug report or bug comment quality (And the > ability to notice things like: "Hey, this guy has submitted 5 high > quality bugs recently!" or "Helgi is always quick to help when > triaging a bug, and politely pointing users to the right bit of > manual") > - Having pictures / Putting faces to names > - An easy way to lodge a *new documentation/change request* based on > a *wontfix bug* (but limited to triagers/people who do contribute). > > > What I've seen which works well (or at least does for me): > The two things I love about how Trac works that I find greatly useful: > - put a bug number into a search box, and there you go > - type a changeset or other bug number, and that's a link > > Another example of a really great issue/bug community is BMO or > Songbird's bugzilla > This is partly because: > - There are clear rules: don't clutter up the bug report with noise, > avoid dupes, etc. > - The sheer abundance of bugs in BMO mean you can usually find a useful answer > - The review process for code happens in the same bug for BMO - the > submitter knows *when* their issue is being fixed and can actually > participate in testing it > > > What kind of user am I? > - I'm a minor PEAR contributor > - I like to do bug triage / help fix people's problems > - I nag, hassle, prod and poke other PEAR contributors at times, > mostly when its not my place (and I constantly feel guilty!) > - At work, I do: branch management, quality assurance (write unit > tests, test scenarios), code review (why did you do it that way! OH > NOW I SEE), general support (oh oh, XYZ is complaining that the > FooBarulator is broken, lodge a useful ticket quickly), bug triage > ("That sounds too hard, let's put it in the far off misty future"). You forgot the defacto trash bin, aka feature requests. :-) I agree on the option to provide searches (orphaned bugs, etc. pp.) so maybe QA can address patches sooner. But do you honestly think a piece of software can solve those other scenarios? The behavior outlined in the first part are time management issues of the developer/maintainer (e.g. I don't have time to maintain but I forget to tell "the community" or I don't have time, but I don't want to let anyone down ;-)), the second issue sounds like an education issue to extend the social skills of those involved. Some people are nice enough to transfer the info into the docs and a button is certainly helpful to them. Some people will blog about it, others will tell you to go away. ;-) So I guess other people need to step up in this case and say, "no we can't handle a problem like that" and do it right. Now, I am very curious to see whatever comes up with the "one bugtracker to rule them all" project (that's a pretty cool title, I wish I thought of that ;-)), but some of the things you describe won't be fixed with new software (IMHO :-)). Cheers, Till

« previous php.pear.dev (#50180) next »