After the latest changes in the merging process, it seems that the main problem we are facing is that some maintainers/developers are not meeting their review / assignee obligations while not being MIA.
This is creating a worse-than-linear loss of time for the authors of PR, and IMO requires action in order to restore fairness.
Incentives in an open system are a very hard problem, so I can't support a concrete action plan yet. A typical incentive scheme leading to an equilibrium under reasonable assumptions would be that developer X should have met their review obligations before his own PRs can get reviewed / merged.
For example, following this scheme the merge script could check the number of reviews pending and emit a warning if X has pending reviews for more than 2 weeks. Of course this warning would be overridable.
While I'm willing to look at a solution to this issue, I don't agree with the example solution proposed. I would first start by considering to have @coqbot ping people when an action from them is warranted. As for incentivizing, this is a difficult question:
Thanks for the thoughts @Zimmi48, a couple of comments:
I think tools could provide a list of PRs with no review ranked by how long they have been waiting. The whole point is to replace (temporarily one hopes) the inactive people, not to make them even more inactive.
This is also why I don't think trading reviews for merges can be named incentive, it looks more like a punishment (it is not something extra, that is what an incentive is). Punishing someone that has no time/motivation today is a very effective way to avoid he becomes active tomorrow.
it seems that the main problem we are facing is that some maintainers/developers are not meeting their review / assignee obligations while not being MIA.
Are they really less MIA on their own PRs than on reviews?
Are they really less MIA
I mentioned MIA as IMHO it should be handled differently than what we would like to see here.
The whole point is to replace (temporarily one hopes) the inactive people, not to make them even more inactive.
I think the idea here is more about having a system that _incentivizes_ people try to tackle first the tasks that do the most _common_ good. Reviews is one of such cases. Of course people is free not to follow the incentive structure, but then the gain should be lesser.
This is also why I don't think trading reviews for merges can be named incentive, it looks more like a punishment (it is not something extra, that is what an incentive is).
I am using incentive in the sense of MD, see for example http://theory.stanford.edu/~tim/f16/f16.html . In this case a punishment is just a negative incentive if you want, I prefer not to see it as a "punishment", and IMO it is wrong to see it that way. Agents have free will, and the incentive structure should tell them what's the best path, if they don't follow it, well, it is normal they get a lower payoff.
Think of it this way, many mechanisms do work by having you pay proportionally to the harm you do to others. If you can do unlimited harm without payback, then obviously you are not going to have an incentive not to so. That's the whole idea.
@ppedrot just pointed out that 2/3 of currently open PRs are without an assignee.
Most helpful comment
Are they really less MIA on their own PRs than on reviews?