Profile
Back to NewsBack
Hacker News 15 min
Reader Mode
QGIS bans AI assisted contributions

QGIS bans AI assisted contributions

1 hour ago

Conversation

@nyalldawson

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.

@nyalldawson nyalldawson added Policy In Discussion QEPs currently in discussion stage labels Sep 24, 2026
@haubourg

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.

@timlinux

Copy link
Copy Markdown
Member

Thank you @nyalldawson - hopefully having a short paragraph like this rather than a long essay cut out any confusion!

@vpicavet

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.

@Amalvir

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.

Comment thread qep-408-ai-tool-policy.md

Uh oh!

There was an error while loading. Please reload this page.

@haubourg

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)

@kannes

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.

@rouault-on-strike

rouault-on-strike commented Sep 24, 2026 •

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.

@uclaros 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.

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.

Comment thread qep-408-ai-tool-policy.md

Uh oh!

There was an error while loading. Please reload this page.

@nyalldawson

Copy link
Copy Markdown
Contributor Author

@kannes

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.

@nyalldawson

Copy link
Copy Markdown
Contributor Author

@uclaros

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.

@nyalldawson

Copy link
Copy Markdown
Contributor Author

This has now passed the discussion period and has moved to the voting stage

@nyalldawson nyalldawson added Voting and removed In Discussion QEPs currently in discussion stage labels Oct 5, 2026
@3nids

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)
@nyalldawson

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.

@3nids

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

@elpaso

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

@02JanDal

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.

@timlinux

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.

@timlinux

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.

@adamjstewart

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.

@signedav

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

@02JanDal

02JanDal commented Oct 6, 2026 •

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.

@alexbruy

alexbruy commented Oct 7, 2026

Copy link
Copy Markdown
Contributor

+1

@rouault-on-strike

Copy link
Copy Markdown

+1 (Even Rouault)

@vpicavet

vpicavet commented Oct 7, 2026

Copy link
Copy Markdown
Member

For what it's worth, that's a +1 from me.

@nyalldawson

Copy link
Copy Markdown
Contributor Author

Declared as approved with votes from @rouault-on-strike @alexbruy @signedav @elpaso

@nyalldawson
nyalldawson merged commit 167fde2 into qgis:master Oct 7, 2026
@nyalldawson
nyalldawson deleted the qep_428 branch October 7, 2026 21:00
@gacarrillor

Copy link
Copy Markdown
Member

For the record, +1 from me as well, thanks @nyalldawson

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
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.
Chat with me