Hi everyone, +1 on saving maintainer time. I collected ~22000 PRs opened since July 2024 (the AI era) and calculated each author’s peak number of open PRs (hopefully it would help) First, I calculated the peak for both non-committers and committers (write access). “Peak” means the maximum number of PRs an author had open at the same time during this period.
n p50 p75 p90 p95 p99 max Non-committer 1766 1 1 3 4 10 23 Committer 70 6 10 18 20 27 28 For non-committers, 95% had no more than 4 PRs open at once. A cap of 10 is around p99 and would affect about 15 people (0.8%). A cap of 8 would have affected about 28 people (1.6%). > having some aggregated statistics on how many open PRs contributors and first-time contributors had in the past could help us determine that. Hi Przemek, I took a closer look at non-committers and also tried to separate first-time contributors here. I could not identify historical first-time contributors exactly, so I used authors with only author_association = NONE as a rough proxy. The interesting fact I found here is that newcomers usually had lower peaks: 95% never had more than 2 open at once, and only 4 of 569 had a peak above 10. There was still a very small tail in both groups, with a maximum of 23. There is another thing I am concerning: I found that non-committers with high peaks had "merge rates" from 0% to 100%, with a median around 71%. This makes me think that the number of same-time-opened-PRs alone might not tell us much about contribution quality. However, there are some limitations in my statistics: (1) In the script, I found it hard to identify the "committer" since there is no clear label in github API. So I consider a person a committer if any of following conditions is true: a. Any of its PR's author_association column is member/owner/collaborator b. It has merged others' PR at least once c. Its GitHub account is on the official Apache Airflow committer roster (from ASF LDAP) (2) Historical draft status is not available, the two-year window may miss PRs opened before it, and identifying committers was more difficult than I expected, especially with private GitHub organization memberships. I cross-checked the results with another implementation, but I may still have missed something. I am happy to share the public script and aggregate report if anyone would like to check them. Thanks, Andrew
