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

Reply via email to