GCC Now Refuses AI-Generated Code Contributions
Two announcements landed a day apart this week, from communities that do not overlap and were not coordinating. Read together they describe the same institutional failure.
On 29 July the GCC steering committee adopted a policy declining legally significant contributions that include or derive from LLM-generated content. On 30 July, two machine-learning researchers published their summer review load: 15 of 22 conference submissions contained fabricated citations, invented author lists, or writing that was plainly machine-generated.
Compilers and peer review have almost nothing in common except the mechanism they run on. Both are trust systems that accept unverified submissions from strangers because verifying everything from first principles is too expensive. Both have just discovered what happens when the cost of producing a plausible submission falls to near zero.
Executive summary
- GCC will decline legally significant contributions — roughly the GNU threshold of fifteen lines — that include or derive from LLM output. Test cases are exempt at maintainer discretion; research, analysis and code review with a model remain fine.
- The rationale is copyright, not quality: GPL enforcement depends on a clean chain of title, and machine-generated text has no settled ownership.
- The policy is not enforceable by detection. Systemd abandoned equivalent tracking after concluding modern output is indistinguishable from human code.
- Guix has proposed a different test — whether a contribution is creative enough to attract copyright — which targets the legal risk instead of the tool.
- In peer review, 15 of 22 submissions reviewed by two researchers this summer showed fabricated citations, fabricated authors, or obvious machine generation.
- Wider audits agree on the direction: ~146,900 hallucinated citations estimated across preprint servers in 2025; The Lancet’s audit of 2.5M papers found fabricated references rising from 1 in 2,828 papers in 2023 to 1 in 277 in early 2026.
- Review itself is degrading: 21% of analysed ICLR 2026 reviews were fully machine-generated, and ICML 2026’s prompt-injection sting caught 795 reviews from reviewers who had agreed not to use LLMs.
- Two submissions with hallucinated authors on real papers were accepted for oral presentation, conditional on fixing the references.
What GCC decided, precisely
The scope is narrower than the headline suggests, and the precision matters.
| Position | |
|---|---|
| Legally significant contributions (~15+ lines) | Declined if LLM-generated or LLM-derived |
| Below the significance threshold | Not in scope |
| Test cases | Maintainer discretion — may be accepted |
| Research, analysis, bug-finding, code review | Permitted, provided output does not enter the codebase |
| Effective date | Immediate, as adopted; no transition period stated |
That fifteen-line figure is not new. It is GCC’s long-standing rule of thumb for when a contribution becomes something the project must be able to attribute. The policy does not invent a threshold; it extends an existing one to a new category of input.
The reason is title, not taste
The most common misreading is that this is a quality judgement — that GCC thinks model-written patches are bad. The policy is not about quality, and the exemption for test cases makes that clear: test cases are exactly where quality would matter most if quality were the concern.
The concern is ownership. GCC is GPL software historically requiring copyright assignment to the FSF, which means the project has to be able to state who wrote each line and that they had the right to give it away. Enforcement of the GPL — the mechanism that makes copyleft mean anything — runs through copyright. A codebase whose chain of title has unresolvable gaps in it is a codebase whose licence is harder to defend.
Machine-generated text puts two gaps in that chain at once. It is unsettled whether anyone holds copyright in it, and unsettled whether it carries obligations inherited from training data. A contributor signing an assignment for such a patch is asserting something they cannot actually verify. Declining the patch is the conservative resolution.
This is why the policy debate breaks along licence lines rather than along opinions about AI. Permissively licensed projects with no assignment requirement carry far less of this exposure, and their policies reflect that.
Nobody can detect it, and everyone knows
The strongest objection is that the rule is unenforceable, and it is correct. Systemd previously walked away from comparable tracking requirements having concluded that current model output cannot be reliably told apart from human code. Nothing GCC has adopted changes that.
What the policy changes is the category of the act. A Developer Certificate of Origin sign-off has never been verifiable by inspection either; its function is to make a false sign-off a misrepresentation rather than a mere disagreement. GCC’s policy works the same way — it converts an undetectable behaviour into a stated violation, and relies on reputation and consequence rather than detection.
Whether that is worth having is a genuine disagreement, not a settled question. The case against is that unenforceable rules select for contributors willing to lie and penalise the honest. The case for is that when the exposure is legal rather than technical, having a clear stated position is itself a form of protection.
Guix’s proposal is the most interesting third path: ask whether a contribution is creative enough to attract copyright in the first place. Mechanical work raises no ownership question no matter who produced it; creative work needs clear human authorship. It aims at the actual risk instead of at the tool, at the cost of requiring a judgement call on every patch.
The same failure, one field over
The peer-review numbers make the compiler debate look restrained.
Two reviewers, eleven submissions each, across NeurIPS’s datasets and position tracks, WACV, and a geospatial ECCV workshop. Six of eleven for one; nine of eleven for the other. Both position papers machine-generated. In two WACV submissions the very first bibliography entry listed invented authors for a real paper — plausible enough to survive a skim, wrong enough to be unmistakable if you happened to know the actual authors, which one reviewer did.
Both papers were accepted for oral presentation, conditional on fixing the references.
That outcome, not the fabrication rate, is the finding. The system detected the problem, through an unusually diligent reviewer, and then processed it as a formatting defect.
The wider measurements are consistent. A Nature analysis found at least tens of thousands of 2025 publications probably containing invalid machine-generated references. An audit across arXiv, bioRxiv, SSRN and PubMed Central estimated roughly 146,900 hallucinated citations in 2025, spread thinly across many papers rather than concentrated in a few bad actors — and tracked bioRxiv preprints through to publication to find 85.3% of hallucinations still present. The Lancet’s audit of 2.5 million biomedical papers put the rate of papers containing at least one fabricated reference at 1 in 2,828 in 2023, 1 in 458 in 2025, and 1 in 277 in early 2026. A separate analysis of 100 hallucinated citations in published NeurIPS 2025 papers found that every one had passed three to five expert reviewers.
Review is failing from both ends
The half of this that gets less attention is that reviewing has degraded in the same way submitting has. An analysis of ICLR 2026 reviews found 21% — 15,899 of them — fully machine-generated, with over half showing some involvement. ICML 2026 planted prompt-injection stings in submissions and identified 795 reviews from 506 reviewers who had explicitly agreed not to use LLMs.
And once a reviewer is a model, the review becomes an optimisation target. Work published this year found that adversarially rewriting an abstract — without changing any scientific content, and without knowing which model was reviewing — succeeded around 38% of the time, inflating ratings by +1.31 for one reviewing model and +0.88 for another on a ten-point scale.
That closes the loop. Papers written by models, reviewed by models, with the writing side able to attack the reviewing side directly. What remains is a process that produces accept decisions with no human having read anything carefully at any point.
The lesson both fields are converging on
Detecting authorship is a losing race. The tells reviewers currently rely on — the rhetorical tics, the em-dashes, the dense unparseable sentences, the discussion section that restates the results table — are stylistic, and stylistic tells are the easiest thing in the world to train away. Systemd reached this conclusion about code two years before the ML community is reaching it about prose.
Verifying claims is a winning race, because verification does not care who wrote the thing. A bibliography is machine-checkable: each reference either resolves to a real paper with the stated authors or it does not. That check costs seconds, can run before a submission ever reaches a human, and cannot be defeated by better prose. The researchers who published the review data released exactly such an audit tool alongside it, which is the appropriate response to the problem.
Code has had this infrastructure for decades. Tests, builds, sanitisers, fuzzers and static analysis verify a patch regardless of its origin, which is precisely why GCC’s policy is about copyright rather than quality — the quality question was already solved by verification, and the ownership question cannot be.
The general principle for any system now receiving submissions from strangers: stop asking who wrote this, and start checking whether what it asserts is true. The first question is becoming unanswerable. The second was always the one that mattered.
Frequently asked questions
What does the GCC policy actually say?
It declines legally significant contributions — following the existing GNU threshold of roughly fifteen lines — that include or are derived from LLM-generated content. Maintainers may still accept machine-generated test cases, and using a model for research, analysis, bug-finding or code review remains permitted so long as its output does not enter the codebase.
Why does GCC care when other projects don’t?
Because GPL enforcement runs through copyright and GCC has historically required copyright assignment to the FSF, so the project must be able to state who wrote each line and that they had the right to assign it. Machine-generated text leaves that chain of title unresolved. Permissively licensed projects without assignment requirements carry much less of this exposure.
Is it enforceable?
Not by detection — systemd abandoned comparable tracking after concluding model output is indistinguishable from human code. The policy works like a Developer Certificate of Origin: it makes a false attestation a misrepresentation rather than a matter of opinion, and relies on reputation rather than inspection.
What is the alternative approach?
Guix has proposed asking whether a contribution is creative enough to attract copyright at all, rather than how it was produced. This targets the legal risk instead of the tool, but requires a judgement call on each patch. Systemd’s position is to drop provenance tracking and rely on review quality alone.
How bad is the citation problem?
Two reviewers found 15 of 22 summer submissions carried fabricated citations, invented authors, or obvious machine generation. Broader audits estimate ~146,900 hallucinated citations across preprint servers in 2025, and The Lancet’s 2.5-million-paper audit found the rate of affected papers rising from 1 in 2,828 in 2023 to 1 in 277 in early 2026.
Why doesn’t review catch it?
Because bibliographies are not checked, and reviewing itself is degrading. One hundred hallucinated citations in published NeurIPS 2025 papers each passed three to five reviewers; 85.3% of hallucinations in bioRxiv preprints survived into publication; 21% of analysed ICLR 2026 reviews were fully machine-generated.
What actually works?
Verifying artefacts instead of adjudicating authorship. Reference lists resolve or they don’t, and that check is automatable and cheap. Code has had this for decades in the form of tests, builds and static analysis — which is exactly why GCC’s remaining problem is copyright rather than quality.