QGIS 通过 QEP428 禁止 AI 辅助贡献
QGIS bans AI assisted contributions
QGIS 通过 QEP428 提案,将 AI 政策改为严格的 NOT ALLOWED,由 nyalldawson 提交并于 2026 年 10 月 7 日合并进 QGIS-Enhancement-Proposals 仓库。
原文呈现社区内部对禁令理由、措辞模糊处和后续放宽路径的直接讨论,读者可以借此理解开源项目应对 AI 贡献压力的真实权衡。
Navigation Menu
Appearance settings
Platform
*
AI CODE CREATION * GitHub Copilot Write better code with AI * GitHub Copilot app Direct agents from issue to merge * MCP Registry Integrate external tools
*
DEVELOPER WORKFLOWS * Actions Automate any workflow * Codespaces Instant dev environments * Issues Plan and track work * Code Review Manage code changes * Code Quality Enforce quality at merge
*
APPLICATION SECURITY * GitHub Advanced Security Find and fix vulnerabilities * Code security Secure your code as you build * Secret protection Stop leaks before they start
*
EXPLORE * Why GitHub * Documentation * Blog * Changelog * Marketplace
Solutions
*
BY COMPANY SIZE * Enterprises * Small and medium teams * Startups * Nonprofits
*
BY USE CASE * App Modernization * DevSecOps * DevOps * CI/CD * View all use cases
*
BY INDUSTRY * Healthcare * Financial services * Manufacturing * Government * View all industries
Resources
*
EXPLORE BY TOPIC * AI * Software Development * DevOps * Security * View all topics
*
EXPLORE BY TYPE * Customer stories * Events & webinars * Ebooks & reports * Business insights * GitHub Skills
*
SUPPORT & SERVICES * Documentation * Customer support * Community forum * Trust center * Partners
Open Source
*
COMMUNITY * GitHub Sponsors Fund open source developers
*
PROGRAMS * Security Lab * Maintainer Community * GitHub Stars * Archive Program
*
REPOSITORIES * Topics * Trending * Collections
Enterprise
*
ENTERPRISE SOLUTIONS * Enterprise platform AI-powered developer platform
*
AVAILABLE ADD-ONS * GitHub Advanced Security Enterprise-grade security features * Copilot for Business Enterprise-grade AI features * Premium Support Enterprise-grade 24/7 support
Search/
Appearance settings
You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
More items
Add QEP428: No ai contributions permitted - #387
#387
Merged
nyalldawsonmerged 2 commits into
qgis:masterqgis/QGIS-Enhancement-Proposals:master from
nyalldawson:qep_428nyalldawson/QGIS-Enhancement-Proposals:qep_428 Copy head branch name to clipboard
Oct 7, 2026
+7-140 Lines changed: 7 additions & 140 deletions
Conversation 30(30)Commits 2(2)Checks 0(0)Files changed 1(1)
Merged
Add QEP428: No ai contributions permitted#387
nyalldawsonmerged 2 commits into
qgis:masterqgis/QGIS-Enhancement-Proposals:master from
nyalldawson:qep_428nyalldawson/QGIS-Enhancement-Proposals:qep_428 Copy head branch name to clipboard
Conversation
nyalldawson commented Sep 24, 2026
Copy link Copy Markdown
Contributor
Followup discussion at https://lists.osgeo.org/pipermail/qgis-developer/2026-September/068576.html.
This formally changes the AI policy to a strict "NOT ALLOWED" policy.
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
12 geomenke, timlinux, vpicavet, nirvn, netthier, u-cav, adamjstewart, kgjenkins, gacarrillor, elpaso, and 2 more reacted with thumbs up emoji
1 Geo-Jagaimo reacted with eyes emoji
All reactions
12 reactions
1 reaction
Add QEP428: No ai contributions permitted
Verified
Verified
This commit was signed with the committer’s verified signature.
nyalldawson Nyall Dawson
GPG key ID: C065581C2BD8992C
Verified
d05dd95
nyalldawson added PolicyIn DiscussionQEPs currently in discussion stage labels Sep 24, 2026
haubourg commented Sep 24, 2026
Copy link Copy Markdown
Member
Hi, maybe this strong take deserves a bit of context of why we want to go further than the previous "Human in the loop" policy
- AI use from external contributors puts a massive and unbearable pressure on the shoulders of our maintainers, who already had a though job before the era of LLM's
- AI stream is a lot higher than what human review can take seriously, leading to either a longer list of un-reviewed PR's or not fully reviewed code and quality issues. Both thing we don't want in the project.
- Free software communities are build on human network . QGIS is trusted by organisations because they know they can contribute back, they can hire contributors for support, training and feature. As a community project, this is something we really want to protect, and keep having enough bandwith to be welcoming to human contributions.
So, for this reason, a huge +1 for me.
Thanks a lot for opening the QEP, given the pressure context you are in @nyalldawson , much appreciated.
I'd like to open another topic about the usage of LLM for review, auditing and security purposes, but I think this is a very separate thread, and we'll open discussions at the user conference before any formal discussions. Things are moving so fast, let's first tackle this QEP.
7 vpicavet, Djedouas, u-cav, adamjstewart, PeterBrodersen, zmspp9, and tannenfreund87 reacted with thumbs up emoji
All reactions
7 reactions
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
timlinux commented Sep 24, 2026
Copy link Copy Markdown
Member
Thank you @nyalldawson - hopefully having a short paragraph like this rather than a long essay cut out any confusion!
2 geomenke and ismailsunni reacted with thumbs up emoji
All reactions
2 reactions
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
vpicavet commented Sep 24, 2026
Copy link Copy Markdown
Member
Does that include any contribution to issue content, comments, PRs ?
Also, we should also include the QEP repository at least.
All reactions
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
Amalvir commented Sep 24, 2026
Copy link Copy Markdown
Hi,
I am directly concerned by this new policy, and it’s also a +1 for me.
When I created my 2 AI-assisted regressions-fix PRs to investigate the cause of the bugs, suggest fixes, and review the code, I didn’t realize the harm this could cause to QGIS’s already fragile reviewer community.
I’m clearly not yet skilled enough to fix bugs in a project as complex as QGIS, but LLMs give you the illusion that it’s possible. A few tokens later, and the bug is fixed. By doing this, we’ve broken a trust contract between the reviewer and the contributor. The contract that, to contribute at such a big project, you know what you're doing.
I guess there’s a second effect but I didn't read much online: by making this kind of ease available, contributors using AI learn very little/nothing and don’t build up their skills on the project. They can never really hope to become reviewers themselves, and the community stagnates.
This is the point of view of a passionate open-source user but beginner developer, trying to find my place in today’s world, where AI doesn’t really make things easier. Let's learn to walk before running.
4 geomenke, u-cav, elpaso, and tannenfreund87 reacted with thumbs up emoji
All reactions
4 reactions
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
rouault-on-strike reviewed Sep 24, 2026
Comment threadqep-408-ai-tool-policy.mdShow resolved Hide resolved
Uh oh!
There was an error while loading. Please reload this page.
haubourg commented Sep 24, 2026
Copy link Copy Markdown
Member
Does that include any contribution to issue content, comments, PRs ?
I would agree with this, though 100% of the submitted security advisories are written using AI since we started with this system. ( most concern our websites, not QGIS core though)
All reactions
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
kannes commented Sep 24, 2026
Copy link Copy Markdown
Please do not misunderstand my criticism below. I consider the current craziness around "AI" to be a huge problem in many ways, ethical, societal, economical etc. And I see the huge and unfair pressure that its abuse creates on maintainers and developers. I wish it all had never happened but here we are.
I want to highlight some technical benefits though, which this policy would disallow, at least as I understand it. I am deliberately ignoring everything else here.
I could also absolutely understand if it was more of a "political" move to ban something considered unethical. But is that the intention? Is it to reduce pressure on developers? Or to make a strong statement against "AI"? In any case, I think it could more clear and probably be stronger.
As it is written now, I would understand the policy to not allow usage of LLM for review, auditing and security purposes either. The words assisted and used are very broad and I am afraid that they might throw out the baby with the bathwater (if the baby is AI usage that yields things that are functionally and logically fit for integration in QGIS, that are human-reviewed and that do not create more after-merge-maintenance-hassle than those 100% sourced from human brains).
As someone who sometimes feels brave enough to make tiny steps into the C++ world of QGIS core, I have found LLMs to be useful for discovering additional, non-obvious context in the code. They are often wrong, but it is my strong belief that the results can be used by humans to gain further understanding of code and actually help creating better contributions.
I also sometimes find LLMs useful to get a simulation of a reviewer. Throw your code at it for review, get some listicle back, discard some of it garbage or unrelated, look at the rest, maybe find an actual issue, fix it, then go to your co-workers with a slightly less bad PR. A "Clippy" in your IDE, that gives some - sometimes useful - feedback or criticism on your development, can also help reduce errors and improve robustness. Like a web search will yield false information alongside true information, a LLM will do the same. It is up to the human to critically verify whatever they output.
Such uses would be disallowed by my understanding of this policy.
5 dvdkon, vaahtokarkki, Joonalai, sbrunner, and jakimowb reacted with thumbs up emoji
All reactions
5 reactions
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
rouault-on-strike commented Sep 24, 2026•
edited
Loading
Uh oh!
There was an error while loading. Please reload this page.
Copy link Copy Markdown
The words assisted and used are very broad and I am afraid that they might throw out the baby with the bathwater
yes, we are aware we might throw the baby with the bathwater, but the baby might be non-viable, so...
This QEP is a stop gap measure. Two years ago the world was just fine without AI sucked less than today, so there's no reason to allow it without fully understanding the consequences. We might have to wait for the burst of the AI bubble to fully understand what a fair AI use might be.
5 adamjstewart, kannes, sbrunner, elpaso, and gacarrillor reacted with thumbs up emoji
All reactions
5 reactions
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
uclaros reviewed Sep 24, 2026
uclaros left a comment
Copy link Copy Markdown
Contributor
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hide comment
Can we please have some more context on this proposal?
The mailing list posts mention hurt in the community, and points being raised on different channels (eg mastodon), which is quite vague and I'm afraid interpreted differently by each one of us.
I'm mostly interested on what we're trying to protect against: is it bots? passer-bys? randoms becoming regular contributors? existing regular contributors? core developers?
I'm also interested on where the previous policy failed -- the extractive tag was never created, ~50 PRs were tagged AI Assisted, ~40 of them were closed without merging. There are several others that were simply closed but never tagged.
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
2 dvdkon and ptitjano reacted with thumbs up emoji
All reactions
2 reactions
Comment threadqep-408-ai-tool-policy.mdShow resolved Hide resolved
Uh oh!
There was an error while loading. Please reload this page.
Update qep-408-ai-tool-policy.md
Verified
Verified
This commit was created on GitHub.com and signed with GitHub’s verified signature.
GPG key ID: B5690EEEBB952194
Verified
a7ad258
nyalldawson commented Sep 24, 2026
Copy link Copy Markdown
Contributor Author
The intention is not that this becomes the "written in stone, forever" policy. It's rather a "lets start with a closed door, which we can then selectively open a little if/when it's safe and proper discussion has been made on that".
So we start by being ultra-restrictive, and then, later, someone (else) argues for cases like "ai can be used as a replacement for ide autocomplete" / "ai can be used for language translations" / etc , all to be considered on a singular case-by-case basis.
4 kannes, uclaros, elpaso, and ismailsunni reacted with thumbs up emoji
All reactions
4 reactions
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
nyalldawson commented Sep 24, 2026
Copy link Copy Markdown
Contributor Author
It's intended as a correction to the earlier QEP. That clearly didn't work (as you've pointed out, the process didn't happen in reality, and we've already lost at least one extremely high value contributor as a result).
So as noted above, we correct by slamming the door shut, and then choosing later how far we want to inch it open.
All reactions
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
This was referenced Oct 2, 2026
Fix wrong Natural Breaks (Jenks) classes qgis/QGIS#67612
Closed
[Postgres] Reconnect NOTIFY listener after connection loss qgis/QGIS#67630
Closed
Share OGR datasets among layers while reading a project qgis/QGIS#67629
Closed
Enable parallel provider creation for WFS provider qgis/QGIS#67631
Closed
nyalldawson commented Oct 5, 2026
Copy link Copy Markdown
Contributor Author
This has now passed the discussion period and has moved to the voting stage
1 adamjstewart reacted with hooray emoji
All reactions
1 reaction
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
nyalldawson added Voting and removed In DiscussionQEPs currently in discussion stage labels Oct 5, 2026
3nids commented Oct 5, 2026
Copy link Copy Markdown
Member
would it be possible to keep it open by the end of the week. Reasons for this
- the contributor meeting is happening now
- I personnally wanted to reply (I know I'm late)
All reactions
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
nyalldawson commented Oct 5, 2026
Copy link Copy Markdown
Contributor Author
would it be possible to keep it open by the end of the week. Reasons for this
I'll let @timlinux make that call.
All reactions
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
3nids commented Oct 6, 2026
Copy link Copy Markdown
Member
@nyalldawson I had a discussion with Tim this morning. I'm ok with moving forward to voting and will open another QEP to raise another discussion.
Its +0 for me
All reactions
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
elpaso commented Oct 6, 2026
Copy link Copy Markdown
Contributor
Please keep in mind that this QEP is meant to establish an initial policy, it doesn't mean that AI contributions will be banned forever and in any form.
+1
1 signedav reacted with thumbs up emoji
All reactions
1 reaction
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
02JanDal commented Oct 6, 2026
Copy link Copy Markdown
Sorry for also being late...
I have a big worry with this policy; it's not particulary clear what's actually prohibited. Using Claude Code/Github Copilot CLI/etc.? Sure, that's clear that it's not allowed. But what about LLM-backed autocomplete? What about non-LLM AI (for example, Jetbrains-based IDEs have long used ML models to rank auto-completion results)? Using ChatGPT to brainstorm a design? Searching for an error message and unintentionally seeing the answer in Googles AI answer? Asking Claude for a help with an issue in some PyQGIS, realizing it's actually a QGIS Core bug and going on to fix that manually? What if I can't think of the a term in English and use Google Translate to translate from my native language and subsequently use that in code?
I realize that there's a fear that giving even a little bit of leway here will result in the problem persisting, but I think it's very important that the policy is very clear, especially considering the penality.
To offer a suggestion:
No code contributions written by LLM or AI-agents are allowed in the https://github.com/qgis/qgis repository.
(removes the very broad "AI" term which makes e.g. Jetbrains ranking model questionable, and explicitly spells out "written" so that e.g. searching/brainstorming/etc. is allowed)
Preferably the policy would also contain informative examples of what is/isn't allowed.
All reactions
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
timlinux commented Oct 6, 2026
Copy link Copy Markdown
Member
Sorry for also being late...
I have a big worry with this policy; it's not particulary clear what's actually prohibited. Using Claude Code/Github Copilot CLI/etc.? Sure, that's clear that it's not allowed. But what about LLM-backed autocomplete? What about non-LLM AI (for example, Jetbrains-based IDEs have long used ML models to rank auto-completion results)? Using ChatGPT to brainstorm a design? Searching for an error message and unintentionally seeing the answer in Googles AI answer? Asking Claude for a help with an issue in some PyQGIS, realizing it's actually a QGIS Core bug and going on to fix that manually? What if I can't think of the a term in English and use Google Translate to translate from my native language and subsequently use that in code?
I realize that there's a fear that giving even a little bit of leway here will result in the problem persisting, but I think it's very important that the policy is very clear, especially considering the penality.
To offer a suggestion:
No code contributions written by LLM or AI-agents are allowed in the https://github.com/qgis/qgis repository.
(removes the very broad "AI" term which makes e.g. Jetbrains ranking model questionable, and explicitly spells out "written" so that e.g. searching/brainstorming/etc. is allowed)
Preferably the policy would also contain informative examples of what is/isn't allowed.
I think the measure of compliance is "did you in good conscience write the code yourself" - we are not set up to peer into your computer and look at what you did. You will know if your brain made the code you want to share or someone else's brain did.
All reactions
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
timlinux commented Oct 6, 2026
Copy link Copy Markdown
Member
@nyalldawson and others watching this QEP - as @3nids mentioned we had some discussions about this here at UC2026 - lets go ahead with the vote as scheduled. We will surely have some new QEP's looking to crack that door open once / if this goes through....but let's tackle one use case at a time so that we can all stay in the same boat and keep it rowing in the same direction.
All reactions
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
adamjstewart commented Oct 6, 2026
Copy link Copy Markdown
No code contributions written by LLM or AI-agents are allowed in the https://github.com/qgis/qgis repository.
I would highly recommend including documentation, bug reports, discussions, PR descriptions, comments, and basically all written interactions on GitHub. These are often even more verbose and extractive than the code itself.
All reactions
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
signedav commented Oct 6, 2026
Copy link Copy Markdown
Contributor
As I wrote already in the mailing list. I believe a moratorium to get time until we have a good solution for every human being won't hurt.
So +1
All reactions
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
02JanDal commented Oct 6, 2026•
edited
Loading
Uh oh!
There was an error while loading. Please reload this page.
Copy link Copy Markdown
I think the measure of compliance is "did you in good conscience write the code yourself" - we are not set up to peer into your computer and look at what you did. You will know if your brain made the code you want to share or someone else's brain did.,
@timlinux Yes, but there you also included the verb "write" which is missing from the current proposal. It might certainly be implied, but explicit is better than implicit (to cite the Zen of Python).
Edit to clarify: I don't mind the intention of the policy (especially when it's just about writing), it's just the wording I'm worried about.
1 dvdkon reacted with thumbs up emoji
All reactions
1 reaction
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
nyalldawson mentioned this pull request Oct 6, 2026
Merged
1 task
alexbruy commented Oct 7, 2026
Copy link Copy Markdown
Contributor
+1
All reactions
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
rouault-on-strike commented Oct 7, 2026
Copy link Copy Markdown
+1 (Even Rouault)
All reactions
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
vpicavet commented Oct 7, 2026
Copy link Copy Markdown
Member
For what it's worth, that's a +1 from me.
All reactions
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
nyalldawson commented Oct 7, 2026
Copy link Copy Markdown
Contributor Author
Declared as approved with votes from @rouault-on-strike@alexbruy@signedav@elpaso
2 Geo-Jagaimo and adamjstewart reacted with heart emoji
All reactions
2 reactions
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
nyalldawson added Accepted and removed Voting labels Oct 7, 2026
nyalldawson merged commit 167fde2 into qgis:masterOct 7, 2026
nyalldawson deleted the qep_428 branch October 7, 2026 21:00
gacarrillor commented Oct 8, 2026
Copy link Copy Markdown
Member
For the record, +1 from me as well, thanks @nyalldawson
All reactions
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment
Reviewers
uclarosuclaros left review comments
+1 more reviewer
rouault-on-strikerouault-on-strike left review comments
Reviewers whose approvals may not affect merge requirements
Assignees
No one assigned
Labels
Projects
None yet
Milestone
No milestone
Development
Successfully merging this pull request may close these issues.
None yet
15 participants
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Footer
© 2026 GitHub,Inc.
Footer navigation
- Terms
- Privacy
- Security
- Status
- Community
- Docs
- Contact
- Manage cookies
- Do not share my personal information
You can’t perform that action at this time.
来源:Hacker News:AI 热帖 · github.com