Hi Bob, thanks for this. Yes, this is the right place for process feedback. I’m sorry you didn’t have a great experience this week. I really find nothing to disagree with in your proposal, so all I have to offer is a plea for some grace when things get tough.
For some tickets, when the change in direction is relatively straightforward, the maintainer could simply rewrite the description him- or herself. For other situations, it might be more appropriate to add a comment indicating that the issue cannot be approved as stated, but a similar issue could be, provided that appropriate modifications were made to the statement of the problem and/or the acceptance criteria, leaving the work of rewriting to the submitter of the ticket (or some other contributor).
I think if you look at other tickets, you’ll find this is largely what we do. To summarize, what happened this week, was that we had a first triage decision of “needsinfo” and then eventually a second triage decision with tentative language:
I’m not sure what this should do but I agree this is confusing and requires more investigation.
This shows significant uncertainty. There’s smoke, but I don’t know if the fire is here or there. It’s difficult to update the description of the ticket at this point when there’s this much uncertainty: perhaps, “See note about uncertainty in comment:6”? I do expect contributors to at least read the triage decision for caveats. So I would politely push back against the assertion that the triager knew that the issue was somehow separate or located elsewhere but just chose not to update the information in all places. It’s hard to make authoritative statements in the face of uncertainty, and all we can ask for is some grace.
When I noticed significant effort being put toward the PR, I dropped what I was doing to investigate, because I wanted to limit as much further frustration as possible. I confirmed the suspicions of the last triager, and tried to add clarity around that triage decision with the benefit of the additional investigation I had invested. At that point, the conversation was split between Trac and GitHub, so I just replied on both those channels. The moment for updating the body of the ticket had passed, or so it felt – but I take your point that I should still update the body of the ticket to help the next contributor. It’s been a busy week, but I’ll do that today. I hope that explains why I took the actions I did.
I don’t believe the project is well-served by requiring that contributors mentally assemble the actual requirements for a ticket’s solution by assessing all the comments on the ticket and determining what the actual requirements are.
This sounds attractive, but I’m not sure how to guarantee it. Doubts can emerge even after PRs are raised. A recent example is a long thread eventually leading to no consensus after multiple PRs proposing to change the decimal separator for the Swiss locale. “Assessing all the comments on the ticket and determining what the actual requirements are” was precisely the work needed. Call it triage, call it contributing, call it what you want, but it’s what that ticket needed, and we needed the help of volunteers to bring it to a resolution.
Finally, I think I do want to encourage contributors to digest all the comments on a ticket. Sarah Boyce’s advice to new contributors is to avoid tickets with loads of comments for precisely that reason: it’s a better fit for more experienced contributors willing to cope with more uncertainty. I also have to study the entire ticket thread myself before offering feedback. This means all of us have a corresponding duty to make points as concisely as we can to avoid creating burdens on others.
Thanks again for volunteering your time and talent toward helping other Django users. It’s much appreciated. Giving feedback to others in public is a precious commodity around here, and it’s to be celebrated and recognized when it happens.
With appreciation, Jacob