QGIS enacts moratorium on AI contributions (github.com)

354 pointsby bwnkl11 hours ago390 comments
https://lists.osgeo.org/pipermail/qgis-developer/2026-Septem...

Hendrikto 11 hours ago

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.

mootothemax 7 hours ago

There’s something about geospatial work that seems to break LLMs. I’ve experienced it a lot with latest versions of both Fable and Opus, and it’s the classic nightmare of confidently-spoken-but-wrong.

Yesterday, I had a relatively trivial bit of work in play using distance-weighting to measure stuff, and Claude did really well / but right at the end, despite having a success metric and lots of great results matching it, Claude insisted my maths was wrong and needed changing.

When i asked why, and pointed out that the suggested replacement would cancel out the distance-weighting entirely, it immediately agreed with me and asked to write its fifth project memory about it.

The other big ones it tends to mess up on without strict guardrails are coordinate systems; and measurements, often converting back and forth between a given nation grid and wgs84 latitude/longitude in ways that lose good amounts of precision; and then custom-coding haversine-equivalents to measure a distance that’s otherwise be a simple subtraction via the national grid coordinates. It’s baffling.

rfgplk 7 hours ago

Use Astra.

redhed 6 hours ago

As someone working on a geospatial program, Astra does not seem significantly different to Opus to me. I was surprised myself.

jandrewrogers 7 hours ago

LLMs really don't understand space.

chubot 6 hours ago

Yesterday I was trying to add a patio to some real estate photos, i.e. "virtual staging".

I uploaded 4 different photos of the same house, from different angles.

I asked Gemini, ChatGPT, and Grok add the same patio to each photo. The results were laughably incoherent (not to mention ugly).

I repeatedly asked them to make the 4 photos consistent in 3D, and it's obvious that they have no way to do this -- no understanding of the scene.

They also could not understand the concept of "back patio" and "side patio" -- relative to the house, when the house was being photographed from different angles. Even when I pointed out which one was the side patio, they would get it confused in a different image.

(I should not be surprised by this, and yeah I know everyone says LLMs have "jagged" capabilities. But to me this shows how bad all the extrapolation of AI I read on say Hacker News has been)

mootothemax 6 hours ago

I reckon this type of task is crossing capabilities in a way that the LLMs (very quietly, mind) don't support.

An LLM can describe a photo fine, but it cannot tell you the exact coordinates of what it's describing. When I last tested this, you could sometimes get it to lie about the coordinates, but asking it to draw an approximate bounding box around a given feature - total fail, sometimes laughably so.

post-it 6 hours ago

Yeah, I tried to have AI arrange some furniture-shaped rectangles on a black-and-white floor plan. Impossible. I could painstakingly guide it through writing a floodfill to find the corners of a room and parse out the dimensions listed in that room, but at that point it wasn't using its image-seeing abilities at all, and it still couldn't do things like putting a particular rectangle against the bottom left corner.

physicsguy 5 hours ago

I think they do but only when it's applied to learn some specific spatial task.

We can see for e.g. that frontier models have got really good at CAD sorts of tasks recently. That suggests benchmaxxing RL to a degree but it does mean they've suddenly got quite good at forming simple geometries in a step by step way.

tomgp 6 hours ago

This is my experience too, it has got a bit better but nowhere near as quickly as other domains I deal with. I can usually guide the LLM to a decent solution but there's a lot of hand holding and I'm often left wondering if it wouldn't have been quicker for me to just get stuck in and do it the old fashioned way. Maybe because geospatial stuff is pretty niche so is under-represented in the training data relative to yr standard CRUD apps and React front ends which are ten-a-penny?

nicolamanzini 6 hours ago

I had similar issue with 3d code in threejs. Models used to be quite bad over a year ago. got ok around year ago. the latest are quite good at it.

so i made a simple ab testing eval on fixed prompts: https://threejseval.com

There is a 7 degree o freedom robot arm that is really telling of the improvements in coordinates reasoning:

https://threejseval.com/gallery?eval=robot-arm

carodgers 5 hours ago

They're notoriously, hilariously bad at chess, even today. So yes, agree, their shortcomings come much more forcefully and immediately to light when they attempt spatial tasks.

Waterluvian 5 hours ago

I’ve found it to be surprisingly effective lately.

I’ve been renovating a spatial/topology validation system for an OpenLayers driven map editor for robot fleets. I set up a clean interface for spatial indexes and predicates as well as your basic geotoolbox functions.

I was most surprised by a moment where Opus detected that using a union approach to ensure that robot footprints always sat within valid polygons (possibly straddling multiple valid polygons) was slow in testing. So it decided to find the difference between footprint and each polygon within the AABB of it. And if the remaining polygon is zero size, it’s valid. If not, the remaining shape is what is invalid.

I was also surprised just how good it was at recognizing, “in the test data there’s a lot of this kind of feature so we should explore what’s more common: hits or misses?

Before robotics I spent a lot of time building spatial models for data processing and analysis. I find that I can usually just explain the spatial question in natural language and it will figure out the relevant inputs from the dataset and what the process can be. I’m not obsolete quite yet though because maybe 10-20% of the time it goes on a pretty fantastical journey through unnecessary intermediate data products.

mootothemax 5 hours ago

Oh don't get me wrong, it's a level-boosting monster even with that.

The worrying bit is if you're not keeping a close eye on it, very easy to think you're getting a solid system, but thanks to the internal madness it's used, your entire grid has in effect shifted 10 metres right, and any spatial measurements are far more approximate than it's letting on.

That was the bad old days for me. Nowadays I keep it locked down to specific systems for projections or actual spatial calculations, and that seems to keep it honest.

And the surprise is awesome when it happens! My favourite is all the QA steps you wish you'd had and that it reasons out on the raw data alone:

"oh hey, this one city has no data but it has a high population, oh right, that's because of this obscure lookup had a row chopped off, there you go, sorted."

I get to stand back and applaud it, honestly.

Waterluvian 5 hours ago

Oh absolutely. I just had flashbacks to getting outputs where a raster is completely wacko because the input coordinate systems were not the same and so the grids didn’t line up. It absolutely still has to be supervised closely, much more than a lot of more vanilla programming tasks I’ve experienced.

One thing that helped me a ton was making an adapter between my domain specific datasets/systems and QGIS. So I can watch and examine the intermediate steps and leverage that my brain is still pretty darn good at visual pattern matching.

mootothemax 5 hours ago

Ouch! I had a sympathetic shudder at your raster flashback, totally been there. I totally get your visual pattern matching instinct too - spooky cos that's how I do stuff too. Great minds.

For what it's worth, I use duckdb and its spatial stuff as my adapter. Works for my brain and if you force e.g. SQL files for each step, gets there in the same kind of way. Still some sharp edges, mind, but overall working well. And then Claude comes for my maths and I sob.

jasomill an hour ago

LLMs are very good at conceptually simple but tedious classification problems in general.

One that has saved me many hours: given a small subset A and a disjoint sample B of a larger set of, say, complicated JSON objects in a consistent but unknown schema, what do the objects in A have in common that isn't true of any objects in B?

Example result from Claude: The field foo contains dates between August 3 and August 7, 2016 in every record in A, and every record in B contains later dates.

Claude even correctly hypothesized that it was dealing with metadata from a document management system, that field foo was the creation date of the document, and that nearby field bar, identically 10 in all records, was the document retention period in years, and thus A represented documents that would have been purged between August 3 and August 7, 2026.

uoaei 11 minutes ago

I mean, it's obvious, no? LLMs operate exclusively on language, and language is an especially poor way to represent geometry, let alone geography to any useful resolution.

robertclaus 8 hours ago

At Plotly we are dealing with similar issues. We're doing our best to keep up, but it's genuinely hard not to just cut our losses on passer-by community contributions. 3 page issue writeups nobody has proofread, nobody but a bot to follow up with when we try, huge volume of plausible but weak PRs eating up reviewer time. All while we have core work we really want to be focused on rather than merging another bug fix we don't expect anyone but this bot has really run into.

qwerpy 7 hours ago

Yeah I sympathize with this, but I’ve experienced the other side of this: I ran into a bug (an integration for home assistant has to be manually kicked every time HA restarts due to a bug in the integration) that my AI fixed with a one-liner. It works great for me. I submitted a PR which is languishing for weeks. No problem. My AI will just maintain a personal fork with my patch until my PR gets merged (or not). Previously it was way too much work maintaining your own fork, merging in upstream changes, and keeping your patch working.

I think this is going to be a common outcome from the fact that many people have AI agents that can one-shot fix and deploy. Maybe it’s not a bad thing for those people and the maintainers who each get what they want.

theptip 7 hours ago

I feel this is something of a temporary and unstable equilibrium. Once the maintainers figure out how to harness agents more effectively, they can just have a daily bot job to poll all the forks and pull back stuff that looks good. We just don’t quite have the tooling and practices to scale the contributor side effectively.

I think OSS is going to look more like the original Git model, or perhaps even further towards “horizontal gene transfer” where memes/alleles get copied across various repos, rather than having a single lineage of phenotypes.

ultrarunner 6 hours ago

I would be interested if a common outcome was to have a fork with AI PRs and one with AI contributions disabled. Not only does it satisfy both camps, but it provides a longterm anecdote of the effects of agentic code quality and maintainability.

theragra 6 hours ago

Yeah. I did almost the same with KDE Spectacle. It lacks good shortcut keys for annotations. I've just asked AI to add them. Sent a manually reviewed TINY patch to maintainers, never heard back.

theptip 7 hours ago

I’m a little perplexed though. The problem as stated is there’s too many drive-by contributions with AI slop. Isn’t the solution to define a contributor network (eg a GitHub org that you can apply to) based on trust?

The other option they proposed was a proof-of-humanity by payment, which seems much more in line with the above.

The problem with just banning AI is you didn’t solve trust, and your untrusted users are just going to drop drive-by PRs anyway. How do you know if an untrusted user did or did not use AI? In practice this likely means just aggressively closing “slop-looking” PRs from users you don’t recognize?

But then, you’re preventing your trusted community members from benefiting from AI assistance.

I’ve been advocating for defining a higher standard for AI contributors, eg an AGENTS.md that specifies some meaningful correctness bar. In this case, perhaps the PR that adds you to CONTRIBUTORS.md could to add a large novel and non-trivial end-to-end test; if you can construct problems that are easy to verify but hard to get right, then this is your “proof of work” to establish competence.

From reading the GH issue it does seem this is a placeholder solution, so I hope they find a more stable long-term resolution.

post-it 6 hours ago

> Isn’t the solution to define a contributor network (eg a GitHub org that you can apply to) based on trust?

Yes but this is fairly tedious people work that most open source maintainers are not interested in. Once the tooling is available to make that easy, it will become more popular.

kardos 7 hours ago

Possible idea: tag them with AI, and leave them aside for 6 months and review them with 2027 AI

mrkaye97 6 hours ago

This has basically been the story for us at Hatchet too, and it’s been similarly challenging. A lot of the OSS PR reviews I’ve done lately from non-core contributors are basically just me going back and forth with Claude via someone else, which is frustrating when I feel like I could 1) just not or 2) do the back and forth with Claude myself and cut out the middle man.

I have a sneaking suspicion that people are having some agent check out 500 repos and just prompting with “find a bug in this repo and fix it” and submitting the results blindly.

Edit: typos, on mobile

jvanderbot 6 hours ago

Well, contributing to FOSS is a prestige accomplishment. It's viewed as a way in. It's now just a metric to game, and to automate that process is too easy.

Combine this with a growing sense of being "left behind" and a highly publicized collapse in software jobs coming any day now and any proof of contribution is highly prized. So why not?

nemomarx 6 hours ago

They'll destroy the prestige of it by doing this, though. Unfortunately the OSS model will have to change to cut them off now, and the more people rush it the faster that response will happen.

jvanderbot 6 hours ago

On the contrary, the prestige will go up - filtering mechanisms, fatigue, and general banning of AI contributions will make it harder to get a PR accepted. If you make it past all that, you are a real one now.

20k 6 hours ago

I've seen this with godot. People are letting their agents blindly file AI generated PRs even though Godot specifically bans this, and then coming in and giving a very weak apology when they get called out by the devs. A lot of the bugs are incredibly low priority bugs as well that no reasonable person would ever really run into, with these huge long wordy slop reports

Its kind of appalling that people think this is an acceptable way to behave

dspillett 6 hours ago

> I have a sneaking suspicion that people are having some agent check out 500 repos and just prompting with “find a bug in this repo and fix it” and submitting the results blindly.

From the reports coming from a number of places, I'm absolutely sure this is what is happening. People want the glory of finding a named bug, perhaps they believe some more widely useful reputation gain is heading their way if something that their bot finds is actually massively significant. Though it isn't limited to 500 repos, they tell it to just keep going after every one it scans.

BowBun 6 hours ago

>I have a sneaking suspicion that people are having some agent check out 500 repos and just prompting with “find a bug in this repo and fix it” and submitting the results blindly.

This is unironically suggested as a way to 'get in the door' both in bootcamps and 'spammy' universities.

JDups 5 hours ago

I have seen a job application with a requirement of having contributed to an open source project with a certain minimum number of github stars.

levkk 6 hours ago

We disabled PRs for PgDog, but left the issues open, for now.

Most bugs that are reported via AI-generated GitHub issues are edge cases, which are technically bugs, but not something anyone actually ran into.

Contributions are exclusively AI-generated, and it's much easier to just go off of a GitHub issue myself than asking the bot behind the GH account to remove the 5 redundant tests it added, or to refactor what has become a 3k line file.

AI doesn't care about code quality, maintenability, or long term goals. It's just a local maximum optimized with RL. Great for debugging, OK for reviews, but can't produce anything that's above average.

rustystump 6 hours ago

This is pretty spot on. AI will find some off the ball edge case that is a valid edge case but perhaps an undefined expectation of the code. Avoiding the additional complexity of handling it keep everything more grokable and clean.

Sadly, people seem to think all these edges AI finds are valid and must be fix and were never thought about. Most were thought about and deemed not worth the additional 50 if statements to handle. Cyclomatic complexity has exploded exponentially with AI and everyones response is “no no no you just need to use opus 6.5 and it will work”

dspillett 6 hours ago

Low quality PRs, along sometimes with concerns of providence that might cause future licensing issues, were a problem before the Eternal LLM September made it easy for far less capable (or caring) people to submit them than before. This is at least part of why a number of projects switched to being “open source but not open contribution”.

verdverm 6 hours ago

The linux kernel team set something up that they are pretty happy with. I don't know the details, but they have dealt with the influx and feel comfortable their solution will last.

https://www.youtube.com/watch?v=NnV_cWeoo5Q

One thing I've been thinking is something like the DCO checks. Set up some account bridge between (eg.) Discord and GitHub, then auto close anything submitted by accounts not sufficiently involved with a message linking to the new contributor policy and rationale.

jcolot 10 hours ago

Part of this is an alignment problem, but on the human side: the bottleneck is no longer writing code but staying aligned with it, knowing what it does and whether it does what you meant. In my own work, that’s now most of the job, even for code I asked for. For maintainers reviewing large PRs from strangers, it's certainly much worse. A ban is bit harsh, but I understand why they’re rationing their attention.

gonzalohm 9 hours ago

I fully agree with you. But I feel like I have taken the opposite approach. Staying aligned with the code is such a burden that I don't think AI is making my job easier so I stopped using it.

trentnix 9 hours ago

> the bottleneck is no longer writing code but staying aligned with it, knowing what it does and whether it does what you meant.

Perfectly and succinctly said.

agentultra 9 hours ago

Knowing what your software does is such a hard problem. Most developers have an idea but if you ask, how are you sure?, the answers reveal how little they know.

Most often we’re satisfied with signals and indicators that it works and we build theories and mental models that use to try to avoid the effort of proving anything.

Worse is what happens when you start using LLM models to generate the code for you. I find you start losing the mental model short-cuts; you start to trick yourself into understanding the code. You understand little.

And what few studies there are of code review suggest that we have very little impact on code quality after reading more than a couple hundred lines of code over an hour.

So the current mental leap is, “the AI is a better programmer than I am.”

I think it’s still worth becoming a better programmer regardless. And there’s no royal road. You just have to write code and struggle with writing bad code.

asdf88990 9 hours ago

Are we now really this far knees down in the gutter already? Are we?

agentultra 9 hours ago

Maybe. I’m not certain the pages and pages of informal markdown specifications for the agents really add anything for me.

whattheheckheck 9 hours ago

Yes the bar will be raised to formal verification and actually strong mathematical proof skills to be a real software engineer

fn-mote 9 hours ago

… and isn’t the AI is already ahead of 99+% of programmers on that front?

I don’t know anything about formal verification myself! But proof? I am sure we have seen that AI capabilities exceed humans on that front.

biztos 8 hours ago

Alas, I think we (collectively) either are, or will be soon. There will be people who keep 100% knowledge of the code in their projects, but I don't think there will be any monetary reward for that, nor reputational outside of their own niche. And I say that from a position of really wanting to be wrong about it.

I recently started using Claude to write an app. I was going to write it by hand but was having trouble getting motivated, and I knew I had to "up my game" in the vibecodery anyway. So far it's been a lot of back and forth, I keep the leash pretty short because I don't want The Claude AI you see everywhere now.

But even with good intentions and the short leash, I find myself saying "yeah, whatever, it looks like it did what I told it to do" and not actually reading all the code. Some yes, all no. And this is for my own project, nobody is my boss here, and it's nothing I couldn't have done by myself.

Now imagine the incentives for someone who's doing it for money, whose boss is pushing them to do more AI and not less, who probably doesn't actually know how to do all the things the AI is doing for them, who looks around and sees who's getting promoted and who's getting laid off...

And remember that most of us, most of the time, no matter how much we might love computers and software, are that person.

But hey, it could be worse! Have you heard about the Literacy Crisis?

yxhuvud 8 hours ago

> 100% knowledge of the code in their projects

That stops working once the code reach a certain size/complexity limit. It is a different limit for different people, but there is a point where there is just too many parts to be possible to fit in a head. There is also a middle stage where everything fits, but can't be accessed all at once but require some time to retrieve specifics when looking at areas not in recent memory. The middle step is more achievable the easier the code is to reason about by black boxing parts.

biztos 6 hours ago

I hear this a lot as a reason to accept that only the robots have read the code: "but it's too much code for one person to understand."

Yes, but it's not ever too much code for a team to understand, or a community. The question is whether you can build a team or community with enough trust and integrity that two things are always true:

1. Alice understands the fluxtron renoberator module she wrote.

2. Bob can also shift his attention there and understand it if necessary, because Alice writes clean code that was reviewed by John and Sally.

You can have Alice, Bob, John and Sally all be robots, and you can decide to trust the robots, but (so far anyway) it's a choice, not an inevitability.

TeMPOraL 6 hours ago

But 1 and 2 were rarely true pre-LLMs, not in any code that has substantial active development. Because 3 months later, the fluxtron renoberator module has been modified, fixed and refactored by 5 other people and looks little like Alice remembers it, and Bob, well, he could never shift attention and actually understand it, nor could anyone else, because that's just a nice story we told ourselves that never worked in practice.

skydhash 5 hours ago

> But 1 and 2 were rarely true pre-LLMs, not in any code that has substantial active development.

I'm ready to bet that is untrue. Sure, no one can recite the code, but people can quickly scan the module and refresh their memory as well as understanding the new changes, even after a while. If not, collaboration would have been impossible.

> Because 3 months later, the fluxtron renoberator module has been modified, fixed and refactored by 5 other people and looks little like Alice remembers it

I don't know for which type of projects those things happen, but good design can have a long staying power. Drastic refactoring in a short period is a clear sign of bad engineering.

> and Bob, well, he could never shift attention and actually understand it, nor could anyone else, because that's just a nice story we told ourselves that never worked in practice.

A lot of OpenSource projects are decades old, and while some core maintainers can stay for the lifetime of the project, new contributors came, understood the code, made changes, then left. Same for hires in companies.

jcelerier 4 hours ago

> I'm ready to bet that is untrue. Sure, no one can recite the code, but people can quickly scan the module and refresh their memory as well as understanding the new changes, even after a while. If not, collaboration would have been impossible.

I don't understand this part. When I was doing freelance consulting, my job was quite often "come to our office, scan this 40 million lines codebase and fix stuff for the next week". It was never a problem to read and get up to speed completely unknown codebases if you have basic programming ability. Much harder to do something that fits floaty business objectives though.

jghn 5 hours ago

> But 1 and 2 were rarely true pre-LLMs, not in any code that has substantial active development.

Every large project I ever worked on worked exactly this way. What do you mean it was rare?

jghn 8 hours ago

> but I don't think there will be any monetary reward for that, nor reputational outside of their own niche

I used to think this but have come around to the opposite. I'm already seeing client projects where they went off and LLMd their way forward. A few hundred KLOC and many rounds of bug fix whack-a-mole later, they have something that's a giant house of cards.

Sure, once in this state the LLMs can repair issues at a faster rate than the humans can, but the damage is already done at that point. And it requires a lot of combined human/agentic effort to unfuck it.

TeMPOraL 6 hours ago

We already were, even before LLMs, we just deluded ourselves we're not.

grvdrm 9 hours ago

> how are you sure?

This is not just a software problem. I see it everywhere. Folks in business roles just as much as any other role. There is a surface-level operating framework to get a job done but the why/how is sometimes lost.

I always come back to an example in my past. Somehow automated a report. From Excel to Power BI. Then for months Power BI was wrong. Automation (more code involved for sure) made it run faster but then people forgot about the how - how to check/validate/etc. And since it was code - for many non technical people the whole thing was a lot harder to deal with needing to deep investigate issues.

ptero 8 hours ago

But that is how most of the companies work (and did, for centuries). Very few roles affect critical flight safety, nuclear control or other things that need a bunch of nines for reliability, written and fire-drilled fallbacks, etc.

For everything else the general mode is "can we make it work well enough". And when it breaks, well, we will curse and pry it open and either fix or rebuild it. There are many stories of a particular thing that was built long time ago by folks who are long gone and no one knows how it works or even where it physically is.

And it works fine; usually better than ensuring complete reliability from the get-go, when it is not clear if it is a long-term core feature or a kludge that will be obsolete soon. My 2c.

whstl 8 hours ago

I agree.

But I feel like it's a minority that really know how the software they're writing really works. And it's 10x worse for older legacy software.

Mostly because the people doing it don't care. Not judging, just reporting I guess. I know because I used to work in quite a few companies where the "money maker" app was on maintenance for years and nobody was able to answer questions or didn't even know most corners of it still existed.

This desperation mindset also often correlates with people writing code without care for the next maintainer.

And the scary part is that this also correlates with advocacy for going all-AI.

einpoklum 9 hours ago

> the bottleneck is no longer writing code

The bottleneck has never been the writing of the code. It's all the rest that takes the majority of the time. Of course, it is often the writing which lets you expand your understanding or your awareness of challenges and pitfalls, which then puts you back on the drawing board.

jebarker 9 hours ago

This. We’ve just moved the bottleneck from during writing the code to reviewing. The failure mode here is that you can choose to just do a light review since the code “works” but if you had to write the code yourself you would have been forced to consider the design choices and broader implications of the code more.

skydhash 9 hours ago

The bottleneck they feel during coding is the lack of knowledge. Knowledge of the technical platform and knowledge of the deeper implications of the task’s requirements.

I’ve mentored juniors and the common trait is that they rush to code without understanding, then they spend days trying to fix things. Coding will seem like a real bottleneck for them.

JackSlateur 4 hours ago

Is this a remake of "just spend 15 days near a whiteboard, then write the code and it will be awesome" ?

Have you ever heard of the V model (https://en.wikipedia.org/wiki/V-model) ?

Long story short: it does not work, because the act of coding adds new valuable inputs that alters the (original) design.

One might say "you just have to know", which is an equivalent to "you just have to figure out the future", "you just have to be perfect" and other non-sense (which does explain why V cycle does not work, high inefficient, low quality outcome, bad method)

skydhash 4 hours ago

There's a wide spectrum between specs upfront vs trial and error with the codebase. Somewhere in the middle sits the whole MVP and iterative building, where you start with a smaller codebase and fill it up. Basically exploiting the fact that a lot of concepts, while interconnected, are modular and can be tackled on their own. Like how the design of the brakes and the engine in a car, while related, are mostly blackboxes in regard to each other.

People that do trial and errors lacks direction and their code is often fragile, especially with evolving situation. Because their have failed to grasp the deeper truth of the domain. The usual signs are tightly coupled code and code churn.

LelouBil 6 hours ago

AI agents can build a whole app and review PRs better than a lot of people, while having access to more context at once.

Honestly, where did the bottleneck end up now ? It sure isn't simply reviewing, or designing, so where is it ?

jebarker 6 hours ago

> AI agents can build a whole app and review PRs better than a lot of people

Assuming you're comparing to experienced human developers that are good at what they do, then I think you have to define what "better" means here. It's clear that you can get correctly functioning software faster in many cases, but it's not clear that the design will be better in terms of conciseness and readability or that it's as useful as a foundation for building upon later if nobody understands what's going on inside.

LelouBil 2 hours ago

Actually I was extrapolating, I should have expanded about it.

But to me, having graduated last year, it doesn't seem far-fetched to think that AIs will also get better in terms of design.

And will conciseness and readability even matter in the long term ?

It's all things I think about more and more often and I'm not sure where I will end up

jebarker an hour ago

> And will conciseness and readability even matter in the long term?

Fair question. Right now the way for humans to understand code is to read it and that'll be easier if the code is concise and readable. But it's possible that we'll end up in a situation where the code is separate from the explanatory materials that humans need. This is similar to math where we might have impenetrable Lean proofs of theorems and then natural language expositions to explain the proof.

cruffle_duffle 5 hours ago

> It sure isn't simply reviewing, or designing, so where is it ?

If I can shit out some vibe-coded thing over a weekend that does <useful thing> it means anybody else with the same tool can do the same thing. There is no value in the actual code itself -- the faster these models run, the more true that statement will become. In the not too distant future these things will run directly on silicone and operate at thousands of tokens a second. That means they'll iterate and explore something far faster than they do now -- mistakes they make will be fixed in seconds or perhaps milliseconds.

That being said my <useful thing> is likely only "60%" of what makes an actual product somebody would buy. It's finding the other 40% that is something I don't think that LLM's can solve. That requires human judgement and then knowledge of how to communicate that vision to your agents.

In short, I believe the challenge is knowing what to build that others would find useful. It's easy to crank out <useful thing> for yourself. Making something others can use is not. And that is, possibly, the bottleneck. But once these are fast and dirt cheap, (and that is a when not an if) the cost to iterate to something workable goes way down. Of course mumble mumble "no silver bullet" / "mythical man" month mumble mumble and all that soo......

I dunno... doesn't directly answer your question but it is what came to my mind anyway.

einpoklum 2 minutes ago

> We’ve just moved the bottleneck from during writing the code to reviewing

Ah, that's only true if whoever is in charge is willing to _have_ a bottleneck in reviewing. In some software development groups, there is a strong pressure for reviews to pass, i.e. expectation that reviewers approve; and the notion of veto is not common, so that if some reviewer objects, the implementing developer can find others who would be willing to accept, bypassing the objections. Also, few people are willing to conduct long reviews of a lot of code, and even less people are willing to read multiple comments in a long review of a lot of code.

Now, in some projects, there are only one or two "owners" or "marshals" for some areas of the code, so they can apply a strict standard if they want to, but - their time is limited, meaning that long LLM vibe-pull-requests are likely to either be ignored for a long time or rejected off-hand.

I have many years of the experience of of raising concerns, criticism and objections in reviews

skydhash 9 hours ago

> but staying aligned with it, knowing what it does and whether it does what you meant

That’s the old “Programming as Theory Building” stated by Peter Naur. Writing code, once you learned a language and a few libraries has always been easy and can be made easier by using tooling. Having a good understanding of what has been written and what needs to be added is the difficult part.

I think for every line of code I’ve written, I spent 2 to 5 hours reading specs and docs. Creating software is always about understanding. If you’re thinking too much about syntax and libraries symbol, you’re just at the beginner phase of coding. Like thinking about grammar when learning a second language or being hyperaware of the car as a beginner driver.

psychoslave 9 hours ago

That's why I'm now considering what are the ratio for each language in term of exposing the business logic nub that human can grab (mostly) correctly vs all the clutter that is here mainly to bring additional type safety and please the compiler in some way.

One approach that Ruby took for type introduction was to put that in a different file. That comes to my mind.

Typescript brings some niceties, but also some boilerplate all other the place. Combined with something like Effect, Zod, and the like and line count explode. Not sure OCAML or Haskell would provide more compactness for equivalent safety.

duesabati 8 hours ago

What you refer to as "clutter" is what actually documents the code without the need of comments if done correctly i.e. naming things properly i.e. ubiquitous language. Before rushing to throw away things you don't know, learn about them.

psychoslave 6 hours ago

There is no "document with documentation", be it comments or as companion side resource with an obvious cross-reference.

There was no mention here on rushing to anything. Verbosity is not always bringing actual non-duplicating information. And even when the explicit way is taken, it can be put aside from human main analysis observation point. Actually even Typscript allow to organize type information by using .d.ts files for declaration files that contain only type information, while implementation files use the .ts extension.

Then there is the tradeoff between grepable explicit type and spare implementation with as much type inference as possible.

pezgordo 9 hours ago

It is honestly impossible to review the amount of code that AI generates and we dont know how to adapt yet, review line by line is already outdated imo, we just don't know what should replace it.

My prediction is that in the future we are going to be more focus in the testing part (that should be more human readable) than the code itself.

Whatever it is, the only thing clear to me is that the tooling will have to change.

CrimsonCape 3 hours ago

I am a hobbyist and work in a different field than software dev. Old-school guys in my field are super-fixated on the UX and treat the work like 'implementation details.' They abstract away the time and effort such that really old school guys (who have been top-of-the-pyramid in their business) come off as insulting with their 'I don't care what it takes, get it done' mentality.

I can't help but feel that when I mimic their behavior with an LLM, it works great. Just keep pounding claude saying what I want, prove it with tests, and have claude give me a 1 shot script to build and launch the app. I get hands-on time with the UX a lot more (I think?) and claude happily iterates. Most people stop happily iterating after like iteration 2; then becomes teeth-pulling.

So to your point, claude's tests are gibberish but the 'testing' via user interaction is what I think the future is going to look like.

We will need some novel systems where hot-reloading is the default experience and you are looking at the build output constantly as opposed to the source.

claude was like "I took your logic, removed the shared state, ran the tests 600 times in parallel, proved no state is leaking across runs". I was impressed...

pezgordo 3 hours ago

Funny enough the current web stack is the one most ready for this kind of development. Playwright may have the best way to describe user interactions, also the hot-reloading part.

I am doing an app that keeps a web and desktop version at the same time, mostly because the agent can iterate faster and with less resources and more constraints (running in a container) with the web version.

bushido 8 hours ago

Agreed.

The way I like explaining this to people is that I don't think I build products anymore. Now I build the harnesses which build the product. And a massive part of that is ensuring that I can make the AI remain aligned with my way of thinking.

pisymbol 8 hours ago

I would even go further that part of the challenge is the "verification" of your way of thinking which is much harder to do since your harness now is "in the way" sorta speak.

The software telephone game seems to never end!

kafkaesque 8 hours ago

So, you ask an LLM "what does this code do?" and it spits back a long list of things.

Is the fear that it is (maybe wilfully) misinterpreting the code, being too general, not going into specifics or is just not smart enough to catch all the nuances, privacy issues and hidden mistakes? Is it a token issue? A combination of all this?

mastax 6 hours ago

Suppose you're taking a math class and the instructor writes on the board:

> An eigenvector or characteristic vector is a (nonzero) vector that has its direction unchanged (or reversed) by a given linear transformation.

Do you understand eigenvectors now? Speaking for myself: certainly not. To really understand even that definition I'd need to do the calculations, play around with how they can be used in different circumstances, and allow my brain time to sit with all this new information and become comfortable with it.

I think LLM code descriptions are similar. They don't really bring understanding. Sometimes that is fine.

ahoka 8 hours ago

I think the economics just change drastically. A few years ago a helping programmer was great help and would implement something that was agreed to be needed to be done by the project or something very important for the contributor (the reason they spent the time to contribute). Now anyone can get a 20$ subscription and prompt away, but so do the project's core developers. So why should they bother separating the wheat from chaff? I totally understand that.

jp_totsum 7 hours ago

When I started working in the 80s in my first job, the head of department had banned the PC for administrative tasks. He thought that the old manual process was more reliable and allowed him to better control what was going on. He retired one year later and the PC were introduced successfully shortly after. Was he wrong to push back ? At that time, that was what I thought. But now, 40 years later, I don’t think so anymore. I think that that delay gave the proponents of the PC the time to prepare themselves a lot better and is a reason for the success.

I can’t help drawing a parallel with what is going on now. Even though I’m pro AI, I understand why QGIS is stepping back. There are a lot of places where the processes and tools are not ready yet to fully embrace it and you need time to prepare.

throwaway2037 8 hours ago

More LLM allergies.

Look at this PR: https://github.com/qgis/QGIS/pull/67731/files

The code change is so simple that Claude today could easily write this code. How will they know if an LLM wrote the code? They won't. And this policy will age like milk: Each passing month, coding LLMs are improving. It will become more difficult to "detect" an LLM-authored submission.

The best LLM policy that I have seen for an open source project is Linux. Roughly: You can use LLMs, but you are fully responsible for the code it produces. Linus acknowledges both positives and negatives to LLMs.

croes 8 hours ago

You are missing the point

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

It’s not about detecting AI, it’s about reducing the amount of code to review.

XorNot 7 hours ago

Okay for feature work but the amount of bugs I can find with Claude in hour, with deterministic reproducers is staggering.

croes 6 hours ago

Bug reports also need review because not every bug reported is a real bug, could be hallucination and the "fix" is useless or even dangerous.

You don’t know the model and prompt they used to generate the report so you can’t even take the model quality into account

dspillett 6 hours ago

If you are reporting a number of bugs per hour then you can't be properly reviewing each to make sure it isn't a complete hallucination, a behaviour-as-designed reaction to silly configuration, etc, nor are you reviewing the documentation to make sure it both actually makes sense and is appropriately concise to not waste time in the review process.

This sort of thing, in the minds of not just you but many other people, is exactly the problem. On behalf of the projects that you have communicated with this way: thanks a bundle.

XorNot 2 hours ago

I said "in an hour" to mean, the time it takes to identify the issue.

That fairly obviously doesn't turn into "bugs per hour" to verify, but if you find 10 candidates in an hour and then get reproducers of them out over the next few days, they are real bugs.

Like sure, "not properly reviewing" could be a thing but if I'm looking at a hard crash on my console, that's not behavior as designed.

skydhash 8 hours ago

> How will they know if an LLM wrote the code? They won't

They don’t need to know. The policy is not a linter that will scan each PR. Just like the law does not monitor everyone 24/7 for criminal behavior. It’s enough that the rule is in place and it’s enforced when they catch an infraction. No need to be perfect as long as it lowers the pain.

robertclaus 8 hours ago

Agreed that's the best policy for the real contributors, but how do you fight back against the folks using your reviewer's good nature to test their coding agents?

Also, Linus is also comfortable closing 100 PRs as "this looks like garbage". Many communities are softer and try to be more helpful with new contributors.

throwaway2037 7 hours ago

Yeah, fair point. I laughed out loud when I read this part:

    > Also, Linus is also comfortable closing 100 PRs as "this looks like garbage".
Probably, as LLMs get much, much better, most open source projects will be overwhelmed with submissions. I guess this is a good problem to have. Some projects will scale (more maintainers/reviews); others will become more harsh.

xgulfie 7 hours ago

The Linux kernel has the benefit of a big team of maintainers, and the GitHub integrations with these LLMs make opening these low-effort PRs incredibly trivial on GitHub vs a mailing list

throwaway2037 6 hours ago

This is a good point. To be fair, I think the Linux kernel teams are currently overwhelmed by LLM-authored security fixes. However, that will taper off eventually as a huge number of security fixes will be fixed in the next 12 months.

worldsavior 7 hours ago

LLMs are still being detected at the same level since the day coding agents were actually something, hence, it's not improving for 3 years. Why would they be undetectable next month?

jonnycoder 7 hours ago

You think coding agents or models have not improved in 3 years? From my experience they absolutely have. I've spent a lot of time getting Claude Code to write clean features in a brownfield repo. I've gone from it helping me speed up to now Fable 5.1 doing it perfectly. And there are steps one can take to improve the quality which is to teach it (SKILLs) your important design and coding standards, as well as automatic design or code review to catch edge cases, performance issues, or whatever aspect you find a high priority.

MattyRad 7 hours ago

Moreover, the parent comment linked to a decent PR presumably human made. If an LLM had written the PR, its description would be 9 paragraphs long and the code changes full of assinine comments.

If the author really did one-shot the PR, then the author must have also put in the extremely detailed and tedious work which would be required to tame LLM output for this specific repo, in which case, they actually put in real effort, applyed expertise and thoughtfulness, which is the whole issue at hand.

dspillett 5 hours ago

> How will they know if an LLM wrote the code?

The problem isn't just the code - the documentation for the change explaining what it fixes, how, why, what testing has been done, and so forth is often either lacking, far to verbose, or both (massively verbose without actually containing much useful information or other sense).

You raise a valid point for the future: when the average quality of submissions is good enough that it is impossible to tell the difference between human (or human aided by AI but giving its output sufficient review/rewrite) and LLM/agent submissions, then the issue will have gone away. But, given the problems projects like this are seeing it is obvious that the technology (or the people using it, probably both) are not nearly there yet.

> The best LLM policy…

That is a great policy. If only the entire world would follow it, or in fact even ever read it.

If the only reliable way for now to not be suffocated under a mass of bad AI submissions is to refuse anything that even vaguely sniffs of AI, then that is what many projects are going to have to do. If that offends you, then fork the project and patch your changes in, or vide code one from scratch yourself, then you can keep maintaining that along with all the submissions you get for fixes. Let time tell which the right decision is :-)

Ariarule 8 hours ago

I don't completely like or think this is a good ultimate decision, but looking over the thread on Github, it's being done for practical rather than ideological reasons after trying a more liberal policy first, and the discussion thread there indicates that they're already considering how to relax and refine it. A long-term and total ban on AI contributions would be a mistake as it all but guarantees a competitor or a fork, beside enforcability issues that create a "now you have two problems" situation. But as a temporary stop gap as specifically indicated by https://github.com/qgis/QGIS-Enhancement-Proposals/pull/387#... this seems fine, and it's such important context that "QGIS bans AI assisted contributions" is true but misleading.

The linked discussion thread specifically calls this a "moratorium" and it's unfortunate that they decided not include that explanation in the policy document specifically to avoid controversy and flak, with the end result that there's now a 202-comment-plus HN thread: https://lists.osgeo.org/pipermail/qgis-developer/2026-Septem... -- the "proof of life" concept being tossed around in that thread, although rejected, is genuinely interesting and I hope they revisit it and allow a nominal financial contribution to the project to prove a human is behind a PR regardless of AI assistance (probably along with some other approach, as a total exclusion and the only way it would also be bad).

My own experience with QGIS is limited to the most basic navigation and queries of some local maps I've archived. Nonetheless it's an obvious gem and I hope they're able to arrive at a balanced and sustainable policy. Maybe they would get there faster and more reliably by tightening the previous LLVM-inspired policy rather than the slam-shut and then loosen approach they seem to be taking, but hardly anyone has experience with a situation exactly like this, so only time will really tell.

dang 2 hours ago

Ok, I've included a link to the email thread in the toptext and put the word 'moratorium' (which does occur there, into the title. Maybe it will dampen some the more boring flamewar responses in favor of the reflective subthreads which have also popped up here.

alexwebb2 9 hours ago

> 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

Ok, so there’s a financial motive here, where they’re worried that allowing more open contributions will diminish the value of their expertise and reduce their employability. To be fair to them, that’s probably true.

beardedwizard 9 hours ago

If there is money to be made, and if frontier models already know the domain I do not understand what this position can possibly buy other than a bit of time before it happens anyway.

stevex 8 hours ago

I'd love to know more about the process that the storytold team is using to build the Artcraft apps.

https://github.com/storytold

They're producing a fantastic quantity of software, and the quality seems higher than you'd expect for the velocity they're building at.

bwnkl 8 hours ago

I never used Photoshop that much, but I used to be well versed with Lightroom. So I tried Lightcraft[1] which is their Lightroom clone, and I was disappointed after all that hype. I couldn't get any of my photos to look nice, using the workflows I was used to from Lightroom. It felt cheap, unfinished, and barely usable, also compared to the open source Lightroom alternatives that have been around for a while (e.g. Rawtherapee). I'm willing to change my mind in the future, but at the moment, I don't really get the hype.

[1]: https://github.com/storytold/lightcraft

stevex 7 hours ago

Yeah, agree - the feat so far is that they brought up an entire suite of incredibly complicated apps from scratch in a week, and they seem to be tackling issues consistently.

There's a lot of depth in these tools, but the process seems to be working. Look at the issues, PRs, commit history and release notes. It's moving faster than a project with an "all code must be reviewed by a human who is responsible for it" policy would. Will be interesting to see if there's an upper quality bound.

basilgohar 8 hours ago

It's not impossible produce good products with AI-assisted or driven coding. It just needs effort, focus, and management, much like regular software development.

rfgplk 7 hours ago

If I remember correctly, most of the apps were oneshots.

KolmogorovComp 11 hours ago

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.

chii 11 hours ago

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.

_zoltan_ 11 hours ago

That's not entirely true: my work might get zero traction because nobody will know about it.

anticorporate 10 hours ago

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

eviks 10 hours ago

The history is also littered with dead open source rejecting useful improvements, so your criterion doesn't help either

anticorporate 9 hours ago

Then, as the parent commenter suggested, fork the dead project.

No project is obliged to accept your contributions. It's on you to market them, either to the maintainers of the existing project for merging, or to the community through a fork.

ragall 7 hours ago

> Being able to market your work and build community are key skills for open source contribution.

It's not a key skill at all, as not everyone is interested in popularity.

KolmogorovComp 10 hours ago

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.

servo_sausage 10 hours ago

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.

KolmogorovComp 11 hours ago

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.

jacquesm 11 hours ago

It would also exclude 75% of the world.

KolmogorovComp 10 hours ago

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.

bornfreddy 9 hours ago

It also creates wrong expectations. If I pay you (even if it is $1) then I expect you to take a look at my slop and argue with me how to make it better. Just closing it will prove that you're a scammer (and not even a successful one, because you'll get at most $5 altogether).

fn-mote 9 hours ago

So then charge more. It’s still a resource allocation problem, and economics still works.

ragall 6 hours ago

> If I pay you (even if it is $1) then I expect you to take a look at my slop

Yes, proportional to the amount paid.

> and argue with me how to make it better.

No.

fn-mote 9 hours ago

> make a contributor pay for the review of its PR, even a small fee

I agree!

The problem is obviously a resource allocation one. Economics solves problems like that.

To make the system viable, you need something like the free-to-play games use (shudder).

Offer a choice: user’s time and attention or money.

(This addresses the issue of excluding low-resource contributors, which we might care about for equity or because that was us when we were young.)

As an idea on the money front, you could require the contributor to pay for the tokens needed to review their PR! Maybe even let simple models review simple PRs or advanced models decide which model is needed to do the actual review.

I don’t know how the humans can contribute their time and attention effectively, but maybe we can figure that out.

SOLAR_FIELDS 8 hours ago

We've already had solutions like this in the past, pre AI. Bounty escrow companies that pay FOSS contributors per PR. They've mostly all failed or pivoted. Why?

Stevvo 10 hours ago

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.

notabotiswear 9 hours ago

You're forgetting QGIS's own plugin ecosystem, which afaik doesn't prohibit slo-... err, vibe and assisted-coded contributions.

Although that would probably change of the AI-assisted spam shifted over to it.

GrayShade 9 hours ago

GDAL isn't too big on LLM contributions either.

Gigachad 10 hours ago

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.

derwiki 10 hours ago

That’s what I’ve been telling my PM: I don’t need your half-baked PR you one shotted from a prompt: put that prompt in GitHub Issues for the team to use later

ronnier 8 hours ago

This comment captures the essence of why HN is largely anti AI. They feel their security and roles as software devs starting to devalue. Non coders are encroaching on their turf. A PM can do now what mid level devs did before. As AI continues to advance there will be less of a need for devs and the pool size of devs will start to shrink, as it already has. I understand the human reaction to this. It’s a hard situation to watch us being replaced by a machine. Especially after sitting at the top of the comp ranking for so many years. It’s a scary time.

ahgask 8 hours ago

> It’s a scary time.

And that is why you felt you needed to boost the narrative and reinforce it so people are fired faster. Totally believable!

qwerpy 8 hours ago

Better than remaining in denial about it like most people on here.

derwiki 8 hours ago

The PM doesn’t have a runtime environment to test the change. No access to create a PR. Zero verification was done and I was handed a .zip file

I don’t disagree with what you’re saying, but not all cases are created equal. If the PM could create a PR that was clearly verified, like we expect out of all the SWEs, I wouldn’t have a problem.

ronnier 7 hours ago

Understandable. Surprised that's not automated though. Would be worth the time to invest in that area, will save a lot of pain and time in the future. As we shift more to AI, testing is more important than ever and all of that can generally be automated.

Multiple companies I know of have internal tool websites that are the front end to the major AI companies and it has access to cut PRs so non devs are able to open PRs

derwiki 7 hours ago

Sure. Specifically I work on SOX restricted code, but the rest of the company has what you’re describing.

qwerpy 7 hours ago

PMs are doing demos to leadership where their change “just works”. The devs and maybe even the dev leads may protest that due diligence wasn’t done, but leadership is looking at the engineering cost center, axe in hand.

einpoklum 9 hours ago

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

My experience is that maintainers cannot do this. Or rather, that it is useless.

fn-mote 9 hours ago

I think we need to talk about the root issues then.

At “work”, non-open source, I see maintainers addressing usability issues they never would have touched before. I write the issue, the LLM does the rest.

In fact, last time I included a PR to fix some trivia, the AI said “let’s fix the root issue instead”, and did that. This was astounding to me. That team used to do nothing in the face of complaints / small bug reports. It used to be that without a PR you were ignored.

So what do you think is going on behind the experience with the maintainers? They don’t use AI? Or they are incompetent? Or…?

nixpulvis 9 hours ago

This has always been true to a large extent. Unless you're cleared to carve out your own space of a project, or you're working off an already detailed issue/feature request.

LtWorf 9 hours ago

Do maintainers agree with this or do they feel you're just spamming them?

sigotirandolas 5 hours ago

I agree. For bug fixes, just write a clear issue: how to reproduce it, what goes wrong, what's the root cause. As short and well written as possible, without AI fluff.

Once you get to that point, you can copy paste your issue into an LLM and get a fix close to the PR you would open, but so can the maintainers, so what's the point of opening a PR and adding more friction?

In fact discussing the issue is way more productive since it's just about the actual issue, root cause and tradeoffs without the debates on implementation details and nitpicks.

If you want to contribute major features, you need to befriend, discuss and agree with the maintainers, I don't think drive-by PRs ever worked for this.

gman83 10 hours ago

It can still work. For example if you look at https://github.com/emdash-cms/emdash/issues they have a whole bunch of tooling that uses AI to automatically triage and come up with PRs automatically.

Pannoniae 8 hours ago

Tbf most projects are especially gatekeepy..... they've been even before AI came onto the scene. All what changed is making changes easier (slop it out instead of the classic one-line readme edit) and making it easier to fork projects.

Traditionally you've opened to a PR only to get closed for a style/procedural issue or get ghosted. You often didn't fork because maintenance is a hassle. Less so with LLMs, you know?

Nowadays you can just implement your change and vibe-fork it...

jerkstate 10 hours ago

I implemented css geometry properties for svg2 in resvg with claude. I know it works and I've read the relatively small diff. But I'm afraid to send a PR because it might offend a artisanal handcrafted free-range software enthusiast. I guess any other AI enjoyer who needs this feature, which is standard functionality in svg2, will just burn a few tokens and do it themselves to keep the luddites from smashing the factories.

mootothemax 7 hours ago

Honestly, if it’s geometry-only and doesn’t acknowledge the existence of anything other than Cartesian coordinates, it sounds like the type of feature that’s more of a support-ticket bomb than otherwise.

If it does support projecting differing CRSs though, please can you point me at it? I’m a nobody and nothing to do with qgis but I would love to have a play with it!

jerkstate 7 hours ago

I'm not sure if I understand the concern; for clarity, I'm just making a general comment about the state of contributing AI to open-source software related to resvg, not related to QGIS itself. svg2 spec says css geometry attributes only support cartesian coordinates.

mootothemax 6 hours ago

Ah gotcha, thanks - I know next to nothing about css geometry itself, but was curious to play with it, and think I had an imagine in my mind that was different to what you've created.

For what it's worth, I just skimmed the MDN docs and e.g. DOMPoint is using the right kinda wording to sound like it's not inherently cartesian-only. Could be interesting, that. Thanks for getting it into my head!

nkoren 4 hours ago

A.) I understand this completely. I'm sure it's impossible for reviewers to keep up with the onslaught of AI-generated code.

B.) I worry what this entails for QGIS, and for the future of such community-built platforms as a whole.

Let's say I need some functionality which QGIS doesn't have. My options are to:

1. Learn to program QGIS, add the functionality, and commit it back to the community. From where I currently sit -- I've never developed for QGIS, I don't know its language -- that's an investment of several months, at a minimum.

2. Vibe-code the extension I need -- or just make a bespoke GIS application which has the small subset of GIS capabilities that I need, optimized for my particular use-case. Depending on the complexity, that's an investment of either days or hours.

By that math, (1) is never going to win, and now (2) is never going to be able to make a contribution back to QGIS. Moreover, the pool of people for whom (1) is a real option will be shrinking every day, particularly as those people have to compete economically with the people who embrace (2).

So it's hard for me to see how community projects survive in the face of these dynamics. And it would be a shame to lose them -- they create a lot of value that a bespoke vibecoded thingamajig never will. But for better or worse, I just don't see humans-only coding having much of a future.

biztos 3 hours ago

Maybe your extension/app is compelling enough that the core team finds a way to recreate it, or make an exception?

Maybe it becomes normal to fork a project and vibe-code the extra thing you want and everybody does that and it's fine?

Doesn't seem like a loss for the project, just a win for you. If I understood the announcement correctly, they're doing this more for logistical reasons than to outright ban all AI-assisted code, so if something turns out to be super awesome then it's not like they have to do a clean-room reimplementation.

Meanwhile, let a thousand forks bloom, why not?

instakill 9 hours ago

Can anyone provide links to literature or projects whose goals are to build, maintain, or support trust? Or to be less vague, I'm interested in learning about protocols or models that deal with reputation scores, rewards and punishments etc. for networks or groups.

Various crypto projects fundamentally deal with proving X and their networks comprise of entities that are rewarded or punished for either fair, deceptive, or erroneous actions... so maybe some kind of consolidated info about that "grouping" of information would be a good place for me to start. I am curious about learning more about these concepts insofar as how they can apply to situations like this (OSS or community-based contributions towards a shared goal or a shared ecosystem of behaviours or tasks) where various entities (people, organisations, NOT agents/bots) with longitudinal reputation/state coordinate or interact.

I hope I'm making sense...

fl0id 8 hours ago

I haven't seen one yet that fundamentally worked. Even before crypto, you had things like reddit karma or upvoting on digg or whatever else. However in the end those still boil down to a social or techno-social "contract"/system. I've not yet seen any system that manages to boil that down to some objective metric, and also still work.

instakill 8 hours ago

I don't think there ever will be a perfect trust system, because ultimately everything can be gamed, or politics/power can overrule the logic that runs the rules of the trust game. But even so, something that can be applied for _some_ period of time, with _some_ semblance of stability, and _some_ epistemic utility value to the real world is still worth trying to pursue.

Autious 8 hours ago

Like a cryptographic "vouch/trust" chain? I trust you, you trust someone else, then I at least know there's a second order of connection/trust.

coffeeaddict1 11 hours ago

The question I have is what is an AI assisted contribution? For example, I still write 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).

rfgplk 11 hours ago

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.

smithofsmiths 10 hours ago

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.

RunSet 8 hours ago

It is doubtful whether anyone can claim copyright over LLM-generated code since it was not created by any human and the "training" does not preserve provenance.

Possibilities range from "public domain" to "the cancer Microsoft accused GPL-licensed code of being". In no plausible scenario does the person who pressed the "generate slop" button become the copyright holder.

skydhash 11 hours ago

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.

ghboo0927 9 hours ago

From February to 09-24 the policy was "human in the loop". Any tool was fine as long as the contributor read the code and could answer questions about it.

raffael_de 10 hours ago

wouldn't it make more sense to tighten the rules and requirements for contribution? how would you even identify AI assistance if the result is immaculate? it seems to me that banning AI is conflating low-quality or low-effort with using AI. I understand those correlate statistically and also causally ... but latter only for specific lazy cohorts. if the AI assisted contribution is of high quality why would you ban it? especially given that you couldn't even identify it or would they still discard it because some comments exhibit Claudisms? tests, linting, more tests, style guide abidance, even more tests and banning contributors who fail to deliver.

layer8 9 hours ago

I suggest reading the issue comments.

bornfreddy 9 hours ago

If you can't tell that the contributor used AI, the PR is good - how would they know to forbid it? This rule hopefully stems the tide of low level fly-by contributions. As they said, it's also not set in stone, there will be enough time to change it later if needed.

timcobb 8 hours ago

Super interesting diff. Feels like it could be a seminal record of the push and pull of this time.

> We aspire to be a welcoming community that helps new contributors grow their expertise, but learning involves taking small steps, getting feedback, and iterating. Passing maintainer feedback to an LLM doesn't help anyone grow, and does not sustain our community.

Hard to disagree!

I think it's fair for people to want a certain experience. Dealing with AI contributions is not the same thing as the community they're after.

WarmWash 11 hours ago

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

bwnkl 10 hours ago

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.).

ecommerceguy an hour ago

Can someone, maybe the team at craft, please make a clone of ArcMap?

arend321 4 hours ago

I think we should move to pull requests that describe succinctly what feature or bug needs to be pulled. Not the actual code. A PR for a bug needs an issue link with a test demonstrating the bug in an easy to verify way, eg an online playground/runner.

Ideally the project has a well written, living product and system implementation document that can be used to verify bug reports and feature requests against. Before even looking at the actual code implementation.

sigbottle 10 hours ago

- Any (super)intelligence caches work. This is just how the physical world works. You use the results of your previous work to do more work.

- Any (super)intelligence _wants to create stable abstractions_. Now this is a claim, not a fact. but I'd say this it's pretty clear. I can cache all of the work in the world, and maybe even re-use some of it, but that's different from the synthesis of creating an _abstraction_.

- Abstractions are lossy. They can lose a posteroi, in that they don't match the contract as specified. They can lose a priori - the specific set of problems and solutions they claimed was their goal and role, are wrong for whatever reason (discovered, the world and requirements changed, etc). Someone or something needs to maintain it now.

What's at the end of the tunnel. Is it reasonable to say that a few labs will carve up ownership of all the open source projects of the world? Or will there be more community lead projects than ever? There are also some nastier routes, such as making things so coupled and "holistic" that you can't use anything else besides a few products.

nradov 9 hours ago

The difficulty of forking and modifying an open-source project has been drastically lowered so I predict we'll see more projects than ever before. But many of them will essentially be duplicates of each other.

xendo 9 hours ago

My expectation is that those AI primary forks will degenerate quickly. Maintaining OS requires a lot of judgement, direction, agents tend to turn softeare into big pile of disconnected features.

arjie 6 hours ago

I have many such forks myself. Some are totally different from upstream now, and yet improvements that upstream makes are straightforwardly portable. I just point Opus 5.5 at the repo; describe what I want; et voila.

In the past, communities were required to produce the rest of these things. Now we live in an era of unprecedented free software. Soon no one will even be able to lock us out of firmware and all software will be free as in free speech to all.

notpachet 9 hours ago

> - Any (super)intelligence caches work > - Any (super)intelligence _wants to create stable abstractions_

This is a higher-order rephrasing of the "intelligence is compression" argument.

someguyornotidk 4 hours ago

Good, back to the old way of doing things where people fork and maintain their own code. Some might notify the upstream author as a curtsy, and the author might decide to incorporate the improvement back into his or her codebase. None of this pull request noise.

The best fork wins :)

designerbenny 11 hours ago

I recommend people actually read the updated commit for the full message.

socializer 9 hours ago

In each thread like this, people are complaining that this is short-sighted because you can use AI for good. But this completely ignores the actual usage patterns: there's plenty of people who see hobby activities, such as contributing to OSS projects, blogging, or writing Wikipedia articles, as a competition. If you're unconcerned with quality - "Claude, make me a blog post" / "generate 10 improvements for this project" - AI allows you to easily produce content at a rate 100x higher than a human can. This inherent volume asymmetry means that if a sufficiently popular project doesn't reject AI, they will be spending most of their time dealing with AI, and most of this content will be bad in ways that are difficult to spot at a glance.

Why is it my responsibility to deal with that? So that your once-in-a-blue-moon high-quality AI contributions can filter down? All of these projects were doing just fine pre-AI, so most are not too concerned with that. If AI folks want to have the use of AI tools normalized, I'd posit they should really get more invested in promoting quality and ostracizing slop pipelines. They aren't doing that - I'm not seeing this on HN, not on LinkedIn, not in the open-source community.

instakill 8 hours ago

This asymmetry is IMO the biggest problem with AI-driven output. Brandolini's law applies here. I don't know if anyone has figured out strategies on how to deal with these barrages and deluges of "slop grenades", and this loosely applies to event coherent and high quality LLM output. Sure LLMs are advanced now, but largely the output depends on the quality of the input prompts (as in how they're contextualized and guided).

Life has gotten to the point where completely non-technical people have gawked at me for still having a job related to software. In their minds, AI can it all, and in their minds coding is already obsolete. The sample size for these opinions will only grow and the ratio of people that rightfully apply skepticism will drop, either from fatigue or burn out or by virtue of more and more people adopting the "AI is roughly AGI" crowd. For me a good metaphor is the concept of the selfie. Everyone mocked selfies at first, and now you'd be deemed insane to negatively opine about selfie behaviour. The same will apply to AI slop grenades (even of high quality output) in due time. I think it's inevitable.

Endless hoardes of people can now unleash never-ending arguments and suggestions and it feels like it will become impossible to defend against them because one minute only contains 60 seconds of time that you can spend refuting a false or <100% correct suggestion.

mepiethree 9 hours ago

From the linked email thread with discussion:

> I would like to float another ideas around even if it would be hard to enforce in practice. Force AI companies to give back. Want to use Claude code? Sure but anthropic have to become a sustaining member of QGIS.org first. Want to use codex, gemini? Then openAi and Google have to contribute to the project financially and I'm talking geniully multiple thousands dollars contributions.

I think this is a really good idea. Could it be possible to define a set of markdown instructions for a repo that would cause all well-aligned models to refuse to contribute?

12a871 9 hours ago

This is a horrible idea. Literally the thieves buying more open source projects.

mepiethree 9 hours ago

> thieves buying

Are you willing to elaborate? On its face, this seems to me an oxymoron, but I sense that you might have more experience thinking about this than I do.

bwnkl 9 hours ago

this is an interesting suggestion. it's incredible how little the creators and benefactors of the slop factories have been made accountable for the mess they unleashed onto open source communities.

anthropic at least gives 6 months claude max pro to oss maintainers, but to me that seems like a drop in the ocean compared to the negative impact their product has on these peoples' lives.

sammy2255 10 hours ago

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?

simonw 10 hours ago

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.

alienbaby 8 hours ago

"If we subsequently discover"

hmm. What if they didnt realise at first because the code is actually fine and works as intended. They gonna back it out just because it was AI?

simonw 6 hours ago

It sounds like they are.

lou1306 10 hours ago

Of course, if you sneak in a simple patch that an AI agent wrote for you, nobody might notice. The fact is, maintainers of big OSS projects are increasingly dealing with patches in the 10kLOC range, all at once, coming from people with little to no previous engagement with the project: that's usually a dead giveaway.

vitorsr 10 hours ago

GIS work has very complex inner mechanics that are hard to reason about at a high level without very explicit abstractions to ease the costs and cognitive burden of manual review. Sometimes earlier, longer-lived FOSS projects may have grown organically without the benefit of retrospective appreciation because that path has not been trodden (at least out in the open) at the time.