When an external contributor works on a PR, this is the current process:
Contributor and reviewers work together on a PR.
Codeowner approves PR.
Collector approver adds "Ready to merge" label.
Collector maintainers go over PRs with the "Ready to merge" label and merge them or remove the label if a new conflict has appeared.
A symptom of this process is that code owners lack the independence to unblock community contributions. Collector approvers/maintainers are a smaller group than component code owners but have more responsibilities within the OpenTelemetry community.
Since the group of people with merge rights is small and we have a multi-layer process to let maintainers know when things should be merged, it's pretty common that PRs that are ready stay open for weeks or even months without people realizing that it's ready to merge.
This leads to a bad experience for multiple parties:
Contributor - who has to maintain an open PR for too long, often resolving merge conflicts several times and having to "hunt" approvers and maintainers.
Code owners - who feel impotent in helping the contributor besides pinging people over GitHub/Slack.
Approvers/Maintainers - who are the busiest people and are constantly pinged with "please merge my PR" only to find a merge conflict.
Suggested Improvements
The blame doesn't lie with any particular individual; everyone is doing what they were supposed to do. The poor contributor experience here is a symptom of a vertical hierarchy. The solution is to give more power to the lower levels (code owners) and free maintainers to do more relevant work.
Things we could do:
Empower code owners to merge PRs related to their components.
or
Empower collector approvers to merge PRs.
or
Automate the addition of the "Ready to merge" label so we can speed up the process by removing one step.
How
This is what I'd like to discuss with the community 🙂
To what degree of freedom are the maintainers happy to give code owners?
What kind of automation needs to be built to unblock the freedom we're discussing?
Problem statement
When an external contributor works on a PR, this is the current process:
A symptom of this process is that code owners lack the independence to unblock community contributions. Collector approvers/maintainers are a smaller group than component code owners but have more responsibilities within the OpenTelemetry community.
Since the group of people with merge rights is small and we have a multi-layer process to let maintainers know when things should be merged, it's pretty common that PRs that are ready stay open for weeks or even months without people realizing that it's ready to merge.
This leads to a bad experience for multiple parties:
Suggested Improvements
The blame doesn't lie with any particular individual; everyone is doing what they were supposed to do. The poor contributor experience here is a symptom of a vertical hierarchy. The solution is to give more power to the lower levels (code owners) and free maintainers to do more relevant work.
Things we could do:
How
This is what I'd like to discuss with the community 🙂
To what degree of freedom are the maintainers happy to give code owners? What kind of automation needs to be built to unblock the freedom we're discussing?