What are the GitHub issues for?
- The main purpose of GitHub issues is to maintain a public product backlog. These issues are labeled with either the bug 🐛, or new feature, or enhancement label.
- This backlog can be fed by the community, actually, most of it comes from the community.
- About ~1% of the developers open issues on it but express out loud what many others think/experience. It can be used by developers to receive support, but it’s not the primary purpose.
- Not all the pains are worth fixing (so close the GitHub issues you feel are overkill) nor do the GitHub issues collect all the pains (so stay attentive to friction points).
KPIs
Keeping the number of open issues low can help, but the primary goal is to make sure this backlog of pains is clearly structured.
- 0 open and closed issues with the status: waiting for maintainer label.
- duplicate issues are correctly linked as duplicates and closed.
- 0 open or closed issues without labels.
- issues hold a single problem as much as possible. If an issue covers multiple problems, it's encouraged to split it.
RFCs
We use RFCs in two situations:
- We have an existing GitHub issue that dives into all the different angles of a hard problem to solve. We have considered a lot of different options but we are stuck on getting clarity on the right way to move forward. To unlock the situation we create an RFC.
- You have a small problem to solve, you feel that going through an extended options exploration process is overkill.
Once you know that an RFC is a way to move forward, open one https://github.com/mui/material-ui/issues/new?assignees=&labels=RFC&template=3.rfc.yml&title=[RFC]+.
<aside>
💡 If your idea isn’t mature enough to be formalized as a proper RFC, you can open an “Early feedback” discussion https://github.com/mui/material-ui/discussions/categories.
</aside>
<aside>
💡 If the matter can’t be public on GitHub (what we default to) or is not code/product related (optionally public), then we reproduce the exact same process on Notion, with ‣ and ‣.
</aside>
Who’s involved in the GitHub issues?