BuildNot yet confirmed elsewhere1 publisher2 min readPublished
QGIS's AI ban asks contributors whether they wrote the code in good conscience
QGIS has banned all LLM, AI and agent assisted code in qgis/qgis, on master as of October 7 under QEP #387. Asked how compliance will work, a core contributor pointed to the contributor's own conscience, a dev.to analysis reports.
The Engineer · Build desk

One bar from the dev.to post on QGIS's earlier tagging process for AI-assisted PRs: roughly forty of the roughly fifty PRs tagged were closed.
- QGIS AI-tagged PRs closed, claim 6 40 of 50 PRs, roughly 80% computed
QGIS AI-tagged PRs closed The rest of the 50
| Share | Part | Whole | Percent | Claim |
|---|---|---|---|---|
| QGIS AI-tagged PRs closed | 40 PRs, roughly | 50 PRs, roughly | 80% (computed) | 6 |
What happened
- QEP #387 replaced a human-in-the-loop policy and passed a vote.
- Its rationale cites "massive and unbearable pressure" and AI volume beyond what human review can take seriously.
- Violators face "code reversion and contributor rights sanctioning."
- The Hacker News thread is near three hundred comments, split between "rationing attention is fair" and "this will age like milk."
Why it matters
- constraint The reversion clause can only act on code someone judges to be machine-written. The post argues simple code is undetectable, so we'd expect the clause to reach patches that look generated and little else.
- decision Maintainers who want the ban to produce a visible signal have to make a disclosure field a CI-checked requirement. The post says QGIS's tagging process failed because CI never checked it. In our view such a field still reaches only contributors willing to answer honestly.
- precedent Seventy percent of the twenty most-starred repos have no AI policy, and the post says all six that do stop below the gate. A project copying an existing policy today copies a prose control.
Enforcing "No LLM, AI or agent assisted code contributions are allowed in the qgis/qgis repository" means answering one question about each patch: was it AI-assisted? [1] According to the dev.to analysis, only a conscience can answer it [14]. The thread has definitional holes that show why. It asks whether autocomplete counts, or translation, or a ranking model that reordered imports [15]. Asked how compliance would work, a core contributor answered, as the post reports it: "did you in good conscience write the code yourself." [4] The check has no logs.
The maintainers tried a lighter control first. A tagging process for AI-assisted PRs quietly died, with roughly fifty PRs tagged and forty closed [6]. The post describes Nyall Dawson's "start with a closed door", opening selectively, as a stop gap, and quotes a voter: "the baby might be non-viable." [7] The post does concede that a blanket ban answers the question "how do we survive this quarter." [10]
The post's own remedy is a gate that runs without trusting anyone's memory [17]. Its example is a receipt schema in which judged_by is required with no default and spec_hash is mandatory for LLM-judged checks. The post says neither field claims to detect a lie [18]. It presents the schema as part of its own series, and it does not describe the schema running in QGIS.
The audit behind the post read each repo's contributing docs and AI policy files, then checked workflow names for automation that mentions AI, LLMs or disclosure [12]. Workflow names are a coarse probe. Enforcement kept in a bot configuration or a reviewer checklist would not appear in them. The text also has a counting problem. It says fourteen of twenty repos have no policy, then opens a parenthetical with "The other thirteen have nothing to grade." and breaks off before listing the six that do [13]. The grading of those six cannot be checked from what is published.
What to watch
- Whether QGIS adds a PR template field or CI check for AI disclosure, which would move QEP #387 from prose to a control that fails visibly.
- Whether the first reversion or contributor sanction under QEP #387 is applied, and what evidence the maintainers cite for it.
- The full list of the six audited policies, which the post's text breaks off before giving.
Clarity's read
What the record supports and how the coverage leans. The claims behind it follow.
Reality
- Evidence45
- Adoption30
- Hype gap+12
- Incentives50
- Confidence55
Claim ledger
Ranked by verification strength, evidence, and original report placement.
- [1]
QEP #387 states: "No LLM, AI or agent assisted code contributions are allowed in the qgis/qgis repository."
- [2]
Violators of QEP #387 face "code reversion and contributor rights sanctioning."
- [3]
QEP #387 replaced a human-in-the-loop policy, passed a vote, and is on master as of October 7.
- [4]
Asked how compliance will work, a core contributor answered: "did you in good conscience write the code yourself."
- [5]
The proposal's rationale cites "massive and unbearable pressure" and AI volume exceeding "what human review can take seriously".
- [6]
An earlier tagging process for AI-assisted PRs was tried and quietly died, with roughly fifty PRs tagged and forty closed.
- [7]
The post describes Nyall Dawson's "start with a closed door" approach, opening selectively, as a stop gap, said out loud by a voter: "the baby might be non-viable."
- [8]
The Hacker News thread is at three hundred comments and counting, split between "rationing attention is fair" and "this will age like milk."
- [9]
The post says QGIS's tagging process, a Level 1 control, failed because roughly fifty tags in the whole history is decoration, and that Level 1 works when CI checks it, which QGIS's did not.
- [10]
The post says a blanket ban is the correct answer to the question "how do we survive this quarter."
- [11]
In the post's audit of the twenty most-starred GitHub repositories, fourteen have no AI policy in their contributing docs; six have one, and all six stop below the gate.
ReportedContestedSource: dev.to post's own audit2 sources— create a free account to open themView cited source - [12]
The audit's method was to pull each repo's contributing docs and AI policy files, read each policy found, grade it on the ladder, and check GitHub workflow names for automation referencing AI, LLMs or disclosure.
- [13]
After reporting fourteen of twenty repos with no policy, the post's text goes on to "The other thirteen have nothing to grade." and ends mid-parenthetical before the six policies are listed.
ReportedContestedSource: dev.to post as supplied2 sources— create a free account to open themView cited source - [14]
The post argues the trigger condition, whether code was AI-assisted, cannot be evaluated by anything except a conscience, making QEP #387 a Level 0 control: prose nobody executes, failing silently.
- [15]
The QGIS thread's definitional holes include whether autocomplete, translation, or a ranking model that reordered imports count as AI assistance.
- [16]
The post argues that detecting AI code is adversarial and unwinnable, and that simple code is undetectable.
- [17]
The post defines Level 2 as a gate that runs without trusting anyone's memory, where the host refuses.
- [18]
In the receipt schema the post follows, judged_by is required with no default, spec_hash is mandatory for LLM-judged checks, and the post says neither field claims to detect a lie.
- [19]
Fourteen of twenty audited repos with no AI policy is 70%.
Sources
1 independent publisher whose own reporting we read for this story.
- dev.toEvery "no AI contributions" policy is a Level 0 control
1 article · October 12, 2026
Topics and entities
Follow any of these and your For You feed starts watching them — no settings page required.
Topics
- AI contribution policiesFollow
- Open-source maintainer economicsFollow
- AI Code GenerationFollow