Fetching from the wire…
Top 5 · 2026-05-25 · source-backed
The creator of Flask, Jinja, and Ruff just released the most damning quantitative look at AI contributions to open source I've read this year.
Armin Ronacher published "Building Pi With Pi" on May 24, analyzing external contributions to the Pi project over 90 days. The numbers: 3,145 issues and pull requests from non-team members. 95% were, in Ronacher's words, "clanker-generated and largely inaccurate." Under 10% of PRs were merged. Only 17% of auto-closed issues were reopened by their authors, suggesting the rest were fire-and-forget submissions nobody cared about enough to follow up on.
Simon Willison signal-boosted the piece, highlighting what Ronacher calls the "most frustrating failure mode": issues that contain real problems but have been rewritten by AI, stripping out the original context and voice that maintainers need to diagnose bugs. The human had a legitimate bug report. The AI reformulation made it impossible to debug.
I've been thinking about this as a tragedy of the commons. AI tools made it trivially easy to generate a PR. The cost of contributing dropped to nearly zero. But the cost of reviewing didn't drop at all. It might have increased, because AI-generated contributions are fluent enough to require careful reading before you can determine they're wrong. When generating is cheap and reviewing is expensive, the system breaks.
Ronacher's core argument is that cheap AI workarounds are discouraging the human collaboration that makes open source sustainable. When a maintainer spends hours triaging AI-generated noise, they're not mentoring new contributors, not reviewing genuine community work, not building the relationships that keep projects alive.
If you're using AI to contribute to open-source projects, this is a direct call to raise your quality bar. Run the diff through a fresh model session for review. Test your change locally. Write the issue description yourself instead of through an AI rewriter. The maintainer on the other end can tell, and they're drowning.
Each link below shares sources, entities, or timing with this story.
Jinja built by Armin Ronacher / Shared entities / Same source domain / What happened next
Linked by a graph relationship (Jinja built by Armin Ronacher); both cover Armin Ronacher, Flask; reported by the same outlet (lucumr.pocoo.org).
Simon Willison uses Claude / Shared entities / Same source domain / Shared topic / What happened next
Linked by a graph relationship (Simon Willison uses Claude); both cover PRs, Write; reported by the same outlet (simonwillison.net).
Simon Willison uses Claude Code / Shared entity: Simon Willison / Same source domain / Shared topic / Earlier coverage
Linked by a graph relationship (Simon Willison uses Claude Code); both cover Simon Willison; reported by the same outlet (simonwillison.net).
Linked by a graph relationship (Simon Willison uses Claude Code); both cover Simon Willison; reported by the same outlet (simonwillison.net).
Simon Willison released Datasette / Shared entity: Simon Willison / Same source domain / What happened next / Tension
Linked by a graph relationship (Simon Willison released Datasette); both cover Simon Willison; reported by the same outlet (simonwillison.net).
Linked by a graph relationship (Simon Willison released Datasette); both cover Simon Willison; reported by the same outlet (simonwillison.net).
Simon Willison released LLM / Shared entity: Simon Willison / Same source domain / Shared topic / Earlier coverage
Linked by a graph relationship (Simon Willison released LLM); both cover Simon Willison; reported by the same outlet (simonwillison.net).
Linked by a graph relationship (Simon Willison released LLM); both cover Simon Willison; reported by the same outlet (simonwillison.net).