Repository navigation
RFC: Create AI policy #265
Description
Context
AI is all around us and not always for the better, far from it.
We see a deluge of new contributions enabled by AI that have lowered the barrier to contribute dramatically.
Problem
AboutCode repos have roughly between 100 and 150 PR and issues contributed in the last 2 months that feel like entirely vibe coded or mostly AI-generated.
There are several issues we must consider:
- AI-generated code and content may not be copyrightable or may commonly be borrowed from open source code used in LLMs training, without any attribution, credits or license
- AI-generated content is mostly bland, conventional, flat and lacks substance
- The human time it may take to review a machine-generated contribution is not worth the efforts of the maintainers, as it may require asymmetrically more efforts on our side to sort out human from machine-generated contributions. Machine-generated contributions can be seen are a sort of Distributed Denial of Maintainer Services on our projects. They are subtly and superficially acceptable, and may even pass some tests, but are in many cases not understood by their contributors and will result in serious tech debt if merged.
- We are a community of people. We did not join this community to work with or for AI agents. Eventually I am warming up to the ASF moto of community over code.
- We receive support from orgs like NLnet and they have an AI policy for the projects they support that we must take into consideration.
- We cannot grow a community of contributors if our merge queues are flooded with machine-generated contributions.
Our current development environment where issues and pull requests are our primary community communication and exchange media is at risk of collapsing if AI "slop" is left unchecked.
Solution
We must put in place a proper AI policy to avoid the degradation of our community and projects, one that privileges contributions from real persons over most machine-contributions.
We need also to evolve tools and approaches to consistently deal with the current and future issues, and ensure that aspiring contributors understand our policies and ethos https://en.wikipedia.org/wiki/Ethos .
Some existing reference:
- @ashleywolf acknowledging this as a serious issue for GitHub https://github.blog/open-source/maintainers/welcome-to-the-eternal-september-of-open-source-heres-what-we-plan-to-do-for-maintainers/
- @bagder removing curl from bug bounties because of AI issues https://hackaday.com/2026/01/26/the-curl-project-drops-bug-bounties-due-to-ai-slop/ (he recently stopped by our workshop at https://workshop.aboutcode.org/ to talk about it)
- NLnet AI policy https://nlnet.nl/foundation/policies/generativeAI/
- @mitchellh AI policy for ghostty https://github.com/ghostty-org/ghostty/blob/main/AI_POLICY.md
- matplotlib AI policy https://matplotlib.org/devdocs/devel/contribute.html#restrictions-on-generative-ai-usage
- matplotlib's @scottshambaugh woes at https://theshamblog.com/an-ai-agent-published-a-hit-piece-on-me/ also reported by @sethmlarson https://sethmlarson.dev/automated-public-shaming-of-open-source-maintainers
Activity
pombredanne commentedon Feb 14, 2026
I like this policy https://github.com/ghostty-org/ghostty/blob/main/AI_POLICY.md
scottshambaugh commentedon Feb 14, 2026
At matplotlib we've been looking at the LLVM AI policy as a good reference: https://llvm.org/docs/AIToolPolicy.html
pombredanne commentedon Feb 14, 2026
@scottshambaugh Thanks! That's handy. I've read your "AI adventures" with amusement and consternation!
I see also this policy emerging from LLVM's https://discuss.scientific-python.org/t/proposal-for-scipy-to-adopt-the-same-ai-policy-as-sympy/2230
FWIW, the LLVM's policy source is at:
The commit message at llvm/llvm-project@18695b2 and PR llvm/llvm-project#154441 are interesting for background:
@rnk @maflcko @hubert-reinterpretcast thanks for all the work there and in LLVM as this helps a lot
pombredanne commentedon Feb 15, 2026
See also Gentoo's policy: https://wiki.gentoo.org/wiki/Project:Council/AI_policy which sounds pretty extreme, but is also about two years old, from 2024-04:
tdruez commentedon Feb 25, 2026
I've started a draft for contribution guidelines, not limited to AI slope though, for the DejaCode and ScanCode.io repos.
@pombredanne @DennisClark @mjherzog I'd like your take before enforcing those:
DennisClark commentedon Feb 26, 2026
@tdruez thanks for doing this. Perhaps we can expand the first bullet point a bit as follows:
mjherzog commentedon Feb 26, 2026
@pombredanne I took liberty of rephrasing some of Context/Problem text for clarity - I expect that we will want to make some public statement like this to explain our policy.
@tdruez I think that your draft makes sense, but I have some questions/comments:
Beyond this we will probably want to publish the policy on www.aboutcode.org and perhaps publish a blog post.
tdruez commentedon Feb 26, 2026
Yes we should update https://dejacode.readthedocs.io/en/latest/contributing.html, it's outdated considering the problems we are facing now regarding PRs.
Fair enough, I've included notes about patterns I've noticed with Gsoc participations, but a dedicated location for those is fine.
Yes, I think we should have a single source for the AboutCode contributions policy, so each project can reference it and extend as needed with its local specifics.
tdruez commentedon Mar 3, 2026
Contribution policy added to the DejaCode and ScanCode.io repos as a start.
hippoley commentedon Sep 28, 2026
@pombredanne @tdruez I think the strongest problem in this thread is not really AI disclosure itself — it is the asymmetric maintainer cost of deciding whether a contribution is even worth reviewing.
Rather than propose another policy or integration, I'd like to test one concrete thing against your real review queue:
For one recent AI-assisted PR that made a maintainer wonder “did this actually fix the thing it claims to fix?”, would a one-screen before/after evidence receipt materially reduce review time?
The experiment would be deliberately small:
No AI detector, no quality score, no merge recommendation, and nothing to install.
If you point me at one recent PR where the reviewer cost was real, I'll run the experiment against that exact case and bring the result back here.
Then the only question is: did this save the maintainer meaningful review effort?
If the answer is no, that's useful too — I'll record it as a negative result and stop rather than add another tool to your workflow.
For context, the experiment is being built here:
https://github.com/hippoley/CounterProof