I don't enjoy reviewing and merging PRs. And every time I do, I feel
like a sucker, because there are over a few dozen committers who are
enjoying the project and not doing the work. (There is a small group
of committers who regularly review and merge PRs. I don't know how
they feel about the task, but I am immensely grateful.)

I think I would review more PRs if I saw others doing the same.

Can we figure out a fairer way to distribute the load? For release
managers (approximately the same amount of work, but compressed into a
few hours or days) we have successfully run a rota for several years.
Could we do something similar with PRs?

I propose the following. For each calendar month, there is a PR
manager and 6 - 8 reviewers. The PR manager does not review PRs, but
assigns them to reviewers, and politely reminds reviews to keep the PR
moving.

The PR manager's goals are:
 * every non-draft PR is reviewed within 3 days of submission,
 * every PR is merged within 3 days of being done;
 * rotate duties so that no reviewer is asked to review more than 4
PRs per month;
 * email a report at the end of the month;
 * work down the backlog of historic PRs if it's a slow month.

The PR manager rotates every month. The reviewers can rotate if they
wish, but I suspect most will stay in the pool for several months,
because the reviewing load is not very heavy, and because they see
others doing the work.

Other notes:
 * Non-committers would be welcome to join the pool of reviews (and
that would be a good way to earn the committer bit) and a committer
could merge when the PR is approved.
 * If committers join the pool, that's a good way to earn PMC membership.
 * Committers who are not in the pool are welcome to review PRs and
assign PRs to themselves (but expect to be nagged by the PR manager if
you don't review in a timely manner).

What do you think? Would you join this scheme if we introduced it? If
you agree please +1; also happy to see revisions to this suggestion or
other ideas to share the work.

Julian

Reply via email to