Re: Bug management for inkscape/inkscape

Patrick Storz <[email protected]> Tue, 19 Feb 2019 05:14:44 +0100
Newsgroups gmane.comp.graphics.inkscape.devel
Message-ID <[email protected]>
Am 19.02.2019 um 01:25 schrieb Bryce Harrington:
> Some additional bug management questions needing decided are included in
> this infra bug report:
>
>    https://gitlab.com/inkscape/infra/services/issues/4

Thanks, I missed that one. I added some thougts.


> [Milestones]
>
> I'm a little unsure of how much we are going to be able to rely on
> people remembering to do this, though.  Are there other ideas for how we
> could either enforce it, or implement something that'd do it
> mechanically for us?

Well not any more or less than we could before... Milestones were 
manually set on LP, too.

I hope we can count on everybody to be at least as disciplined. On 
GitLab it should be even easier, as one does not need special 
permissions to set milestones (only the Inkscape Bug Team could on LP), 
so all developers can add them.

If there's an automated way that would obviously be great, but as GitLab 
does not differentiate between "closed/fixed" and "closed/invalid" it 
might be hard to get right.


> [Importance]
>
> "Blocker" should not be used here; it's more something that should be
> reserved for the discretion of the release management team.  It
> shouldn't be designatable by reporters or bug triagers.

Sorry, I didn't explain well enough:
In my suggestion there are only four "official" importance labels 
(Critical / High / Medium / Low).

However GitLab has a concept of "label priority" [1] that can be used 
for sorting. I simply suggested that "Blocker" would always 
automatically bet sorted to the top (above "critical") and "Feature 
requests" (if we want them) to the bottom (below "low") of the list.

[1] https://docs.gitlab.com/ee/user/project/labels.html#label-priority

> Every bug is of utmost importance to whomever reports it, and so it's
> natural to want your ticket to move to the head of the queue.  Having a
> "Blocker" state settable by bug reporters is awfully tempting to achieve
> this.

On GitLab you need at least "Reporter" rights to add labels to an issue. 
Regular users could not tamper with the priority of their reports. This 
is something I'd reserve for established bug wranglers and developers 
themselves.

> My guess is that developers care less about the importance level
> assigned to a bug (unless its marked Critical), and more about if the
> issue is a recent regression, or is against the section of code they've
> been focusing on lately, or has an active user to engage with, or needs
> an urgent fix.

Yes, however it helps bug wranglers a lot if bugs are assigned a 
priority, it's useful in the release process and for writing the release 
notes, and it simplifies searching the tracker. The importance gives me 
quick hints on what to expect and if I'm looking through the tracker 
searching for a certain class of crash issues, I can exclude 
"medium/low" importance bugs from my search.

Also I do not agree that developers do not care about the importance 
level. After all we are *tracking* bugs in order to fix them, and that 
does not only include regressions and code we've worked on recently.

> I'm not sure labels are effective for tracking any of those,

Well, obviously they don't track code experience of individual 
developers or whom they communicate with currently, but apart from that 
they are great to measure the severity of a bug (the bug team did a 
great job defining priorities, see 
https://inkscape.org/develop/bug-management/#Bug_importance). If we 
worked them off from top to bottom, we certainly would use our resources 
efficiently. ;-)

> For Feature Requests we have this break out bug for reaching a decision:
>
>    https://gitlab.com/inkscape/infra/services/issues/22
>
>  From past discussions I've gathered the consensus is to hold feature
> requests separately from actual bugs.

That's mainly because everybody remembers the uncurated list of 
"Wishlist" items from Launchpad. We obviously don't want that.

A well-written feature request on the other hand, that has been fully 
discussed and defined (i.e. all parties agree on *what* feature to 
implement and more importantly on *how* to implement it) and is 
therefore ready for implementation has actual value. We don't want those 
lost among the flood of Wishlist-like requests we undoubtedly will amass 
in the inbox.

If you look at the current list of feature requests [2] (yes, we already 
have some...) most of them are actionable items that just need a 
developer. They're certainly too technical to go into inkscape/inbox and 
would be lost there.
It's also a nice example for the "Help wanted" scheme that came up in a 
branch of this e-mail thread: While we won't implement certain features 
ourselves, we can clarify that they'd be appreciated if somebody would 
do the heavy lifting for us!
You'll additionally notice that one of the feature requests was actually 
filed by me - it's a project I'd like to work on in future and I filed 
it in our issue tracker to keep track of it and give others the 
possibility to comment if they have something to contribute. Where else 
should I've gone with this? I feel the issue tracker is the logical place...

[2] 
https://gitlab.com/inkscape/inkscape/issues?label_name%5B%5D=feature+request


> "Feature requests" actually comprise a spectrum from highly detailed
> development plans, down to off-the-cuff random ideas and suggestions.
> Part of what needs decided is what slice(s) of that spectrum we wish to
> track, and where we want to track them.

Per the above, I think:

  * highly detailed development plans should go into inkscape/inkscape
  * off-the-cuff random ideas and suggestions go into inkscape/inbox. If
    they have a lot of supporters (or our bug wranglers indentify them
    as valuable), they're discussed, the development goal is clearly
    defined and then they're moved/re-filed into inkscape/inkscape.

> My guess is if we allow some feature requests to commingle with the
> bugs, it will be hard to judge what should and shouldn't be included,
> so we could end up with a lot more piled into the tracker than we want.
> "Only Actual Bugs in the Issue Tracker" is a clear distinction that will
> be easier to control, I think.  But I think we do need someplace for
> them to end up.

Well, while it would be clear distinction, you posed the crucial 
question yourself: Where do actionable feature requests go? 
inkscape/inbox certainly isn't the place where we'll be able to 
efficiently work with them. Yet another tracker? Seems awfully redundant 
(we still have to see if the inbox plays out...). I think as long as we 
apply some common sense as to what feature requests we keep and which we 
move to inkscape/inbox this could be a totally workable solution until 
somebody can come up with something better.


>>       o "incomplete": We have "Need info" but such bugs should usually
>>         not be kept in "inkscape/inkscape" for extended periods of time
>>         (if the info is not given, close or move back to "inbox")
> Yes, agreed in general.
>
> However, there are many situations where the bug is pretty well defined,
> and easily reproducible, but there still isn't enough info for the
> developer to work on it.  E.g. they may need the user to run a special
> build, or test out a diagnostic patch, or something.

Well at that point the bug can be considered confirmed and the developer 
is free to communicate with users in the issue however they want. "Need 
info" is only meant for bugs that need more info to be confirmed and/or 
replicated (i.e. such bugs that are actually not supposed to be in 
inkscape/inkscape). However we have people filing directly into 
inkscape/inkscape and I realize moving an issue that looks valid but 
could not yet be fully confirmed to inbox, only to move it back a day 
later is useless, so this is sort of a concession towards those users. 
If they don't provide the information we can still move it after a week 
or so.


> Where do you think we should document these bug management guidelines?
> A file in the inkscape/doc directory?  Or wiki?

Basically that's https://inkscape.org/develop/bug-management/

For everything else I'd usually suggest the (Media)Wiki.

However in this particular case I'd actually consider using a GitLab 
Wiki page as it gives use some nice features like directly linking 
labels by just writing "~labelname" in the Markdown, which will produce 
the visual representation of that label linked to the corresponding 
search page in the issue tracker (we could obviously emulate such 
functionality on the website, but it would mean unnecessary additional 
effort). Also having the tracker documentation alongside the tracker 
itself seems to make some sense...

Cheers,
Patrick

_______________________________________________
Inkscape-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/inkscape-devel