QGIS 禁止 AI 輔助貢獻,開源社羣爭論審查負擔與貢獻品質
QGIS bans AI assisted contributions
QGIS 禁止在專案貢獻中使用 AI、LLM 或任何基於智能體的工作流程;如事後發現,可能撤回相關程式碼並限制貢獻者權限。討論者認為,禁令可減少低品質 PR 帶來的審查負擔,但也有人指出,這可能排除高品質貢獻。政策只涵蓋 QGIS 應用程式,不包括 GDAL、GEOS 等函式庫。
I think this is the end of open-contributions, the maintainers already having too much on their plate. Plus it is becoming exceedingly rare of finding a contributor that save time, as in can do better than the maintainer itself using LLM and reviewing it itself. |
My experience lately is the best way to contribute to open source now is to just write detailed issues. The maintainer can then paste them in to an AI tool themselves and go back and forth faster than they could comment feedback to you and wait for changes. |
if someone wants to contribute, they need to prove they produce value to the project. I dont think this is controversial at all. The fact of being open source means if your contributions are rejected, you simply need to fork. The open market competition will soon determine if your contributions were truly valuable and whether the original project's owner misjudged, or that contribution was essentially worthless. |
I agree with fellow commenter, now with LLM the forks will NOT been distinguished as much by their technical differences/features as their trustworthiness (which is already the case today, but tomorrow will be skewed even more). Massively increasing inertia and favouring initial/well-known work/founder/team. |
> That's not entirely true: my work might get zero traction because nobody will know about it. Being able to market your work and build community are key skills for open source contribution. The history of forges is littered with interesting code that never got enough attention to go anywhere. |
Not really, even if you have a great improvement, you need to spend the overhead to keep it up to date long enough to gain traction. Then marketing it to convince others to even try... If the idea is too niche it might never hit that threshold for uptake. |
It's the end of open-contributions for one specific repository, that is all. It only covers QGIS, the UI application, not GDAL/GEOS and the other libraries that give it its functionality. Additionally, in the past few years the number and popularity of new open-source projects that do accept open contributions far exceeds the few old ones that do not. |
Expanding on that, the issue is aggravating the maintainers bottleneck, because how do you find new maintainers if you do not accept outside contributions? Another option would be to make a contributor pay for the review of its PR, even a small fee, to deter AI-slop, at least for new contributors. It could/would exclude students or people with the lowest wage though, but I'm optimistic even a 1$ bill or less would be enough. |
I'm purely focusing on the effectiveness of the measure keeping the open-source ecosystem alive, not discussing much about fairness. The current contributors are already massively skewed towards people with more ressources and time and 75% of the world, so I do not expect a sharp decrease in contributions. |
Why is everybody all the time in favour of AI on HN? This is objectively a good change because it will improve the quality of the code in the long term. |
> Why is everybody all the time in favour of AI on HN? It is useful?, it works most of the time? > This is objectively a good change because it will improve the quality of the code in the long term. It depends?, sure, banning hit-and-run massive AI generated PRs will help. These were problems before AI too, people just want to get their name on things without putting in effort. This also bans possibly high quality PRs that fix things or add something new. Either way, we'll see, anyone can still fork and if it's a better project then that will win over |
AI assistance doesn't necessarily imply lower code quality. It can help with improving it in a lot of ways. Full vibe-coding without careful review is what results in low quality code. I think a lot of projects are having trouble getting to the sweet spot, though: if they allow LLM-assisted contributions then no matter how much they write to try make sure the result is high quality they're going to be inundated with far more low-quality contributions and have to work harder to filter through and reject them than if they just have a blanket ban which then makes it a lot easier to reject everything. The linked discussion is specifically with a view that not all LLM assisted contributions are bad but that they need to stem the flow for now and figure out how to open up afterwards. |
Will it? Plenty of open source projects have bugs unfixed for decades because it's too tedious to fix by hand and would take five minutes with AI these days. I've also found that good LLMs can be more diligent in updating comments, tests, etc. |
Sure, which is why in first comment they say > 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. |
> This is objectively a good change because it will improve the quality of the code in the long term. Can you explain why you think that? QGIS is written in C++. Does that affect t your answer to this question at all? |
Calling your own opinion objective is not a good practice. This is very much something you can have different opinions on. |
I'm in favor of AI, but if I was a maintainer for an open source repo, I would also favor banning AI contributions. At least for the wild, maybe people who have built a reputation in the community could stay. I think AI can write quality code. What I doubt is if the average contribution will involve quality code or even human input. For me, it is the way AI has kept suggestions to either open issues with maintainers or make PRs to fix an "issue" it found. I know it hasn't researched the issue in depth enough to be talking with the confidence it has, and I know I am in no position to be bothering someone else unless I want to spend considerable time investing to make sure the issue is exactly what the AI is claiming, it isn't a known issue, and it is justified to bother the maintainer with it. But there are far too many who will see that option and just tell the AI to do it. It isn't that I'm against AI. It is that opening a PR or filing an issue use to have significant enough gatekeeping that most low effort low quality work simply wouldn't pass it, but that has now changed. So a new gate is needed to ensure those who aren't willing to put their own time into the work before asking for the time of others, and banning AI is one of the better options I've seen. This also doesn't even end AI interacting with the project, just changes it. If you have some unique use case that AI finds, you can download it locally, have the AI make the change just for you, and have AI keep updating when necessary. Each user gets the customization they want while maintainers are protected from low effort low quality spam. |
First, just check out the comments on any "I'm tired of reading slop" submission to refute your first point, the circle jerk is real. Second, while I sympathize with not wanting to be inundated with low effort PRs, putting a ban on AI assisted contributions in response is myopic virtue signalling. |
I think in this case it's not about signalling: in the linked discussion they are saying that the problem is the workload created by the AI-assisted creations, not the AI use in and of itself, and they are open to relaxing the restriction in future once they can figure out how to manage it. (The issue is, I think, if you allow AI, no matter how many paragraphs you write about taking responsibility and ensuring high quality contributions, you're gonna get a lot of bad ones just because by sheer volume there's enough people who aren't gonna read it, and that's gonna take a disproportionate amount of effort to filter out). |
> is myopic virtue signalling. Would you personally join in to evaluate and review the onslaught of AI generated PR to the project? |
If you didn't mention it, how would they know if your contribution was written by AI or not? What happens to contributors who sneak in their AI-assisted commits where it's not obvious? |
The new policy says: > If we subsequently discover that you have used an AI, LLM, or any agent-based workflow for your contribution, you will be subject to code reversion and contributor rights sanctioning. Policies like this have an element of trust to them. That's not new: open source projects have needed to trust contributors not to paste in proprietary licensed code since open source began. |
Ironically I lost my use case for QGIS since LLMs can readily write scripts for manipulating and converting point clouds (lidar data). I'm not a pro by any measure, mostly just making contour maps, but it massively streamlined things. To me it reveals the future of software |
It's true that simple data conversion is now more easily performed using vibe coded scripts. But the real value of QGIS lies in it enabling managing data large complex projects (infrastructure, urban/environmental planning, etc.). |
For those who, like me, had no idea what QGIS was: It is a free Geographic Information System (GIS), which means that it deals with creating, managing, analyzing, storing, and visualizing geospatial information. Think of (3D) maps and stuff like that. |
The question I have is what is an AI assisted contribution? For example, I still right code by hand, but I make many prototypes using AI before committing to a specific implementation. My code is clearly AI "assisted", but all of my final code is written by hand (no autocomplete either). |
Banning does not imply verification. The policy is just a warning. So now you know, if they suspect that a PR is AI-generated, then there may be further consequences. I don’t think someone is going to apply a stamp on each PR. The most egregious examples are always lazy (big diff, lengthy descriptions, weird phrasing,…). Now there’s a section in the policy to point to for the quick rejection. |
No, you retain full authorship of your code regardless of how it's generated. > My code is clearly AI "assisted" No such thing, it's 100% your code, regardless of how it came to be. |
The discussion is not about ownership of the code, that doesn't interest the people who have written the policy in question. "Assisted" does not necessarily mean "authored", which is the point of the comment you're replying to; helping you review the code is "assistance", even if no code was written. Curiously, https://github.com/qgis/QGIS-Enhancement-Proposals/pull/387#... shows that at least some contributors realize the vagueness of the policy, but they don't seem to care, which is rather unfortunate. |
I'm a non-native english, so I change the code myself, but I tend to participate in communities while using a translator. If I use AI, I can fix bigger things, but most of what I contribute to open source is finding small bugs, so I don't use AI for open source contributions. (I mostly don't even have the ability to make big changes.) Looking around open source like that a few times, I can understand the hatred toward AI to some degree: too many requests pour onto a single individual. Of course, that doesn't mean AI isn't helpful. In my view, AI writes code blocks better than I do, and it might even be better to use AI for some of the open source I've contributed to... but overall, I feel that some kind of system for filtering AI-based PRs is needed. |
Lucky for AI companies that OSS projects are doing this, otherwise where will they get their carefully created training data from? They would be reduced to training off the slop their tools produce! /s |
> 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 We have gone from "LLM-slop is gonna ruin open source projects" to we wanna "protect" humans so they can make some dough on the side training and stuff. If human coders become the bottleneck in the chain, the solution is obvious and there's only so much protection anyone can do. |
> If human coders become the bottleneck in the chain This "human bottleneck" is why we have QGIS in the first place. I think they deserve a bit more respect than that. |
> If human coders become the bottleneck in the chain, the solution is obvious and there's only so much protection anyone can do. Which chain? It’s not like there’s much productivity going on. There’s a lot of activity for very little impact. |
Go for it. I bet you could do it in a week. I'll fork it in about 30 seconds. And neither of us will get any traction, because the QGIS team has a history and proven track record within the GIS community, and neither of us are attempting to solve a problem that community has. |
You can clone anything in 15 minutes with AI. Just like you can start a child in 15 minutes. The question is whether or not you are willing to support your creation for the next two decades. |
but you can just fork the entire repo and continue development with AI yourself, why the need to rewrite it from 0? |
It's my impression that forks like these last only until they make the HN front page and then are quietly abandoned. |
Looking at the scope of their code, the quality, the testing rigor etc. it's clear that they feel threatened by AI. Realistically a couple of prompts coupled with a factory of agents can replace this entire codebase in a matter of hours. Furthermore, how will they prove whether code is AI generated or not? And... I was correct. See their other PR > QEP 429: Add exception to the AI policy for trusted contributors - #388 Aka only the trusted maintainers can use LLMs for speedups, the rest can suck it? Very mature behavior from the maintainers. |
> Realistically a couple of prompts coupled with a factory of agents can replace this entire codebase in a matter of hours you are the reason for this policy change |
I’ve been able to contribute to projects recently using ai. And another project banned this so I didn’t bother. The second was a bug fix for an issue I was having. The first was a new feature. Either way my bug got fixed but if a project maintainer doesn’t want it who am I to fight it. You can always fork it. I suspect my contributions are higher quality because I use different model providers to review each other but whatever. |
QGIS is not your run of the mill project, though. This is specialized software and a rare breed. It's in their right to decide either way, and this is the right call for this niche, IMHO. |
來源:Hacker News:AI 熱帖 · news.ycombinator.com