One bit of friction I tend to get with those that are in favour of Trac is that it supports community triage and that we hold this as an important thing to safeguard.
So I went into a rabbit hole a bit.
I wanted to answer the question: How much community triage is there in reality, and is it really a good thing?
I got a CSV of the last 1K tickets from Trac. 1K turned out to be a great number because it’s just over a year’s worth of tickets, so it should serve as a good pulse check for where things are in the last year or so. I then ran some analysis on the tickets to figure out who triaged the ticket. I won’t go into details but I can put the code up somewhere if anyone is interested. I made a list of teams and put people into them. Anyone not in a team was put into the “Community” category. I then went through the tickets that were triaged by the community to see how well that went.
For team composition, some people are in multiple teams so I chose one in the following priority order:
- Fellows
- Former fellows
- T&R team
- Any other teams on the teams page
- Anything else (only the board ended up here)
Carlton and Mariusz are in the T&R team, but Mariusz was still a fellow for some of this period. So the T&R team should be a bit higher and former fellows a bit lower, but I didn’t want to put a ton of time into it. Another thing of note is that the SC is the new SC, not the one that existed for most of the period. But the only previous members of the SC to triage anything were also in other teams.
The results:
Team |
Tickets triaged |
Percentage |
Total |
1000 |
100 |
Fellows |
479 |
47.9 |
Former fellows |
268 |
26.8 |
Triage & Review |
166 |
16.6 |
Community (no team) |
39 |
3.9 |
Mergers |
28 |
2.8 |
Untriaged |
7 |
0.7 |
Accessibility |
6 |
0.6 |
Ops |
3 |
0.3 |
Security |
2 |
0.2 |
Steering Council |
1 |
0.1 |
Board |
1 |
0.1 |
So I dug into the 39 from the community.
Fully 15 of these were people closing their own tickets after realising they got it wrong. This is great, but it isn’t community triage, and this can be done on other non-Trac systems.
4 of these were people incorrectly accepting their own ticket.
1 was accepted by the PR author after the ticket was made by a fellow. Fine, but not community triage either.
Another accepted their own ticket based on an accepted DEP, which is technically against the rules I suppose, but probably fine here, but still not community triage.
So 18 of the 39 don’t really count.
Of the 21 left that I would count:
5 were incorrectly triaged and needed someone else to step in and fix it.
3 hit an edge case with my code where the ticket was closed by someone from the T&R team, then incorrectly re-opened by someone else.
So out of the 1000 tickets, only 13 were correctly triaged by the community.
Of these, quite a handful were people accepting a ticket while assigning themselves. Which is probably fine, but I’m not sure it feels like what community triage is aiming for if you only triage things you want to also fix yourself.
Either way, we end up at a maximum of 1.3% well-handled community triage over the last year. I’m not sure that seems to be worth holding onto at all costs.
You might say that I am deflating the numbers here by including the T&R team since they were picked exactly they were doing this already. I’m not sure this is exactly the case though. I don’t think any of those people were chosen purely on their triage abilities. I think they were mostly picked for their review abilities. I say this because many of the T&R team don’t show up doing any triage at all, but every single one of them reviews PRs and I believe they’ve all made their own code contributions as well. So I’d be very happy to expend the team to more people, but I’m not sure we really need to allow everyone to triage.