Skip to content

Add "difficulty" field to tickets

I propose to add a new field to tickets to indicate the difficulty of fixing a bug. This for three purposes:

  • The priority of the bug can be affected by the difficulty, thus making the difficulty visible as a field can be handy to set/affect the priority accordingly, example: #15579 (closed)##15640
  • Can be welcoming to newcomers who want to contribute to GHC to start with tickets with low priority. The new field should be searchable so they can get a list of all tickets with low difficulty
  • Can make work on GHC more efficient by doing more high-priority / low-difficulty bugs. This plays into pareto principle - 80/20 rule

As for the actual levels, "easy" or "hard" is subjective. So i think it's a good idea to have levels according to some experience level somebody should have. I can imagine some bugs can only be squashed by a few or even one person, while others can be jumped on by people who have decent haskell experience (given they want to read the background of setting up GHC dev and such).

One could then argue that this field should then be named "skill level needed", but i like difficulty more :) And this also allows for situations where the bug can be fixed only by a few people who are really knowledgeable about the matter but still find a need for different gradients of difficulty level.

Maybe something like:

  • Very easy - new to haskell
  • Easy - need haskell experience
  • Medium - need a lot of haskell experience
  • Hard - need experience with GHC dev
  • Very Hard - as before + profiling/debugging tools + system knowledge
  • Very Hard - as before + specific compiling techniques
  • Very Hard - as before + need C skills (for RTS)
  • ..

I'm not sure how and who can change the Trac settings, but the procedure for this is described on this page: https://trac.edgewall.org/wiki/TracTicketsCustomFields

Trac metadata
Trac field Value
Version
Type FeatureRequest
TypeOfFailure OtherFailure
Priority normal
Resolution Unresolved
Component Trac & Git
Test case
Differential revisions
BlockedBy
Related
Blocking
CC
Operating system
Architecture
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information