[2.11.x Backport] Remove CODEOWNERS (#10301) #10335
Merged
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.
Per our team meeting yesterday, I'm removing CODEOWNERS.
GitHub's CODEOWNERS model focuses on the activity of code review: the idea is that each part of the codebase has a limited group of engineers who understand it (the "owners"), and PRs must be reviewed by engineers who will understand the changes. If a part of the code only has one owner, it can't be reviewed because there's no second person (the reviewer) who could understand the changes and vet them. Either a second person must learn the code, or the PR should be merged unreviewed—an honest reflection of reality. This makes sense if you believe the purpose of code review is to catch bugs, more or less.
The model we want focuses on knowledge of the code itself: each part of the codebase has a limited group of engineers whose job is to explain that code to others when needed (the "owners"). Within that group, someone should know about each change being made, and just in case that person's not available, there should be a second person who understands the change for redundancy. As the second person is a backup, they don't need to be an owner (though it's preferred if they are)—this allows portions of the codebase to exist with single owners and ensures their knowledge exists in others around the company. Catching bugs, while good, is not the goal or expectation (we aim to do this with tests). The purpose of code review is preservation of context within the company.
We'll look for a system that implements the latter model, but for now, we hope that this will spread understanding of the codebase and help us move faster. It is important that where complex sections have a de-facto owner who's built an understanding of the code (e.g. @bbonenfant and the python SDK, or @brycemcanally and much PFS code), they be included in code reviews they didn't author, to keep their understanding as fresh as possible.
Conflicts:
.github/CODEOWNERS