[DRAFT] Maintainer Deferral Policy #503
Draft
+20
−0
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Overview
Adds a deferral policy to maintainer policy to let maintainers do partial reviews of specific segments of a PR relevant to their expertise.
This is to hopefully cut down on the workload of some maintainers and streamline review processes for large technical and blocking PRs such that those with expertise don't have to dedicate an entire review to these PRs.
Why
There's a lot of reasons why genuinely.
This is already kind of a soft policy but it doesn't work very well since it's not organized and extremely taxing. We have PRs we call "Sloth PRs" PRs only Slarti can review, PRs technical enough we need a wizard or lead maintainer to review them and right now the system of pinging and review begging doesn't work.
Stuff slips through the cracks, things get left behind, work piles up and eventually things get merged without proper review because that's the only option and all you can do is hope that it works based on the research, review, and testing you've done.
This Policy change aims to optimize and streamline a big undocumented part of the review process and limit it to hopefully make it go by faster.
This policy aims to do this by:
Defining when a review should be deferred to another maintainer (Aka for important blocking PRs, important bugfixes, and otherwise unnamed important PRs such as experimental tags and in game feedback).
Better organizing deferring so things don't get lost, by defining a deferred review a maintainer can know and should expect that what's being asked of them is important enough to another maintainer to not be just another review.
Limiting the scope of deferrals so maintainers with a lot of codebase knowledge aren't overwhelmed. This is mostly for Slarti and PJB who have a lot of work already so that they can give their feedback and approval on a PR without having to leave a full review and have the expectations and oversight that comes with a full review.
Facilitate learning. Deferred reviews also give an opportunity to teach and learn about parts of the codebase. Since you're no longer asking a maintainer to simply do the review for you but instead look at problem parts of code, it gives opportunity to share knowledge about the codebase and code in general that can improve code quality and review going forward.