|
2 | 2 |
|
3 | 3 | The [issue tracker][issues] for hyper is where we track all features, bugs, and discuss proposals.
|
4 | 4 |
|
| 5 | +## Triaging |
| 6 | + |
| 7 | +Once an issue has been opened, it is normal for there to be discussion |
| 8 | +around it. Some contributors may have differing opinions about the issue, |
| 9 | +including whether the behavior being seen is a bug or a feature. This |
| 10 | +discussion is part of the process and should be kept focused, helpful, and |
| 11 | +professional. |
| 12 | + |
| 13 | +The objective of helping with triaging issues is to help reduce the issue |
| 14 | +backlog and keep the issue tracker healthy, while enabling newcomers another |
| 15 | +meaningful way to get engaged and contribute. |
| 16 | + |
| 17 | +### Acknowledge |
| 18 | + |
| 19 | +Acknowledge the human. This is meant actively, such as giving a welcome, or |
| 20 | +thanks for a detailed report, or any other greeting that makes the person feel |
| 21 | +that their contribution (issues are contributions!) is valued. It also is meant |
| 22 | +to be internalized, and be sure to always [treat the person kindly][COC] |
| 23 | +throughout the rest of the steps of triaging. |
| 24 | + |
| 25 | +### Ask for more info |
| 26 | + |
| 27 | +Frequently, we need more information than was originally provided to fully |
| 28 | +evaluate an issue. |
| 29 | + |
| 30 | +If it is a bug report, ask follow up questions that help us get a [minimum |
| 31 | +reproducible example][MRE]. This may take several round-trip questions. Once |
| 32 | +all the details are gathered, it may be helpful to edit the original issue text |
| 33 | +to include them all. |
| 34 | + |
| 35 | +### Categorize |
| 36 | + |
| 37 | +Once enough information has been gathererd, the issue should be categorized |
| 38 | +with [labels][#labels]. Ideally, most issues should be labelled with an area, |
| 39 | +effort, and severity. An issue _can_ have multiple areas, pick what fits. There |
| 40 | +should be only one severity, and the descriptions of each should help to pick |
| 41 | +the right one. The hardest label to select is "effort". If after reading the |
| 42 | +descriptions of each effort level, you're still unsure, you can ping a |
| 43 | +maintainer to pick one. |
| 44 | + |
| 45 | +### Adjust the title |
| 46 | + |
| 47 | +An optional step when triaging is to adjust the title once more information is |
| 48 | +known. Sometimes an issue starts as a question, and through discussion, it |
| 49 | +turns out to be a feature request, or a bug report. In those cases, the title |
| 50 | +should be changed from a question, and the title should be a succict action to |
| 51 | +be taken. For example, a question about an non-existant configuration option |
| 52 | +may be reworded to "Add option to Client to do Zed". |
| 53 | + |
| 54 | +### Mentoring |
| 55 | + |
| 56 | +The last part of triaging is to try to make the issue a learning experience. |
| 57 | +After a discussion with the reporter, it would be good to ask if they are now |
| 58 | +interested in submitting the change described in the issue. |
| 59 | + |
| 60 | +Otherwise, it would be best to leave the issue with a series of steps for |
| 61 | +anyone else to try to write the change. That could be pointing out that a |
| 62 | +design proposal is needed, addressing certain points. Or, if the required |
| 63 | +changes are mostly know, a list of links to modules and functions where code |
| 64 | +needs to be changed, and to what. That way we mentor newcomers to become |
| 65 | +successful contributors of new [pull requests][PRs]. |
| 66 | + |
5 | 67 | ## Labels
|
6 | 68 |
|
7 | 69 | Issues are organized with a set of labels. Most labels follow a system of being prefixed by a "type".
|
@@ -47,3 +109,5 @@ The severity marks how _severe_ the issue is. Note this isn't "importance" or "p
|
47 | 109 | - **S-refactor**: improve internal code to help readability and maintenance.
|
48 | 110 |
|
49 | 111 | [issues]: https://github.com/hyperium/hyper/issues
|
| 112 | +[COC]: ./CODE_OF_CONDUCT.md |
| 113 | +[PRs]: ./PULL_REQUESTS.md |
0 commit comments