分析 11,000 個 GitHub 專案:逾四分一合資格專案的外部 PR 兩週內未獲回應
I measured silence: 212,390 outside pull requests across 11,000 GitHub projects
Rahul Kumar 分析 11,000 個 GitHub 專案六個月的公開紀錄,發現逾四分一合資格專案的多數外部 PR 兩週內未獲回覆、審查或合併。4,297 個合資格專案中有 1,133 個(26.37%)符合這項黑洞定義;黑洞比例由 1,000–10,000 星專案的 21%,升至 50,000 星以上專案的 39%。
You found a project you like, spent an evening on a fix and opened a pull request. A fortnight later nobody has said a word, and you cannot tell whether the change was poor, the timing was unlucky or the project is simply not looking.
What I measured
I wanted to know what happens to a pull request from someone outside the team, so I read six months of public GitHub history, April to October 2026, for 11,000 projects. That came to 212,390 outside pull requests from 110,605 distinct outside authors. The snapshot is dated 14 October 2026.
An answer, here, means a human reply, a review or a merge. A project is a black hole when most of its outside pull requests get none of those for two weeks. Porchlamp ranks 3,833 projects, and each verdict lists the pull requests behind it, so you can check the reasoning instead of trusting a score.
What I excluded, and why
Counting everything would flatter or punish projects for reasons that have nothing to do with a newcomer's experience, so several kinds of pull request are left out.
- Bots. An automated reply is not a person answering you.
- Maintainer pull requests. They measure the team talking to itself.
- Drafts. The author has said it is not ready for review.
- Self-closed pull requests. The author withdrew; nobody was left to answer.
- New accounts. An account under 90 days old when the pull request was opened is left out; it says little about how a project treats a regular contributor.
Projects that review on Gerrit or a mailing list are left undecided, not failed. Their discussion happens off GitHub, so the silence on GitHub says nothing about the project.
Three findings
More than 1 in 4 qualifying projects leave outside pull requests unanswered.
Of the 4,297 projects that qualify, 1,133 are black holes, a share of 0.2637. That is a pattern across a quarter of the field, not a few neglected repositories. A refusal would at least tell you something; silence tells you nothing.
Stars make the silence more likely, not less.
The black-hole share is 21% at 1,000 to 10,000 stars, 31% at 10,000 to 50,000 and 39% at 50,000 and above. Part of that is plain volume: review time is finite, and a very popular project receives far more pull requests than its maintainers can read. It is a statement about arithmetic, not about effort.
Being popular and being responsive rarely coincide at the top.
Only 9 of the 100 most-starred projects appear in Porchlamp's top 100. If you choose by star count alone, you are using a signal that, in this data, does not point towards a reply. That does not make the others poor projects; it means stars were never measuring this.
What this cannot tell you
- It covers GitHub only. Work that happens elsewhere is invisible to it.
- It is a dated snapshot, taken on 14 October 2026, and it goes stale. A project that changed hands last month may be nothing like its row.
- It is not a verdict on people. Maintainers work with finite time, and silence is often a queue, not a choice.
- The window is six months, and "two weeks" is my line, not a law. A different threshold would move the shares.
- A good rank is not a promise. Your pull request may still wait.
How to use it
Porchlamp is free, needs no account and has no tracking wall. Rather than one league table it offers goal-based rankings: first contribution, career capital, deep systems work and AI-assisted work. Today the first-contribution ranking is led by llama.cpp, Meshery, open-design, stdlib and Ant Design.
Treat a ranking as a shortlist. Open the verdict, read the pull requests behind it and judge whether the replies look like the kind you would want. If you would rather check the method than take my word, the repository is at github.com/pctablet505/porchlamp.
One question
I have measured silence, but not what people do about it. If a pull request of yours went unanswered, how long did you wait before giving up on it, and what would have told you sooner?
來源:DEV Community · dev.to