Versioning in bugzilla

VERSION 2.0!

Given:

  1. The bugsquad does not have the number of people required to retriage every bug every 6 months to decide whether the 2.3 bugs are applicable to 2.4
  2. Most developers don't care about if the bugsquad version is even or odd, anyway
  3. The even and odd distinction is mostly duplication from other fields, including "Enhancement" and "string, usability, ui-review" keywords

It can be concluded that:

  1. We suck.
  2. Or that GNOMEVER-style versioning is fairly broken.

Requirements of a short-term versioning solution:

(Note that in the long term, we might need something terrifically complicated, especially since Sun/Ximian/etc. need to support versions much older than the community. This is not doable in the near timeframe.)
  1. To know the last version a bug was reported in.
    (The community works on 1 branch primarily, so all bugs reported against 2.3/4 are applicable to the 2.4-stabilisation and the 2.5-development cycles. Older versions need to be individually triaged by Your Friendly Bug Squad, although especially in smaller modules developers are known to fix them regardless of their version.)
  2. To know if we need to get this in before freezes.
    (ie. keywords.)
  3. To know if this is a Big Bad Bug (ie. regression from previous stable)
  4. Others?

Implementation

Implementation is going to be custom fields, since that's the tool we have available. It's quite well suited for the task, and the work is there in bugzilla-new.

Implementation details

This is the controversial (?) bit.

The GNOME Version field should have the following values:
A lot of the setting of this can be nicified in the submit process: the submit bug pages need to be rewritten in bugzilla-new: I am working on this. "Unversioned enhancement" is a particularly ugly hack, but imho needed to clarify the understanding that enhancements don't get versioned. Otherwise they go out of date and people get confused.

This fixes requirement 1. Requirement 2 is handled by keywords. Requirement 3 can easily be handled by utilising a "regression" keyword, as "1.x-parity" was meant to be used for in the pre-2.0 days. Hopefully the number of bugs with this keyword will be few enough that a small group of people (*cough* r-t *cough*) can track them and stick them on milestones.

The notable difference to GNOMEVER is that development and stable cycles are merged together. Rationale:

Notes

Renaming custom field values is ugly and should be avoided if possible.