Bug management for inkscape/inkscape

Patrick Storz <[email protected]> Mon, 18 Feb 2019 20:27:26 +0100
Newsgroups gmane.comp.graphics.inkscape.devel
Message-ID <[email protected]>
Hi all,

it seems the message of our move of issue tracking to GitLab is slowly 
spreading and we're seeing a steady flow of new reports in our 
inkscape/inkscape issue tracker on Gitlab 
(https://gitlab.com/inkscape/inkscape/issues).

As most of us had the opportunity to get some first-hand experience with 
the new issue tracking by now and with the amount of bugs still being 
manageable, it seems to be a good time to discuss and decide on some 
guidelines for this tracker, so we can make most efficient use of it.

Having worked with the tracker fo some time here's my list of items (in 
no particular order) that I feel need attention. Please add to it as 
needed and most importantly discuss, so we can find solutions that work 
well for all of us. (We can obviously break individual topics out into 
GitLab issues eventually, once we have set a rough direction).

  * *Milestones:*
    On Launchpad (LP) we used Milestones for targeting bugs (only
    occasionally, though) but more importantly for tracking in which
    release a fix landed. The latter seems of particular importance, as
    release notes rely on it heavily.
    I suggest to continue this practice and expand it to merge requests.
    However this requires us all to make sure to actually set milestones
    properly. Currently we often just close bugs without giving it
    further thought (GitLab even does that automatically for us if a
    suitable commit message is used), which would make it almost
    impossible to keep track of the issues fixed in a particular
    release. Even more so for MRs...

  * *Importance:*
    I feel that we need some mechanism to prioritize bugs. What is your
    take on creating a set of prioritized labels of the form
    "Importance: High" to replace LPs importance field?
    I propose to use "Critical -> High -> Medium -> Low". Even above
    critical I'd put the already existing label "Blocker". At the end of
    the list I'd rank "Feature request". Does this sound reasonable? Or
    is it too fine grained? Is handling "Blocker" and "Feature request"
    as additional importance labels fine or should they be separate?

  * *Labels:
    *
      o A general question is what labels we want to apply and how many
        there should be. I'm a bit torn here, as a short list makes it
        easier to keep track of the existing labels and avoids similar
        issues being tagged differently, especially if there are
        multiple similar choices or one tag is a sub/superset of
        another. A longer list would help us categorize issues better
        though. (For example: Do we want a tag for every packaging
        option we have, e.g. AppImage, Flatpak, msi, exe, Windows Store,
        ...? Do we want a tag for every Linux distribution or just a
        single "Linux" tag?).
      o Another question is if we want to categorize them (e.g.
        "OS/Linux", "OS/Windows", "OS/Mac") or if we strip the
        category?  The former ensures similar tags are sorted together
        (otherwise they're sorted alphabetically) and *if* one remembers
        the category name it makes it easy to get all relevant tags by
        simply typing "OS", but then again tagging with just "Windows"
        seems more natural and the category might add noise. Also it
        obviously requires some thought in order to create useful
        categories (in contrast to just applying "random" tags that fit
        and creating new ones on-the-fly). As I'm somebody who likes
        order I tend to prefer categorization, but this is something I'd
        like your opinion on. (Important note: The search is clever
        enough to give you "OS/Windows" if you search for "win").

  * *Status
    *On LP we had a detailed status field (new, confirmed, triaged, in
    progress, fix commited, fix released - also: incomplete, opinion,
    invalid, won't fix). Which of those do we want to replicate in
    GitLab (and how?). We could obviously create a label for each of
    them, but I have a feeling without a dedicated field it'd not be
    used consistently.
    One idea:
      o "new/confirmed" should be covered by "inkscape/inkscape" vs
        "inkscape/inbox". Only confirmed issues should ever end up in
        "inkscape/inkscape" (everything else should be confirmed or
        moved to the inbox for triaging).
      o "triaged" would be replaced by the presence (or absence) of an
        "Importance:" label should we choose to use them.
      o "in progress": We already have a corresponding label and could
        use it. Alternatively we could define that all assigned bugs are
        "in progress" (i.e. only assign bugs if the assignee is going to
        work on them eventually; un-assign otherwise)
      o "fix commited/fix released": I don't know how to replicate this
        reasonably. Is it even required?
      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")
      o "opinion": should never exist in "inkscape/inkscape"
      o "invalid": Do we need a label? Or shall we just close in this
        case and forget about it?
      o "won't fix": should usually not make it into "inkscape/inkscape"
        - do we want a label or shall we just close (i.e. same question
        as as for invalid?)

  * *Assignee*
    As suggested above we could use the assignee field to put devs who
    are going to work on an issue eventually (i.e. indicate "this issue
    is being looked into / will be looked into shortly").
    Alternatively we could use it to indicate devs who are likely to be
    able to fix the issue and are most suited for detailed triaging and
    further investigation (i.e. indicate "we know somebody who might be
    able to help, please wait until they find the time to check"). This
    could be used to distribute and direct the workload a bit. However
    we can likely do that with simple @mentioning?


Sorry for the long text (I hope you all read up to this ;-)), it 
certainly got longer than intended... I'm looking forward to your 
opinions, though!

Cheers
Patrick

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