QGIS Merges a 'Closed Door' on AI-Written Code 13 Days After Proposing It
Software / news
QGIS Merges a 'Closed Door' on AI-Written Code 13 Days After Proposing It
QEP 428 bars LLM, AI and agent-assisted code from qgis/qgis after a vote that closed October 7, with two follow-up proposals still open.

QGIS merged a policy on October 7, 2026 that bars LLM-, AI- and agent-assisted code from its main repository, 13 days after contributor Nyall Dawson opened the proposal. Dawson's own description of the approach is a "closed door, which we can then selectively open a little."
The change is pull request #387 in the QGIS Enhancement Proposals repository, titled "Add QEP428: No ai contributions permitted". It was opened on September 24, moved to a vote on October 5, marked Accepted and merged into master on October 7. The page does not show the adopted text. A commit message embedded in it quotes the policy as "No LLM, AI or agent assisted code contributions are allowed in the qgis/qgis repository", with "code reversion and contributor rights sanctioning" for violators. That wording could not be checked against the merged file.
How QGIS got from QEP 408 to QEP 428
Dawson raised the idea on the qgis-developer list on June 22, 2026, citing conflict in the PostGIS community. He proposed replacing the existing "human in the loop" policy, QEP-408, with something closer to GDAL's. The opening post asked the list for thoughts on the combined approach; the pull request came three months later.
| Project | Rule as described in the source | Source |
|---|---|---|
| QGIS, QEP-408 | Human in the loop | Dawson, June 22 |
| QGIS, QEP 428 | No LLM, AI or agent assisted code in qgis/qgis | PR #387 |
| GDAL | Vibe-coded submissions and agent-driven submissions banned; LLMs limited to auto-completion or mechanical refactoring | Dawson, June 22 |
| Godot | Contributors must "fully understand and are prepared to explain" their code and disclose parts they did not author | Dawson, June 22 |

The vote and the objections
The opening post on the pull request drew 95 thumbs-up and 29 thumbs-down reactions, with 15 participants shown. The page hides 48 items, so the comment count is unknown.
Supporters cited reviewer workload. A contributor named Amalvir, who describes themself as a beginner, said AI-assisted fixes had broken trust with reviewers. Another, elpaso, said the policy "doesn't mean that AI contributions will be banned forever."
Objections were about scope. A commenter, kannes, asked whether the ban also covers using an LLM for review, auditing or security work. Another, 02JanDal, said "AI" is too broad a term and suggested limiting it to code written by LLMs or agents. A third, uclaros, wrote that about 50 pull requests had been tagged "AI Assisted" and about 40 of them closed, and asked what the policy protects against beyond that.
Two follow-ups are open: QEP 429 (#388) proposes an exception for trusted contributors, and QEP 430 (#389) proposes extending the policy to all text in QGIS repositories.
What Hacker News argued
The Hacker News thread reached 382 points, and its moderator dang edited the title to include "moratorium". Commenter Ariarule wrote that a long-term ban "all but guarantees a competitor or a fork." Commenter rurban, who said they maintain libredwg, wrote that without AI pull requests "I would have no chance to advance it and fix all the safety bugs."
On the other side, commenter levkk said PgDog "disabled PRs ... but left the issues open", and commenter 20k said people let agents file pull requests "even though Godot specifically bans this."
Several commenters held up the Linux kernel's approach, in which the submitter is "fully responsible for the code it produces", as the alternative. Linus Torvalds has published eight page-cache patches written with Claude Code, the other pole of the argument. The reviewer-load problem QGIS describes is the human side of what two studies of coding agents found in output: commits rising much faster than releases.
What comes next
The first test is QEP 429. If the trusted-contributor exception is accepted, the door Dawson described opens for a named group before it opens for anyone else. Its pull request, #388, was still open when the QEP 428 page was read on October 13.
Sources
More in Software
- 01Rust Borrow Checker Bug 11 Years Old Lets Safe Code Hide a Short-Lived Reference in a 'static ValueIssue #164250 shows a Drop impl smuggling a stack reference past the compiler on stable releases back to 1.85.0, and commenters trace variants to Rust 1.4.
- 02REA, a Reverse-Engineering Tool for AI Agents, Gained 52,186 GitHub Stars in a Day. It Has 653 Watchers.Three trackers report three different star totals for morluto/rea, and the 15 newest issues and pull requests show an installer still being patched.
- 03Anthropic Moved Its Monorepo Off Git to Scion as Daily Merges Grew From 2,500 to 30,000A seven-person team built Scion in five months. The post is candid about merge-queue conflicts and says the system is not a git replacement for general use.
- 04Swapping SHA1 for xxHash Cuts Unreal Editor Hash Time From 12.9 to 1.6 SecondsA one-developer pull request to Epic found that the editor hashes shader source with a cryptographic function it has no use for, and the fix is already in the engine.