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 |