I think this is a reasonable decision (although maybe increasingly insufficient).<p>It doesn't really matter what your stance on AI is, the problem is the increased review burden on OSS maintainers.<p>In the past, the code itself was a sort of proof of effort - you would need to invest some time and effort on your PRs, otherwise they would be easily dismissed at a glance. That is no longer the case, as LLMs can quickly generate PRs that might look superficially correct. Effort can still have been out into those PRs, but there is no way to tell without spending time reviewing in more detail.<p>Policies like this help decrease that review burden, by outright rejecting what can be identified as LLM-generated code at a glance. That is probably a fair bit today, but it might get harder over time, though, so I suspect eventually we will see a shift towards more trust-based models, where you cannot submit PRs if you haven't been approved in advance somehow.<p>Even if we assume LLMs would consistently generate good enough quality code, code submitted by someone untrusted would still need detailed review for many reasons - so even in that case it would like be faster for the maintainers to just use the tools themselves, rather than reviewing someone else's use of the same tools.
For well-intended open source contributions using GenAI, my current rules of thumb are:<p>* Prefer an issue over a PR (after iterating on the issue, either you or the maintainer can use it as a prompt)<p>* Only open a PR if the review effort is less than the implementation effort.<p>Whether the latter is feasible depends on the project, but in one of the projects I'm involved in it's fairly obvious: it's a package manager where the work is typically verifying dependencies and constraints; links to upstream commits etc are a great shortcut for reviewers.
Unfortunately, LLMs generate useless word salad and nonsense even when working on issues text, you absolutely have to reword the writing from scratch otherwise it's just an annoyance and a complete waste of time. Even a good prompt doesn't help this all that much since it's just how the tool works under the hood: it doesn't have a <i>goal</i> of saying anything specific in the clearest possible way and inwardly rewording it until it does, it just writes stuff out that will hopefully end up seeming at least half-coherent. And their code is orders of magnitude worse than even their terrible English prose.
I don’t think you’re being serious. Claude and GPT regularly write programs that are way better than what I would’ve written. Maybe you haven’t used a decent harness or a model released in the last year? It’s usually verbose, whereas I would try the simplest thing that could possibly work. However, it can knock out but would have taken me multiple weekends in a few minutes. The value proposition isn’t even close.<p>It’s fine to write things by hand, in the same way that there’s nothing wrong with making your own clothing with a sewing machine when you could have bought the same thing for a small fraction of the value of your time. Or in the same fashion, spending a whole weekend, modeling and printing apart, you could’ve bought for a few dollars. I think we need to be honest about differentiating between the hobby value of writing programs versus the utility value of programs. Redox is a hobby project, and, while it’s very cool, I’m not sure it has a strong utility proposition. Demanding that code be handwritten makes sense to me for the maintainer because the whole thing is just for fun anyway. There isn’t an urgent need to RIIR Linux. I would not apply this approach to projects where solving the problem is more important than the joy of writing the solution.
> Claude and GPT regularly write programs that are way better than what I would’ve written<p>Is that really true? Like, if you took the time to plan it carefully, dot every i, cross every t?<p>The way I think of LLM's is as "median targeters" -- they reliably produce output at the centre of the bell curve from their training set. So if you're working in a language that you're unfamiliar with -- let's say I wanted to make a todo list in COBOL -- then LLM's can be a great help, because the median COBOL developer is better than I am. But for languages I'm actually versed in, the median is significantly worse than what I could produce.<p>So when I hear people say things like "the clanker produces better programs than me", what I hear is that you're worse than the median developer at producing programs by hand.
Have you tried the latest models at best settings?<p>I've been writing software for 20 years. Rust since 10 years. I don't consider myself to be a median coder, but quite above average.<p>Since the last 2 years or so, I've been trying out changes with AI models every couple months or so, and they have been consistently disappointing. Sure, upon edits and many prompts I could get something useful out of it but often I would have spent the same amount of time or more than I would have spent manually coding.<p>So yes, while I love technology, I'd been an LLM skeptic for a long time, and for good reason, the models just hadn't been good. While many of my colleagues used AI, I didn't see the appeal of it. It would take more time and I would still have to think just as much, while it be making so many mistakes everywhere and I would have to constantly ask it to correct things.<p>Now 5 months or so ago, this changed as the models actually figured it out. The February releases of the models sealed things for me.<p>The models are still making mistakes, but their number and severity is lower, and the output would fit the specific coding patterns in that file or area. It wouldn't import a random library but use the one that was already imported. If I asked it to not do something, it would follow (earlier iterations just ignored me, it was frustrating).<p>At least for the software development areas I'm touching (writing databases in Rust), LLMs turned into a genuinely useful tool where I now am able to use the fundamental advantages that the technology offers, i.e. write 500 lines of code in 10 minutes, reducing something that would have taken me two to three days before to half a day (as of course I still need to review it and fix mistakes/wrong choices the tool made).<p>Of course this doesn't mean that I am now 6x faster at all coding tasks, because sometimes I need to figure out the best design or such, but<p>I am talking about Opus 4.6 and Codex 5.3 here, at high+ effort settings, and not about the tab auto completion or the quick edit features of the IDEs, but the agentic feature where the IDE can actually spend some effort into thinking what I, the user, meant with my less specific prompt.
A lot of computer users are domain experts in something like chemistry or physics or material science. Computing to them is just a tool in their field, e.g. simulating molecular dynamics, or radiation transfer. They dot every i and cross every t _in_their_competency_domain_, but the underlying code may be a horrible FORTRAN mess. LLMs potentially can help them write modern code using modern libraries and tooling.<p>My go-to analogy is assembly language programming: it used to be an essential skill, but now is essentially delegated to compilers outside of some limited specialized cases. I think LLMs will be seen as the compiler technology of the next wave of computing.
The difference is that compilers involve rules we can enumerate, adjust, etc.<p>Consider calculators: Their consistency and adherence to requirements was necessary for adoption. Nobody would be using them if they gave unpredictable wrong answers, or where calculations involving 420 and 69 somehow keep yielding 5318008. (To be read upside-down, of course.)
The compilers used to be unreliable too, e.g. at higher optimizations and such. People worked on them and they got better.<p>I think LLMs will get better, as well.
But thats the point, an llm is a vastly different object to a calculator. Its a new type of tool for better or worse based on probabilities, distributions.<p>If you can internalise that fact and look at it like having a probable answer rather than an exact answer it makes sense.<p>Calculators cant have a stab at writing an entire c compiler. A lot of people cant either or takes a lot of iteration anyway, no one one shotted complicated code before llms either.<p>I feel discussion shouldnt be about how they work as the fundamental objection, rather the costs and impacts they have.
nice. 3x.
It can certainly be true for several reasons. Even in domains I'm familiar with, often making a change is costly in terms of coding effort.<p>For example just recently I updated a component in one of our modules. The work was fairly rote (in this project we are not allowed to use LLMs). While it was absolutely necessary to do the update here, it was beneficial to do it everywhere else. I didn't do it in other places because I couldn't justify spending the effort.<p>There are two sides to this - with LLMs, housekeeping becomes easy and effortless, but you often err on the side of verbosity because it costs nothing to write.<p>But much less thought goes into every line of code, and I often am kinda amazed that how compact and rudimentary the (hand-written) logic is behind some of our stuff that I thought would be some sort of magnum opus.<p>When in fact the opposite should be the case - every piece of functionality you don't need <i>right now</i>, will be trivial to generate in the future, so the principle of YAGNI applies even more.
no. I'm a pretty skilled programmer and I definitely have to intervene and fix an architectural problem here and there, or gently chastise the LLM for doing something dumb. But there are also many cases where the LLM has seen something that i completely missed or just hammered away at a problem enough to get a solution that is correct that I would have just given up on earlier.<p>The clanker can produce better programs than me because it will just try shit that I would never have tried, and it can fail more times than I can in a given period of time. It has <i>specific advantages</i> over me.
let me translate this for the GP: "you're doing it wrong".
> Claude and GPT regularly write programs that are way better than what I would’ve written.<p>I’m sorry but this says more about you than about the models. It is certainly not the case for me!
The verboseness is the key issue as to why LLMed PRs are bad.
> The value proposition isn’t even close.<p>That's correct, because most of the cost of code is not the development but rather the subsequent maintenance, where AI can't help. Verbose, unchecked AI slop becomes a huge liability over time, you're vastly better off spending those few weekends rewriting it from scratch.
Having reviewed a lot of Ai-written python code, I think it's absolute nonsense.<p>It never picks a style, it'll alternate between exceptions and then return codes.<p>It'll massively overcomplicate things. It'll reference things that straight up don't exist.<p>But boy is it brilliant at a fuzzy find and replace.
if it wasn't so maddening it would be funny when you literally have to tell it to slow down, focus and think. My tinfoil hat suggests this is intentional to make me treat it like a real, live junior dev!
"you literally have to tell it to slow down, focus and think" - This soo much! When I get an unexpected result from claude, I ask it why - what caused it to do such-and-such. After one back and forth session like this putting up tons of guardrails on a prompt, claude literally said "you shouldn't have to teach me to think every session" !!
> <i>When I get an unexpected result from claude, I ask it why - what caused it to do such-and-such.</i><p>No LLM can answer this question for you, it has no insight into how or why it outputted what it outputted. The reasons it gives might sound plausible, but they aren't real.
I feel like every person stating things of this nature are literally not able to communicate effectively (though this is not a barrier anymore, you can get a dog to vibe code games with the right workflow, which to me seems like quite an intellectual thing to be able to do.<p>Despite that, you will make this argument when trying to use copilot to do something, the worst model in the entire industry.<p>If an AI can replace you at your job, you are not a very good programmer.
Copilot isn't a model. Currently it's giving me a choice of 15 different models. By all evidence, AI is nowhere close to replacing me, but to hear other people tell it, it is weeks or maybe months away.<p>I'll just wait and see.
> If an AI can replace you at your job, you are not a very good programmer.<p>Me and millions of other local yokel programmers who work in regional cities at small shops, in house at businesses, etc are absolutely COOKED. No I cant leet code, no I didnt go to MIT, no I dont know how O(n) is calculated when reading a function. I can scrap together a lot of useful business stuff but no I am not a very good programmer.
> <i>no I dont know how O(n) is calculated when reading a function</i><p><pre><code> 1. Confidently state "O(n)"
2. If they give you a look, say "O(1) with some tricks"
3. If they still give you a look, say "Just joking! O(nlogn)"</code></pre>
>no I dont know how O(n) is calculated when reading a function<p>This is really, honestly not hard. Spend a few minutes reading about this, or even better, ask a LLM to explain it to you and clear your misconceptions if regular blog posts don't do it for you. This is one of the concepts that sounds scarier than it is.<p>edit: To be clear there are tough academic cases where complexity is harder to compute, with weird functions in O(sqrt(n)) or O(log(log(n)) or worse, but most real world code complexity is really easy to tell at glance.
It does generate word salad (and usefulness depends on the person reading it). If both the writer and the reader share a common context, there's a lot that can be left out (the extreme version is military signal). An SOS over the radio says the same thing as "I'm in a dangerous situation, please help me if you can" but the former is way more efficient. LLMs tend to prefer the latter.
So many people and systems have some how merged into just a slathering of spam to everyones senses. It's no longer about truth statements, but just, is this attention-worthy, and most of the internet, it's social media and "people" are going into the no-bin.
[flagged]
[flagged]
My rules of thumb is much shorter: don't.<p>The open source world has already been ripped off by AI the last thing they need is for AI to pollute the pedigree of the codebase.
Another great take I found online: "Don't send us a PR, send us the prompt you used to generate the PR."
That's a pretty good framework!<p>Prompts from issue text makes a lot of sense.
The problem was already there with lazy bug reports and inflammatory feature requests. Now there is a lazy (or inflammatory) accompanying code.
But there were also well-written bug reports with no code attached due to lack of time/skills that now can potentially become useful PRs if handled with application and engineering knowledge and good faith and will.
Isn't the obvious solution to not accept drive by changes?
That's eliminating of an important part of open source culture.
I'm all in favor of not accepting "drive-by changes". But every contributor to the project had to make their first contribution at some point in time. What's the process for inviting in new contributors?
Sure - and I suspect we will see that soon enough. But it has downsides too, and finding the right way to vet potential contributors is tricky.
> Even if we assume LLMs would consistently generate good enough quality code, code submitted by someone untrusted would still need detailed review for many reasons<p>Wait but under that assumption - LLMs being good enough - wouldn't the maintainer also be able to leverage LLMs to speed up the review?<p>Often feels to me like the current stance of arguments is missing something.
> Wait but under that assumption - LLMs being good enough - wouldn't the maintainer also be able to leverage LLMs to speed up the review?<p>This assumes that AI capable of writing passable code is also capable of a passable review. It also assumes that you save any time by trusting that review, if it missed something wrong then it's often actually more effort to go back and fix than it would've been to just read it yourself the first time.
A couple weeks ago someone on my team tried using the experimental "vibe-lint" that someone else had added to our CI system and the results were hilariously bad. It left 10 plausible sounding review comments, but was anywhere from subtly to hilariously wrong about what's going on in 9/10 of them. If a human were leaving comments of that quality consistently they certainly wouldn't receive maintainer privileges here until they improved _significantly_.
It was maybe not quite clear enough in my comment, but this is more of a hypothetical future scenario - not at all where I assess LLMs are today or will get to in the foreseable future.<p>So it becomes a bit theoretical, but I guess if we had a future where LLMs could consistently write perfect code, it would not be too far fetched to also think it could perfectly review code, true enough. But either way the maintainer would still spend some time ensuring a contribution aligns with their vision and so forth, and there would still be close to zero incentive to allow outside contributors in that scenario. No matter what, that scenario is a bit of a fairytale at this point.
You can not trust the code or reviews it generates. You still have to review it manually.<p>I use Claude Code a lot, I generate a ton of changes, and I have to review it all because it makes stupid mistakes. And during reviews it misses stupid things. This review part is now the biggest bottleneck that can't yet be skipped.<p>An in an open source project many people can generate a lot more code than a few people can review.
This is not even about capabilities but responsibility. In an open source context where the maintainers take no responsibility for the code, it's perhaps easier. In a professional context, ultimately it's the human who is responsible, and the human has to make the call whether they trust the LLM enough.<p>Imagine someone vibe codes the code for a radiotherapy machine and it fries a patient (humans have made these errors). The developer won't be able to point to OpenAI and blame them for this, the developer is personally responsible for this (well, their employer is most likely). Ergo, in any setting where there is significant monetary or health risk at stake, humans have to review the code at least to show that they've done their due diligence.<p>I'm sure we are going to have some epic cases around someone messing up this way.
> Even if we assume LLMs would consistently generate good enough quality code, code submitted by someone untrusted would still need detailed review for many reasons - so even in that case it would like be faster for the maintainers to just use the tools themselves, rather than reviewing someone else's use of the same tools.<p>Wouldn't an agent run by a maintainer require the same scrutiny? An agent is imo "someone else" and not a trusted maintainer.
Project maintainers will always have the right to decide how to maintain their projects, and "owe" nothing to no one.<p>That being said, to outright ban a technology in 2026 on pure "vibes" is not something I'd say is reasonable. Others have already commented that it's likely unenforceable, but I'd also say it's unreasonable for the sake of utility. It leaves stuff on the table in a time where they really shouldn't. Things like documentation tracking, regression tracking, security, feature parity, etc. can all be enhanced with carefully orchestrated assistance. To simply ban this is ... a choice, I guess. But it's not reasonable, in my book. It's like saying we won't use ci/cd, because it's automated stuff, we're purely manual here.<p>I think a lot of projects will find ways to adapt. Create good guidelines, help the community to use the best tools for the best tasks, and use automation wherever it makes sense.<p>At the end of the day slop is slop. You can always refuse to even look at something if you don't like the presentation. Or if the code is a mess. Or if it doesn't follow conventions. Or if a PR is +203323 lines, and so on. But attaching "LLMs aka AI" to the reasoning only invites drama, if anything it makes the effort of distinguishing good content from good looking content even harder, and so on. In the long run it won't be viable. If there's a good way to optimise a piece of code, it won't matter where that optimisation came from, as long as it can be proved it's good.<p>tl;dr; focus on better verification instead of better identification; prove that a change is good instead of focusing where it came from; test, learn and adapt. Dogma was never good.
At the moment verification at scale is an unsolved problem, though. As mentioned, I think this will act as a rough filter for now, but probably not work forever - and denying contributions from non-vetted contributors will likely end up being the new default.<p>Once outside contributions are rejected by default, the maintainers can of course choose whether or not to use LLMs or not.<p>I do think that it is a misconception that OSS software needs to "viable". OSS maintainers can have many motivations to build something, and just shipping a product might not be at the top of that list at all, and they certainly don't have that obligation. Personally, I use OSS as a way to build and design software with a level of gold plating that is not possible in most work settings, for the feeling that _I_ built something, and the pure joy of coding - using LLMs to write code would work directly against those goals. Whether LLMs are essential in more competitive environments is also something that there are mixed opinions on, but in those cases being dogmatic is certainly more risky.
> Or if the code is a mess. Or if it doesn't follow conventions.<p>In my experience these things are very easily fixable by ai, I just ask it to follow the patterns found and conventions used in the code and it does that pretty well.
I've recently worked extensively with "prompt coding", and the model we're using is very good at following such instructions early on. However after deep reasoning around problems, it tends to focus more on solving the problem at hand than following established guidelines.<p>Still haven't found a good way to keep it on course other than "Hey, remember that thing that you're required to do? Still do that please."
Until the copyright questions surrounding LLM output is solved it's not "vibes" to reject them but simply "legal caution".
The entire basis of the OSS is licensing.<p>Licensing is dependent on IPR, primarily copyright.<p>It is <i>very</i> unclear whether the output of an AI tool is subject to copyright.<p>So if someone uses AI to refactor some code, that refactored code isn't considered a derivative work which means that the refactored source is no longer covered by the copyright, or the license that depends on that.
> It is <i>very</i> unclear whether the output of an AI tool is subject to copyright.<p>At least for those here under the jurisdiction of the US Copyright Office, the answer is rather clear. Copyright only applies to the part of a work that was contributed by a human.<p>See <a href="https://www.copyright.gov/ai/Copyright-and-Artificial-Intelligence-Part-2-Copyrightability-Report.pdf" rel="nofollow">https://www.copyright.gov/ai/Copyright-and-Artificial-Intell...</a><p>For example, on page 3 there (PDF page 11): "In February 2022, the Copyright Office’s Review Board issued a final decision affirming
the refusal to register a work claimed to be generated with no human involvement. [...] Since [a guidance on the matter] was issued, the Office has registered hundreds of works that incorporate AI-generated material, with the registration covering the human author’s contribution to the work."<p>(I'm not saying that to mean "therefore this is how it works everywhere". Indeed, I'm less familiar with my own country's jurisprudence here in Germany, but the US Copyright Office has been on my radar from reading tech news.)
Your analogy with CI/CD is flawed because while not all were convinced of the merits of CI/CD, it's also not technology built on vast energy use and copyright violation at a scale unseen in all of history, which has upended the hardware market, shaken the idea of job security for developers to its very foundation and done it while offering no really obvious benefits to groups wishing to produce really solid software. Maybe that comes eventually, but not at this level of maturity.<p>But you're right it's probably unenforceable. They will probably end up accepting PRs which were written with LLM assistance, but if they do it will be because it's well-written code that the contributor can explain in a way that doesn't sound to the maintainers like an LLM is answering their questions. And maybe at that point the community as a whole would have less to worry about - if we're still assuming that we're not setting ourselves up for horrible licence violation problems in the future when it turns out an LLM spat out something verbatim from a GPLed project.
owing "nothing to no one" means you are allowed to be unreasonable...
> That being said, to outright ban a technology in 2026 on pure "vibes" is not something I'd say is reasonable.<p>To outright accept LLM contributions would be as much "pure vibes" as banning it.<p>The thing is, those that maintain open source projects have to make a decision where they want to spend their time. It's open source, they are not being paid for it, they should and will decide what it acceptable and what is not.<p>If you dislike it, you are free to fork it and make a "LLM's welcome" fork. If, as you imply, the LLM contributions are invaluable, your fork should eventually become the better choice.<p>Or you can complain to the void that open source maintainers don't want to deal with low effort vibe coded bullshit PRs.
>Or you can complain to the void that open source maintainers don't want to deal with low effort vibe coded bullshit PRs.<p>If you look back and think about what your saying for a minute, it's that low effort PRs are bad.<p>Using an LLM to assist in development does not instantly make the whole work 'low effort'.<p>It's also unenforceable and will create AI witch hunts. Someone used an em-dash in a 500 line PR? Oh the horror that's a reject and ban from the project.<p>2000 line PR where the user launched multiple agents going over the PR for 'AI patterns'? Perfectly acceptable, no AI here.
> Using an LLM to assist in development does not instantly make the whole work 'low effort'.<p>Instantly? No, of course not.<p>I do use LLMs for development, and I am very careful with how I use it. I throughly review the code it generated (unless I am asking for throwaway scripts, because then I only care about the immediate output).<p>But I am not naive. We both know that a lot of people just vibe code the way through, results be damned.<p>I am not going to fault people devoting their free time on Open Source for not wanting to deal with bullshit. A blanket ban is perfectly acceptable.
Your reply is based on a 100% bad-faith, intellectually dishonest interpretation of the comment to which you’re replying. You know that.
Nobody claimed that LLM code should be outright accepted.
Also, nobody claimed that open source maintainers have the right to accept or decline based on whichever criteria they choose. To always come back to this point is so…American. It’s a cop-out. It’s a thought-terminating cliche. If you aren’t interested in discussing the merits of the decision, don’t bother joining the conversation. The world doesn’t need you to explain what consent is.<p>Most of all, I’m sick of the patronising “don’t forget that you can fork the project!” What’s the point of saying this? We all know. Nobody needs to be reminded. Nobody isn’t aware. You aren’t being clever. You aren’t adding anything to the conversation. You’re being snarky.
> Nobody claimed that LLM code should be outright accepted<p>Not directly, but that's the implication.<p>I just did not pretend that was not the implication.<p>> always come back to this point is so…American<p>I am not American.<p>To be frank, this was the most insulting thing someone ever told me online. Congratulations. I feel insulted. You win this one.<p>> If you aren’t interested in discussing the merits of the decision, don’t bother joining the conversation.<p>I will join whatever conversation I want, and to my desires I adressed the merits of the discussion perfectly.<p>You are not the judge here, your opinion is as meaningless as mine.<p>> Most of all, I’m sick of the patronising “don’t forget that you can fork the project!” What’s the point of saying this?<p>That sounds like a "you" problem. You will be sick of it until the end of time, because that's the final right answer to any complaints of open source project governance.<p>> You aren’t adding anything to the conversation. You’re being snarky.<p>I disagree. In fact, I contributed more than you. I adressed arguments. You went on a whinging session about me.
> That being said, to outright ban a technology in 2026 on pure "vibes" is not something I'd say is reasonable.<p>The response to a large enough amount of data is always vibes. You cannot analyze it all so you offload it to your intuition.<p>> It leaves stuff on the table in a time where they really shouldn't. Things like documentation tracking, regression tracking, security, feature parity, etc. can all be enhanced with carefully orchestrated assistance.<p>What’s stopping the maintainers themselves from doing just that? Nothing.<p>Producing it through their own pipeline means they don’t have to guess at the intentions of someone else.<p>Maintainers just doing it themselves is just the logical conclusion. Why go through the process of vetting the contribution of some random person who says that they’ve used AI “a little” to check if it was maybe really 90%, whether they have ulterior motives... just do it yourself.
[dead]
[flagged]
> It doesn't really matter what your stance on AI is, the problem is the increased review burden on OSS maintainers.<p>But the maintainers can use AI too, for their reviewing.
I feel like the pattern here is donate compute, not code. If agents are writing most of the software anyway, why deal with the overhead of reviewing other people's PRs? You're basically reviewing someone else's agent output when you could just run your own.<p>Maintainers could just accept feature requests, point their own agents at them using donated compute, and skip the whole review dance. You get code that actually matches the project's style and conventions, and nobody has to spend time cleaning up after a stranger's slightly-off take on how things should work.
Well, it's not quite that easy because someone still has to test the agent's output and make sure it works as expected, which it often doesn't. In many cases, they still need to read the code and make sure that it does what it's supposed to do. Or they may need to spend time coming up with an effective prompt, which can be harder than it sounds for complicated projects where models will fail if you ask them to implement a feature without giving them detailed guidance on how to do so.
Definitely, but that's kind of my point: the maintainers are still going to be way better at all of that than some random contributor who just wants a feature, vibe codes it, and barely tests it. The maintainers already know the codebase, they understand the implications of changes, and they can write much better plans for the agent to follow, which they can verify against. Having a great plan written down that you can verify against drastically lowers the risk of LLM-generated code
You can do all the steps I mentioned as a random contributor. I've done it before. But I agree that donations are better than just prompting claude "implement this feature, make no mistakes" and hoping it one-shots it. Honestly, even carefully thought-out feature requests are much more valuable than that. At least if the maintainer vibe-codes it they don't have to worry that you deliberately introduced a security vulnerability or back door.
Or even more efficient: the model we already have. Donate money and let the maintainer decide whether to convert it into tokens or mash the keys themself.
Who reviews the correctness of the second agents' review?
[dead]
So your proposed solution to AI slop PRs is to "donate" compute, so the maintainers can waste their time by generating the AI slop themselves?
The point isn't that agent output is magically better; it's that reviewing your own agent's output is way cheaper (intellectually) than reviewing a stranger's, because you've written the plan by yourself. And 'slop' is mostly what you get when you don't have a clear plan to verify against. Maintainers writing detailed specs for their own agents is a very different thing from someone vibe coding a feature request
You’re assuming that maintainers have a desire to use agentic coding in the first place.<p>Secondly, it would seem that such contributions would contribute little value, if the maintainers have to write up the detailed plans by themselves, basically have to do all the work to implement the change by themselves.
Open-source maintainers have no investors to placate, no competition to outrun, why would they want to use agentic coding in the first place?
If you're curious to see what everyone else is doing, I did a survey of over 100 major source available projects and four of them banned AI assisted commits (NetBSD, GIMP, Zig, and qemu).<p>On the other hand projects with AI assisted commits you can easily find include Linux, curl, io_uring, MariaDB, DuckDB, Elasticsearch, and so on. Of the 112 projects surveyed, 70 of them had AI assisted commits already.<p><a href="https://theconsensus.dev/p/2026/03/02/source-available-projects-and-their-ai-contribution-policies.html" rel="nofollow">https://theconsensus.dev/p/2026/03/02/source-available-proje...</a>
I think we will be getting into an interesting situation soon, where project maintainers use LLMs because they truly are useful in many cases, but will ban contributors for doing so, because they can't review how well did the user guide the LLM.
The bottlenecks today are:<p>* understanding the problem<p>* modelling a solution that is consistent with the existing modelling/architecture of the software and moves modelling and architecture in the right direction<p>* verifying that the the implementation of the solution is not introducing accidental complexity<p>These are the things LLMs can't do well yet. That's where contributions will be most appreciated. Producing code won't be it, maintainers have their own LLM subscriptions.
I still think there is value in external contributors solving problems using LLMs, assuming they do the research and know what they are doing. Getting a well written and tested solution from LLM is not as easy as writing a good prompt, it's a much longer/iterative process.
[flagged]
Some months back I would have agreed with you without any "but", but it really does help even if it only takes over "typing code".<p>Once you do understand the problem deep enough to know exactly what to ask for without ambiguity, the AI will produce the code that exactly solves your problem a heck of a lot quicker than you. And the time you don't spend on figuring out language syntax, you can instead spend on tweaking the code on a higher architecture level. Spend time where you, as a human, are better than the AI.
I don't know, I've had good experiences getting LLMs to understand and follow architecture and style guidelines. It may depend on how modular your codebase already is, because that by itself would focus/minimize any changes.
If an author of a PR just generated code with an LLM, the GitHub PR becomes an incredibly inefficient interface between a repository owner and the LLM. A much better use of the owner time would be to interact with LLM directly instead of responding to LLM generated PR, waiting for updates, responding again, etc.
As a project maintainer, I don't want to interact with someone's LLM. If a person submits a PR, using LLM or not, the person is responsible for any problems with it. How they respond to review is a good indicator if they actually understand the code. And if they used a bot to submit the PR, I'd simply consider it a spam.
Yep, the indirection through the PR author is almost always inefficient and error-prone unless the author is really knowledgable about the code (many aren't).
And in general a lot more people want to use LLMs to generate things than want to consume the things LLMs generate. Some of the more bullish people should think harder about this pretty clear trend.
Maybe a future direction will be the submission of detailed research, specifications and change plans for feature requests. Something that can be assessed by a human and turned into working code by both slides.
that's already happening tbh. the real issue isn't hypocrisy though, it's that maintainers reviewing their own LLM output have full context on what they asked for and can verify it against their mental model of the codebase. a random contributor's LLM output is basically unverifiable, you don't know what prompt produced it or whether the person even understood the code they're submitting.
How is that different than before LLMs? You have no idea how the person came up with it, or whether they really understood.<p>We are inventing problems here. Fact is, an LLM writes better code than 95% of developers out there today. Yes, yes this is Lake Wobegone, everyone here is in the 1%. But for the world at large, I bet code quality goes up.
some projects (I came across Mastodon's policy[0] which they say was inspired by ghostty and others) which have a more relaxed policy of basically "LLMs are ok so long as you understand what they did, and you own it".<p>But I think different projects have different needs.<p>[0] <a href="https://github.com/mastodon/.github/blob/main/AI_POLICY.md" rel="nofollow">https://github.com/mastodon/.github/blob/main/AI_POLICY.md</a>
Some sort of LLM audit trail is needed (containing prompts used, model identifier and marking all code written by LLM). It could be even signed by LLM providers (but that wouldn't work with local models). Append only standard format that is required to be included in PR. It wouldn't be perfect (e.g. deleting the log completely), but it might help with code reviews.<p>This would probably be more useful to help you see what (and how) was written by LLMs. Not really to catch bad actors trying to hide LLM use.
The GPL talks about "the preferred form for modification of the software", and I'm starting to think that anything which involves any kind of LLM agent should be including all the text that the user gave to it as well. Prompts, etc.<p>Of course, even then it's not reproducible and requires proprietary software!
I still think the source code is the preferred form for modification because it is what you point the AI at when you want it to make a change.<p>Sure there might be md documents that you created that the AI used to implement the software, but maybe those documents themselves have been AI written from prompts (due to how context works in LLMs, it's better for larger projects to first make an md document about them, even if an LLM is used for it in the first place).<p>As for proprietary software, the chinese models are not far behind the cutting edge of the US models.
Except the GPL is dependent on the author having copyright over the original software but the output of an LLM may not be covered by copyright as a derivative work.<p>That breaks "copyleft" entirely.
I think guiding the LLM to write code is easy for them to write code by themselves.
The "interesting situation" is that maintainers are unable to cheaply distinguish slop from good contributions so they will simply stop accepting outside contributions.<p>This will cut off one of the genuine entry points to the industry where all you really needed was raw talent.
<p><pre><code> > any content submitted that is clearly labelled as LLM-generated (including issues, merge requests, and merge request descriptions) will be immediately closed
</code></pre>
Note the word "clearly". Weirdly, as a native English speaker this term makes the policy <i>less</i> strict. What about submarine LLM submissions?<p>I have no beef with Redox OS. I wish them well. This feels like the newest form of OSS virtue signaling.
> What about submarine LLM submissions?<p>That would constitute an attempt to circumvent their policy, with the consequence of being banned from the project. In other words, it makes not clearly labeling any LLM use a bannable offense.
Don't ask don't tell looks like a reasonable policy. If no one can tell that your code was written by an LLM and you claim authorship, then whether you have actually written it is a matter of your conscience.
I read that as benefit of the doubt, which is a reasonable stance.
As a native English speaker I read this as two parts. If it's obvious, the response is immediate and not up for debate. If it's not obvious then it falls in the second part - "any attempt to bypass this policy will result in a ban from the project".<p>A submarine submission, if discovered, will result in a ban.<p>Using the phrase "virtual signaling" long ago became a meaningless term other than to indicate one's views in a culture war. 10 years ago David Shariatmadari wrote "The very act of accusing someone of virtue signalling is an act of virtue signalling in itself", <a href="https://www.theguardian.com/commentisfree/2016/jan/20/virtue-signalling-putdown-passed-sell-by-date" rel="nofollow">https://www.theguardian.com/commentisfree/2016/jan/20/virtue...</a> .
People who talk about "virtue signalling" are usually engaging in vice signalling.
Somewhat off topic, but I can’t believe someone got paid to write that article, what a load of crap. It’s like saying that fallacies don’t exist because sometimes people incorrectly claim the other side is arguing fallaciously.<p>If you go by the literal definition in the article, it’s very clear what OP meant when he said the AI policy is virtue-signaling, and it has absolutely nothing to do with the culture war.
It's not a useful phrase because a "we accept AI-generated contributions" is also virtue signalling.<p>You have no doubt heard claims that AI "democratizes" software development. This is an argument that AI use for that case is virtuous.<p>You have no doubt heard claims that AI "decreases cognition ability." This is an argument that not using AI for software development is virtuous.<p>Which is correct depends strongly on your cultural views. If both are correct then the term has little or no weight.<p>From what I've seen, the term "virtue signalling" is almost always used by someone in camp A to disparage the public views of someone in camp B as being dishonest and ulterior to the actual hidden reason, which is to improve in-group social standing.<p>I therefore regard it as conspiracy theory couched as a sociological observation, unless strong evidence is given to the contrary. As a strawman exaggeration meant only to clarify my point, "all right-thinking people use AI to write code, so these are really just gatekeepers fighting to see who has the longest neckbeard."<p>Further, I agree with the observation at <a href="https://en.wikipedia.org/wiki/Virtue_signalling" rel="nofollow">https://en.wikipedia.org/wiki/Virtue_signalling</a> that "The concept of virtue signalling is most often used by those on the political right to denigrate the behaviour of those on the political left". I see that term as part of "culture war" framing, which makes it hard to use that term in other frames without careful clarification.
The LLM ban is unenforceable, they must know this. Is it to scare off the most obvious stuff and have a way to kick people off easily in case of incomplete evidence?
It is enforceable, I think you mean to say that it cannot be prevented since people can attempt to hide their usage? Most rules and laws are like that, you proscribe some behavior but that doesn't prevent people from doing it. Therefore you typically need to also define punishments:<p>> This policy is not open to discussion, any content submitted that is clearly labelled as LLM-generated (including issues, merge requests, and merge request descriptions) will be immediately closed, and any attempt to bypass this policy will result in a ban from the project.
What happens when the PR is clear, reasonable, short, checked by a human, and clearly fixes, implements, or otherwise improves the code base and has no alternative implementation that is reasonably different from the initially presented version?
If you're going to set a firm "no AI" policy, then my inclination would be to treat that kind of PR in the same way the US legal system does evidence obtained illegally: you say "sorry, no, we told you the rules and so you've wasted effort -- we will not take this even if it is good and perhaps the only sensible implementation". Perhaps somebody else will eventually re-implement it later without looking at the AI PR.
How funny would it be if the path to actually implement that thing is then cut off because of a PR that was submitted with the exact same patch. I'm honestly sitting here grinning at the absurdity demonstrated here. Some things can only be done a certain way. Especially when you're working with 3rd party libraries and APIs. The name of the function is the name of the function. There's no walking around it.
It follows the same reasoning as when someone purposefully copies code from a codebase into another where the license doesn't allow.
Yes it might be the only viable solution, and most likely no one will ever know you copied it, but if you get found out most maintainers will not merge your PR.
That's why I said "somebody else, without looking at it". Clean-room reimplementation, if you like. The functionality is not forever unimplementable, it is only not implementable by merging this AI-generated PR.<p>It's similar to how I can't implement a feature by copying-and-pasting the obvious code from some commercially licensed project. But somebody else could write basically the same thing independently without knowing about the proprietary-license code, and that would be fine.
You not realizing how ridiculous this is, is exactly why half of all devs are about to get left behind.<p>Like, this should be enshrined as the quintessential “they simply, obstinately, perilously, refused to get it” moment.<p>Shortly, no one is going to care about anyone’s bespoke manual keyboard entry of code if it takes 10 times as long to produce the same functionality with imperceptibly less error.
> Shortly, no one is going to care about anyone’s bespoke manual keyboard entry of code if it takes 10 times as long to produce the same functionality with imperceptibly less error.<p>Well that day doesn't appear to be coming any time soon. Even after years of supposed improvements, LLMs make mistakes so frequently that you can't trust anything they put out, which completely negates any time savings from not writing the code.
Sorry, but this is user error.<p>1) Most people still don't use TDD, which absolutely solves much of this.<p>2) Most poople end up leaning too heavily on the LLM, which, well, blows up in their face.<p>3) Most people don't follow best practices or designs, which the LLM absolutely does NOT know about NOR does it default to.<p>4) Most people ask it to do too much and then get disappointed when it screws up.<p>Perfect example:<p>> you can't trust anything they put out<p>Yeah, that screams "missing TDD that you vetted" to me. I have yet to see it not try to pass a test correctly that I've vetted (at least in the past 2 months) Learn how to be a good dev first.
> no one is going to care about anyone’s bespoke manual keyboard entry of code if it takes 10 times as long to produce the same functionality with imperceptibly less error.<p>No one is going to care about anyone’s painstaking avoidance of chlorofluorocarbons if it takes ten times as long to style your hair with imperceptibly less ozone hole damage.
The problem is that even if the code is clear and easy to understand AND it fixes a problem, it still might not be suitable as a pull request. Perhaps it changes the code in a way that would complicate other work in progress or planned and wouldn't just be a simple merge. Perhaps it creates a vulnerability somewhere else or additional cognitive load to understand the change. Perhaps it adds a feature the project maintainer specifically doesn't want to add. Perhaps it just simply takes up too much of their time to look at.<p>There are plenty of good reasons why somebody might not want your PR, independent of how good or useful to you your change is.
How would you tell that it's LLM-generated in that case?<p>If the submitter is prepared to explain the code and vouch for its quality then that might reasonably fall under "don't ask, don't tell".<p>However, if LLM output is either (a) uncopyrightable or (b) considered a derivative work of the source that was used to train the model, then you have a legal problem. And the legal system <i>does</i> care about invisible "bit colour".
It's (c) copyright of the operator.<p>For one simple reason. Intention.<p>Here's some code for example: <a href="https://i.imgur.com/dp0QHBp.png" rel="nofollow">https://i.imgur.com/dp0QHBp.png</a><p>Both sides written by an LLM. Both sides written based on my explicit prompts explaining exactly how I want it to behave, then testing, retesting, and generally doing all the normal software eng due diligence necessary for basic QA. Sometimes the prompts are explicitly "change this variable name" and it ends up changing 2 lines of code no different from a find/replace.<p>Also I'm watching it reason in real time by running terminal commands to probe runtime data and extrapolate the right code. I've already seen it fix basic bugs because an RFC wasn't adhered to perfectly. Even leaving a nice comment explaining why we're ignoring the RFC in that one spot.<p>Eventually these arguments are kinda exhausting. People will use it to build stuff and the stuff they build ends up retraining it so we're already hundreds of generations deep on the retraining already and talking about licenses at this point feels absurd to me.
This is where most reasonable people would say “OK, fine”<p>CLEARLY, a lot of developers are not reasonable
You can slap on any punishment clause you want but verifying LLM-origin content without some kind of confession is shaky at best outside obvious cases like ChatGPT meta-fingerprints or copy-paste gaffes. Realistically, it boils down to vibes and suspicion unless you force everyone to record their keystrokes while coding which only works if you want surveillance. If the project ever matters at scale people will start discussing how enforceability degrades as outputs get more human-like.
I think the bigger point about enforcement is not whether you're able to detect "content submitted that is clearly labelled as LLM-generated", but that banning presumes you can identify the origin. Ie.: any individual contributor must be known to have (at most) one identity.<p>Once identity is guaranteed, privileges basically come down to reputation — which in this case is a binary "you're okay until we detect content that is clearly labelled as LLM-generated".<p>[Added]<p>Note that identity (especially avoiding duplicate identity) is not easily solved.
Unenforceable means they can't actually enforce it since they can't discriminate high quality LLM code from hand typed
I suspect this is for now just a rough filter to remove the lowest effort PRs. It likely will not be enough for long, though, so I suspect we will see default deny policies soon enough, and various different approaches to screening potential contributors.
Any sufficiently advanced LLM-slop will be indistinguishable from regular human-slop. But that’s what they are after.<p>This heuristic lets the project flag problematic slop with minimal investment avoiding the cost issues with reviewing low-quality low-effort high-volume contributions, which should be near ideal.<p>Much like banning pornography on an artistic photo site, the perfect application on the borderline of the rule is far less important than filtering power “<i>I know it when I see it</i>” provides to the standard case. Plus, smut peddlers aren’t likely to set an OpenClaw bot-agent swarm loose arguing the point with you for days then posting blogs and medium articles attacking you personally for “discrimination”.
Probably just an attempt to stop low effort LLM copy pasta.
> The LLM ban is unenforceable<p>Just require that the CLA/Certificate of Origin statement be printed out, signed, and mailed with an envelope and stamp, where besides attesting that they appropriately license their contributions ((A)GPL, BSD, MIT, or whatever) and have the authority to do so, that they also attest that they haven't used any LLMs for their contributions. This will strongly deter <i>direct</i> LLM usage. Indirect usage, where people whip up LLM-generated PoCs that they then rewrite, will still probably go on, and go on without detection, but that's less objectionable morally (and legally) than trying to directly commit LLM code.<p>As an aside, I've noticed a huge drop off in license literacy amongst developers, as well as respect for the license choices of other developers/projects. I can't tell if LLMs caused this, but there's a noticeable difference from the way things were 10 years ago.
> As an aside, I've noticed a huge drop off in license literacy amongst developers<p>What do you mean by this? I always assumed this was the case anyway; MIT is, if I'm not mistaken, one of the mostly used licenses. I typically had a "fuck it" attitude when it came to the license, and I assume quite a lot of other people shared that sentiment. The code is the fun bit.
> I always assumed this was the case anyway; MIT is, if I'm not mistaken, one of the mostly used licenses<p>No, it wasn't that way in the 2000s, e.g., on platforms like SourceForge, where OSS devs would go out of their way to learn the terms and conditions of the popular licenses and made sure to respect each other's license choices, and usually defaulted to GPL (or LGPL), unless there was a compelling reason not to: <a href="https://web.archive.org/web/20160326002305/https://redmonk.com/sogrady/2014/11/14/open-source-licenses/" rel="nofollow">https://web.archive.org/web/20160326002305/https://redmonk.c...</a><p>Now the corporate-backed "MIT-EVERYTHING" mindvirus has ruined all of that: <a href="https://opensource.org/blog/top-open-source-licenses-in-2025" rel="nofollow">https://opensource.org/blog/top-open-source-licenses-in-2025</a>
... you think It was good time?<p>Not being able to publish anything without sifting through all the libs licences? Remembering legalese, jurisprudence, edge cases, on top of everything else?<p>MIT became ubiquitous because it gives us peace of mind
The chardet debacle is probably one of the most recent and egregious.
Sarcasm? Nobody will be contributing with a complexe signing process like that, and it doesn't guarantee anything in the end, it's like a high tech pinky swear
Lots of projects have had requirements like this for years, usually to prevent infection by (A)GPL's virality, or in the case of the FSF, so they can sue on your behalf, or less scrupulously, so the project can re-license itself or dual license itself in the future should the maintainers opt to. (This last part was traditionally the only part that elicited objections to CLAs.)<p>> it's like a high tech pinky swear<p>So is you attesting you didn't contribute any GPL'd code (which, incidentally, you arguably can't do if you're using LLMs trained on GPL'd code), and no one seemed to have issues with that, yet when it's extended to LLMs, the concern trolling starts in earnest. It's also legally binding .
Speed limits are unenforceable. You'll never catch everyone speeding so why even bother trying.
Zig has a similar stance on no-LLM policy<p><a href="https://codeberg.org/ziglang/zig#strict-no-llm-no-ai-policy" rel="nofollow">https://codeberg.org/ziglang/zig#strict-no-llm-no-ai-policy</a>
Yep, that’s why my forks of all their libraries with bugs fixed such as <a href="https://github.com/pmarreck/zigimg/commit/52c4b9a557d38fe1e166ac21c52fcd972af7e1c5" rel="nofollow">https://github.com/pmarreck/zigimg/commit/52c4b9a557d38fe1e1...</a> will never ever go back to upstream, just because an LLM did it. Lame, but oh well- their loss. Also, this is dumb because anyone who wants fixes like this will have to find a fork like mine with them, which is an increased maintenance burden.
The commit you listed was merged upstream.<p><a href="https://github.com/zigimg/zigimg/pull/313" rel="nofollow">https://github.com/zigimg/zigimg/pull/313</a>
> Also, this is dumb because anyone who wants fixes like this will have to find a fork like mine with them<p>Or a human will provide the fix?
Hugely unpopular opinion on HN, but I'd rather use code that is flawed while written by a human, versus code that has been generated by a LLM, even if it fixes bugs.<p>I'd gladly take a bug report, sure, but then I'd fix the issues myself. I'd never allow LLM code to be merged.
just like... don't tell them a LLM did it?
If you know there's a bug, why not just properly fix it and get it merged, instead of outsourcing that fix?
Even before AI, getting a fix into an open source project required a certain level of time and effort. If you prefer to spend your time on other things, and you assume it will eventually get fixed by someone else, using an LLM to fix it just for yourself makes sense.
If you rely on llms, you're simply not going to make it. The person who showed their work on the math test is 9/10 times is doing better in life than the person that only knew how to use a calculator. Now how do we think things are going to turn out for the person that doesn't even think they need to learn how to use a calculator.<p>Just like when people started losing their ability to navigate without a GPS/Maps app, you will lose your ability to write solid code, solve problems, hell maybe even read well.<p>I want my brain to be strong in old age, and I actually love to write code unlike 99% in software apparently (like why did you people even start doing this career.. makes no sense to me).<p>I'm going to keep writing the code myself! Stop paying Billionaires for their thinking machines, its not going to work out well for you.
I went into software because I like building things and coming up with solid solutions to business problems that are of use to society. I would not describe myself with "love to code". It's a means to an end to pay bills and have a meaningful career. I think of myself more like a carpenter or craftsman.<p>I used a coding agent for the majority of my current project and I still got the "build stuff" itch scratched because Engineers are still responsible for the output and they are needed to interface between technical teams, UX, business people etc
> I think of myself more like a carpenter or craftsman.<p>> I used a coding agent for the majority of my current project and I still got the "build stuff" itch scratched because Engineers are still responsible for the output and they are needed to interface between technical teams, UX, business people etc<p>Then you are the opposite of a carpenter or a craftsman, no matter what you think about it yourself.
I went into software because <i>I love to code</i>.<p>And yet, I find a coding agent makes it even more fun. I spend less time working on the boilerplate crap that I hate, and a lot less time searching Google and trying to make sense of a dozen half-arsed StackOverflow posts that don't <i>quite</i> answer my question.<p>I just went through that yesterday with Unity. I did all the leg work to figure out why something didn't work like I expected. Even Google's search engine agent wasn't answering the question. It was a terrible, energy-draining experience that I don't miss at all. I did figure it out in the end, though.<p>Prior to yesterday, I was thinking that using AIs to do that was making it harder for me to learn things because it was so easy. But comparing what I remember from yesterday to other things I did with the AI, I don't really think that. The AI lets me do it repeatedly, quickly, and I learn by the repetition, and a lot of it. The slow method has just 1 instance, and it takes forever.<p>This is certainly an exciting time for coders, no matter why they're in the game.
> The person who showed their work on the math test is 9/10 times is doing better in life than the person that only knew how to use a calculator<p>Sure but once you learn long multiplication/division algorithms by hand there's not much point in using them. By high school everyone is using a calculator.<p>> Just like when people started losing their ability to navigate without a GPS/Maps app<p>Are you suggesting people shouldn't use Google Maps? Seems kind of nuts. Similar to calculators, the lesson here is that progress works by obviating the need to think about some thing. Paper maps and compasses work the same way, they render some older skill obsolete. The written word made memorization infinitely less valuable (and writing had its critics).<p>I don't think "LLMs making us dumber" is a real concern. Yes, people will lose some skills. Before calculators, adults were probably way better at doing arithmetic. But this isn't something worth prioritizing.<p>However, it is worth teaching people to code by hand, just like we still teach arithmetic and times tables. But ultimately, once we've learned these things, we're going to use tools that supercede them. There's nothig new or scary about this, and it will be a significant net win.
>I don't think "LLMs making us dumber" is a real concern. Yes, people will lose some skills. Before calculators, adults were probably way better at doing arithmetic.<p>But it's a problem of scale.<p>Calculators are very specific tools. If you are trying to run a computation of some arithmetic/algebraic expression, then they are a great tool. But they're not going to get you far if you need help understanding how to file your taxes.<p>LLMs are multi-faceted tools. They can help with math, doing taxes, coding, doing research, writing essays, summarizing text, etc. Basically anything that can be condensed into an embedding that the LLM can work with is fair game.<p>If you're willing to accept that <i>using</i> a tool slowly erodes the skill that tool was made for, then you should also accept that you will see an erosion of MANY skill you currently have.<p>So the question is whether this is all worth it? Is an increase in productivity worth eroding a strong foundation of general purpose knowledge? Perhaps even the ability to <i>learn</i> in the first place?<p>I would argue no a million times over, but I'm starting to think that I'm an outlier.
>I want my brain to be strong in old age, and I actually love to write code unlike 99% in software apparently (like why did you people even start doing this career.. makes no sense to me).<p>I am old now, and the unfortunate truth is that my brain isn't working as fast or as precise as when I was young. LLMs help me maintain some of my coding abilities.<p>It's like having a non-judgemental co-coder sitting at your side, you can discuss about the code you wrote and it will point out things you didn't think of.<p>Or I can tap into the immense knowledge about APIs LLMs have to keep up with change. I wouldn't be able to still read that much documentation and keep all of this.
when i was in school we were graded (yes, actually given a letter grade) on our handwriting. mine was pretty terrible. i think i’m doing alright now.
I agree but only in the very long term. I think short-medium term, it's not going to matter as the MBA types get so caught up in the mania that results matter even less than they normally do.
One doesn't exclude the other. I still program myself; I actually have more time to do so because the LLM I pay some billionaire for is taking care of the mundane stuff. Before I had to do the mundane stuff myself. What I pay the billionaire is a laughable fraction compared to the time and energy I now have extra to spend on meaningful innovation.
Dangerous that all these projects keep going MIT. We wouldn't have an open source community if it weren't for protections against modification without sharing. Almost all software today would be proprietary, as it was before.
No. People shared code because they wanted to. Open standards are great tools against emerging monopolies. So the losing side used that. IBM lost OS/2 vs NT war. They propped up Linux. Intel wanted to have a second option to Microsoft in server space. AMD wants to gain some developers against Nvidia Cuda monopoly. That's the reason they contribute. Even Linux's own leadership decided against extra freedoms for users; they rejected GPLv3 to keep company contributions going. That's why LLVM gets the first implementations of certain optimizations and architectures, yet being permissive licensed.<p>Quite a bit of the Linux userspace is already permissively licensed. Nobody has built a full-fledged open source alternative yet. Because it is hard to build an ecosystem, it is hard to test thousands of different pieces of hardware. None of that would happen without well-paid engineers contributing.
A long list of contribution PRs are seen as a resume currency in the modern world. A way to game that system is to autogenerate a whole bunch of PRs and hope some of them are accepted to buff your resume. Our issue is that we've been impressed with volume of PRs and not the quality of PRs. The correction is that we should start caring about the volume of rejected PRs and quality of those accepted PRs (like reviewing merge discussions since they're a close corollary to what can be expected during an internal PR). As long as the volume of PRs is seen as a positive indicator people will try and maximize that number.<p>This is made more complex that the most senior members of organizations tend to be irrationally AI positive - so it's difficult for the hiring layer to push back on a candidate for over reliance on tools even if they fail to demonstrate core skills that those tools can't supplement. The discussion has become too political[1] in most organizations and that's going to be difficult to overcome.<p>1. In the classic intra-organizational meaning of politics - not the modern national meaning.
I am 100% certain that code that Redox OS relies on in upstream already has LLM code in it.
Yes, but that is there choice and burden to maintain.
So what?<p>You pay taxes to a government using it to wage wars bombing children schools.
Will you now live in hut a on the forest because you don't consent to it?
We need LLMs that have a certificate of origin.<p>For instance a GPL LLM trained only on GPL code where the source data is all known, and the output is all GPL.<p>It could be done with a distributed effort.
Not necessarily a bad idea, but I think the bigger issue here and now is the increasing assymmetry in effort between code submitter and reviewer, and the unsustainable review burden on the maintainers if nothing is done.
I don't think the licensing issues are the main problem, but the spam.
It is not clear that copyright continues on the LLM output, that is, the output is <i>not</i> necessarily a derivative work.<p>So "copyleft" doesn't work on any of the output. Therefore no GPL applies.
Honestly, given that that GPL model would be far below SOTA in capabilities, what exactly would be its use-case? Why would anyone try to use an inferior LLM if they can get away with using a superior one?
It doesn't make sense, because GPL means only GPL comes out, not only GPL can go in:<p>>Many of the most common free-software licenses, especially the permissive licenses, such as the original MIT/X license, BSD licenses (in the three-clause and two-clause forms, though not the original four-clause form), MPL 2.0, and LGPL, are GPL-compatible. That is, their code can be combined with a program under the GPL without conflict, and the new combination would have the GPL applied to the whole (but the other license would not so apply).
<a href="https://en.wikipedia.org/wiki/License_compatibility#GPL_compatibility" rel="nofollow">https://en.wikipedia.org/wiki/License_compatibility#GPL_comp...</a><p>A model that contains no GPL code makes sense so that people using non-GPL licenses don't violate it.
Rather, LLMs that do NOT contain GPL code.
Doesn't Richard Stallman opposes AI use?
Glad to see they are applying some rigor. I've started removing AI-heavy projects from my dependency tree.
Are you and Redox just going to fall behind? Projects that used to take months take days or hours.<p>It seems well intentioned, but lots of bad ideas are like this.<p>I was told by my customer they didn't need my help because Claude Code did the program they wanted me to quote. I sheepishly said, 'I can send an intern to work in-house if you don't want to spend internal resources on it.'<p>I can't really imagine what kind of code will be done by hand anymore... Even military level stuff can run large local models.
It's an operating system, not a website.
Projects that used to take months still take months. LLM’s are only useful for throwaway low-quality slop. Perhaps some times the sloperator will get lucky and the end result isn’t something that will bite them in the ass. But the rest of us foresee a mountain of tech debt that will come knocking one day.
the skills that protect against displacement long-term are exactly what vibe coding erodes. an engineer who built with AI but never developed the instincts to spot its mistakes has a gap they don't know they have. this maintainer problem is a preview: when you can't tell the difference between a PR from someone who understood the code and one from someone who just prompted into it, the verification burden doesn't disappear. it shifts to whoever has enough skill to catch the errors.
I understand the knee-jerk reaction to restrict LLM's, but that feels like a failing prospect. They're going to be doing an incredible amount of heavy lifting on code generation, so why would you intentionally cut out what will likely be 90% or more of potential contributions? Wouldn't it be better to come up with a system that tags the type of contributor, ie. human vs. AI?
What about building an Agentic architecture that reduces your review burden? Just a thought.
One thing that is missing is a standard no-LLM policy, like the "Contributor Covenant Code of Conduct". On PostgREST we recently added a strict no-LLM policy [1], basically linking Gentoo's AI policy, which we found the most apt in lack of a standard.<p>[1]: <a href="https://github.com/PostgREST/postgrest/blob/main/CONTRIBUTING.md#ai-policy" rel="nofollow">https://github.com/PostgREST/postgrest/blob/main/CONTRIBUTIN...</a>
The interesting tension here is that "no LLM-generated code" is easy to state but hard to enforce - a developer who uses an LLM to understand a concept and then writes the code themselves is indistinguishable from one who didn't. The policy probably works as a cultural signal more than a technical guarantee, which might be exactly what they want.
That's a shame. We used claude to migrate redox very successfully to pure rust cranlift on mac: <a href="https://github.com/pannous/redox" rel="nofollow">https://github.com/pannous/redox</a> (but then got stuck on multi-cpu assembly):
Hiring managers could help here: the only thing that should count as a positive when - if - you feel like someone's open source contributions are important for your hiring decision is to make it plain that you only accept this if someone is a core contributor. Drive-by contributions should not count for anything, even if accepted.
That’s a shallow way to get people to own up to their code. I haven’t read the original link but going by the title, a blanket no-LLM is bad. Driven by human and supported by AI should be the way.
Hm, wondering how to enforce this rule.
Rules without any means to enforce them can put the honest people into a disadvantage.
> This policy is not open to discussion, any content submitted that is <i>clearly labelled as LLM-generated</i> (including issues, merge requests, and merge request descriptions) will be immediately closed, and any attempt to bypass this policy will result in a ban from the project.<p>It sounds serious and strict, but it applies to content that's 'clearly labelled as LLM-generated'. So what about content that isn't as clear? I don't know what to make of it.<p>My guess is that the serious tone is to avoid any possible legal issues that may arise from the inadvertent inclusion of AI-generated code. But the general motivation might be to avoid wasting the maintainers' time on reviewing confusing and sloppy submissions that are made using the lazy use of AI (as opposed finely guided and well reviewed AI code).
I think clients who care about getting good software will eventually require that LLMs are not directly used during the development.<p>I think one way to compare the use of LLMs is that it is like comparing a dynamically typed language with a functional/statically typed one. Functional programming languages with static typing makes it harder to implement the solution without understanding and developing an intuition of the problem.<p>But programming languages with dynamic typing will let you create a (partial) solutions with a lesser understanding the problem.<p>LLMs takes it even more easy to implement an even more partial solutions, without actually understanding even less of the problem (actually zero understanding is required)..<p>If I am a client who wants reliable software, then I want an competent programmer to<p>1. actually understand the problem,<p>2. and then come up with a solution.<p>The first part will be really important for me. Using LLM means that I cannot count on 1 being done, so I would not want the contractor to use LLMs.
This may be an unpopular opinion, but I fully support the no-AI stance. AI-generated code belongs nowhere in an operating system or it's low level/kernel components. Especially considering the shear amount of power the kernel has over the machine. The <i>last</i> thing you want is an AI-generated bug crashing systems because it flipped a bit that is reserved or silently corrupting memory (or worse) because it ran in kernel mode (or similar privileges) and therefore the system didn't prevent it from doing what it was going to do. An OS (of any kind or architecture) and computer firmware is the last place I would ever want AI-generated code.
So... my prediction is that they will either have to close off their dev process or start using LLMs to filter contributions in the attempt to detect submissions from LLMs.
While I am more on the AI-hater side, I don't consider this to be a good idea:<p>"any content submitted that is clearly labelled as LLM-generated (including issues, merge requests, and merge request descriptions) will be immediately closed"<p>For example:<p>- What if a non-native English speaker uses the help of an AI model in the formulation of some issue/task?<p>- What about having a plugin in your IDE that rather gives syntax and small code fragment suggestions ("autocomplete on steroids")? Does this policy mean that the programmers are also restricted on the IDE and plugins that they are allowed to have installed if they want to contribute?
> What if a non-native English speaker uses the help of an AI model in the formulation of some issue/task?<p>Unfortunately, when I have seen this in the context of the Rust project, the result has still been the typical verbose word salad that is typical of chat style LLMs. It is better to use a dedicated translation tool, and post the original along with the translation.<p>> What about having a plugin in your IDE that rather gives syntax and small code fragment suggestions ("autocomplete on steroids")?<p>Very good question, I myself consider this sort of AI usage benign (unlike agent style usage), and is the only style of AI I use myself (since I have RSI it helps having to type less). You could turn the feature off for just this project though.<p>> Does this policy mean that the programmers are also restricted on the IDE and plugins that they are allowed to have installed if they want to contribute?<p>I don't think that follows, but what features you have active in the current project would definitely be affected. From what I have seen all IDEs allow turning AI features on and off as needed.
> and post the original along with the translation<p>this so many times - it's so incredibly handy to have the original message from the author, for one I may speak or understand parts of that language and so have an easier time understanding the intent of the translated text. For another I can cut and translate specific parts using whatever tools I want, again giving me more context about what is trying to be communicated.
> What if a non-native English speaker uses the help of an AI model in the formulation of some issue/task?<p>How can you be sure the AI translation is accurately convening what was written by the speaker? The reality is you can't accommodate every hypothetical scenario.<p>> What about having a plugin in your IDE that rather gives syntax and small code fragment suggestions ("autocomplete on steroids")? Does this policy mean that the programmers are also restricted on the IDE and plugins that they are allowed to have installed if they want to contribute?<p>Nobody is talking about advanced autocomplete when they want to ban AI code. It's prompt generated code.
>What if a non-native English speaker uses the help of an AI model in the formulation of some issue/task?<p>Firefox has direct translation built in. One can self-host libretranslate. There are many free sites to paste in language input and get a direct translation sans filler and AI "interpretation". Just write in your native language or your imperfect English.
Translation software does not solve the problem that the tone that you have to use in English is often very different from the tone in your native language. What I would write in German would sometimes not be socially acceptable for English speakers.<p>If the native language is very different from English, this problem gets much worse.<p>This is a problem that LLM claim to partially mitigate (and is one reason why non-native speakers could be tempted to use them), but hardly any classical translation tool can.
I'd be interested to see examples of this where the translated text is not editorializing and behaves like other machine translators, just better. I expect there to be some missed nuance when translating languages, but I also expect LLMs to clobber it.
> What if a non-native English speaker uses the help of an AI model in the formulation of some issue<p>I've seen this excuse before but in practice the output they copy/paste is extremely verbose and long winded (with the bullet point and heading soup etc.)<p>Surely non-native speakers can see that structure and tell the LLM to match their natural style instead? No one wants to read a massive wall of text.
They will sooner or later change that policy or get very slow in keeping up.
What would constitute "clearly llm generated" though
<p><pre><code> if (foo == true) { // checking foo is true (rocketship emoji)
20 lines of code;
} else {
the same 20 lines of code with one boolean changed in the middle;
}
</code></pre>
Description:<p>(markdown header) Summary (nerd emoji):<p>This PR fixes a non-existent issue by adding an *if statement** that checks if a variable is true. This has the following benefits:<p><pre><code> - Improves performance (rocketship emoji)
- Increases code maintainability (rising bar chart emoji)
- Helps prevent future bugs (detective emoji)
</code></pre>
(markdown header) Conclusion:<p>This PR does not just improve performance, it fundamentally reshapes how we approach performance considerations. This is not just design --- it's architecture. Simple, succinct, yet powerful.
The clearly LLM PRs I receive are formatted similarly to:<p><pre><code> ## Summary
...
## Problem
...
## Solution
...
## Verification
...
</code></pre>
They're too methodical, and duplicate code when they're longer than a single line fix. I've never received a pull request formatted like that from a human.
I wish them good luck but they will become even more of a niche project.
Generating small chunks of code with llms to save time works well, as long as you can read and understand the code i don't see what the problem is.
I see a lot of oss forks in the future where people just fork to fix their issues with LLMs without going through maintainers. Or even doing full LLM rewrites of smaller stuff.
Well it's an operating system. Ideally safety and reliability are prioritized. I think the scope and complexity of an operating system are large enough both to make a lot of changes non-trivial and to trip up LLMs. I think it's fine if you have an unstable release stream or you have bleeding edge forks that move faster than upstream. This is already the case...
Probably, but on the other hand, this is almost literally the definition of technical debt -- it's great to get fixes uptreamed precisely so that you don't have to maintain your own fork, keep it in sync, etc. an LLM can likely lower the burden of that but the burden still exists.
They're certainly welcome to do whatever they're like, and for a microkernel based OS it might make sense--I think there's probably pretty "Meh" output from a lot of LLMs.<p>I think part of the battle is actually just getting people to identify which LLM made it to understand if someones contribution is good or not. A javascript project with contributions from Opus 4.6 will probably be pretty good, but if someone is using Mistral small via the chat app, it's probably just a waste of time.
The purpose of a LLM ban is to encourage use of LLMs to submit PRs, not discourage. The longer term effect is to eliminate FOSS competency from the hiring process.<p>It takes some human effort to set up a slop generator. Have the slop generator make 100 buckets of slop, humans will work hard accepting or rejecting the buckets, somewhat less than 100 buckets will be approved, the payoff for the owner of the slop generator is now they have "verified FOSS developer contribution" on their resume which translates directly into job offers and salary. Its a profitable grift, profitable enough that the remaining humans are being flooded out. The ban makes successful submission to Redox even MORE valuable than before. They can expect infinite floods of PRs now that a successful PR "proves" that Redox thinks the human owner of the slop generator did the work and should therefore be offered more jobs, paid more, etc. Technically, they're hiring and paying based on ability to set up a slop generator which is not zero value, but not as valuable as being an Official Redox Contributor.<p>In the long run, this eliminates FOSS competency from the hiring process. Currently FOSS competency and coding experience indicates a certain amount, however minimal, of human skill and ability to work with others. Soon, it'll mean the person claiming to be a contributor has no problem violating orders and rules, such as the ones forbidding AI submissions, and it'll be a strong signal they actively work to subvert teams for their own financial reward and benefit. Which might actually be a hiring bullet point for corporate management in more dysfunctional orgs, but probably not help individual contributors get hired.
[dead]
[flagged]
You can then list on your profile that you’re a contributor to 1000 FOSS projects.<p>Before this it was junk like spacing changes
For one, it makes your Github profile look more attractive to employers (superficially, at least).<p>Sometimes, I'd guess, it's also because your Github profile has some kind of an advertisement.
I genuinely feel bad for you. At least it isnt difficult to make the transition to AI Agent coding. Even untrained people are able to do it.<p>At some point your manager is going to force you to AI code. At best you can try to find some healthcare or finance company that is too cheap to buy a machine that can locally run 400B models.
My manager can try. I’ll say no, and he’ll be welcome to start the slow process of laying me off, which will end in my employer having to pay me 10 months worth of wages. By the time I’ll be faced with having to find a new job, I’ll be retiring anyway. Using LLMs is not in my job description, and I will not do it.
Untrained people are producing utter garbage. I am 100% in on AI coding and haven’t typed into the IDE in months but the craft remains pretty much as challenging as ever.
[flagged]
Spiritually Amish
AI has the potential to level the playing field somewhat between open source and commercial software and SaaS that can afford armies of expensive paid developers.<p>Time consuming work can be done quickly at a fraction of the cost or even almost free with open weights LLMs.
Let someone from the Redox team go read [1], [2], and [3]. If they still insist on keeping their position then ... well. The industry is being redefined as we speak and everyone doing the push-back are pushing against themselves really.<p>[1] <a href="https://www.datadoghq.com/blog/ai/harness-first-agents/" rel="nofollow">https://www.datadoghq.com/blog/ai/harness-first-agents/</a><p>[2] <a href="https://www.datadoghq.com/blog/ai/fully-autonomous-optimization/" rel="nofollow">https://www.datadoghq.com/blog/ai/fully-autonomous-optimizat...</a><p>[3] <a href="https://www.datadoghq.com/blog/engineering/self-optimizing-system/" rel="nofollow">https://www.datadoghq.com/blog/engineering/self-optimizing-s...</a><p>P.S. I know this will be downvoted to death but I'll leave it here anyway for folks who want to keep their eyes wide open.
Wouldn't expect anything else from big data collectors.
That’s such a silly take.<p>“Our approach is harness-first engineering: instead of reading every line of agent-generated code, invest in automated checks that can tell us with high confidence, in seconds, whether the code is correct. “<p>that’s literally what The whole industry has been doing for decades, and spoiler: you still need to review code! it just gives you confidence that you didn’t miss anything.<p>Also, without understanding the code, it’s difficult to see its failure modes, and how it should be tested accordingly.
> The industry is being redefined as we speak and everyone doing the push-back are pushing against themselves really.<p>No, they’re pushing back against a world full of even more mass surveillance, corporate oligarchy, mass unemployment, wanton spam, and global warming. It is absolutely in your personal best interest to hate AI.
While I appreciate the morality and ethics of this choice, the current trend means projects going in this direction are making themselves irrelevant (don't bother quipping at how relevant redox is today, thanks). E.g. top security researches are now using LLMs to find new RCEs and local privilege escalations; no reason why the models couldn't fix these, too - and it's only the security surface.<p>IOW I think this stance is ethically good, but technically irresponsible.
Even if we assume that LLMs become good enough for this to be true (some might feel that is the case already - I disagree, but that is beside the point), there is no reason why OSS maintainers should accept such outside contributions that they would need to carefully review, as it comes from an untrusted source, when they could just use the tools themselves directly. Low effort drive-by PRs is a burden with no upside.
People can choose not to use AI. This is because they think it is inevitable that they will eventually use LLMs.
In my experience with the right set of guardrails LLMs can deliver high quality code. One interesting aspect is doing security reviews and formal verification with agents that is proven to be very useful in practice.<p><a href="https://www.datadoghq.com/blog/ai/harness-first-agents/" rel="nofollow">https://www.datadoghq.com/blog/ai/harness-first-agents/</a>
Not sure how they can expect to make a viable full OS without massive use of LLMs, so this makes no sense.<p>What makes sense if that of course any LLM-generated code must be reviewed by a good programmer and must be correct and well written, and the AI usage must be precisely disclosed.<p>What they should ban is people posting AI-generated code without mentioning it or replying "I don't know, the AI did it like that" to questions.
The problem is the increasing review burden - with LLMs it is possible to create superficially valid looking (but potentially incorrect) code without much effort, which will still take a lot of effort to review. So outright rejecting code that can identified as LLM-generated at a glance, is a rough filter to remove the lowest effort PRs.<p>Over time this might not be enough, though, so I suspect we will see default deny policies popping up soon enough.
>Not sure how they can expect to make a viable full OS without massive use of LLMs, so this makes no sense.<p>Why not?
Because it takes a massive amount of developer work (perhaps more than anything else), and it's very unlikely they either have the ability to attract enough human developers to be able to do it without LLM assistance.<p>Not to mention that even finding good developers willing to develop without AI (a significant handicap, even more so for coding things like an OS that are well represented in LLM training) seems difficult nowadays, especially if they aren't paying them.
>Not sure how they can expect to make a viable full OS without massive use of LLMs, so this makes no sense.<p>Humans have been doing this for the better parts of 5 decades now. Don't assume others rely on LLMs as much as you do.<p>>Not to mention that even finding good developers willing to develop without AI (a significant handicap, even more so for coding things like an OS that are well represented in LLM training) seems difficult nowadays, especially if they aren't paying them.<p>I highly doubt that. In fact, I'd take a significant pay cut to move to a company that doesn't use LLMs, if I were forced to use them in my current job.
The LLM has brainwashed so many devs that they now think they are nothing without it.
> Because it takes a massive amount of developer work<p>You know what else takes "a massive amount of developer work"?<p><i>"any LLM-generated code must be reviewed by a good programmer"</i><p>And this is the crux of the matter with using LLMs to generate code for everything but really simple greenfield projects: They don't really speed things up, because everything they produce HAS TO be verified by someone, and that someone HAS TO have the necessary skill to write such code themselves.<p>LLMs save time on the typing part of programming. Incidentially that part is the least time consuming.
The submitter is supposed to be the good programmer; if not, then maintainers may or may not review it themselves depending on the importance of the feature.<p>And yes of course they need to be able to write the code themselves, but that's the easy part: any good developer could write a full production OS by themselves given access to documentation and literature and an enormous amount of time. The problem is the time.
> The submitter is supposed to be the good programmer;<p>And how will that be assured? Everyone can open a PR or submit a bug.<p>> The problem is the time.<p>But not the time spent <i>TYPING.</i><p>The problem is the time spent <i>THINKING.</i> And that's a task that LLMs, which are nothing other than statistical models trying to guess the next token, really aren't good at.
Well, assuming you care about verification, of course. If it's got that green checkmark emoji, it ships!
> Not sure how they can expect to make a viable full OS without massive use of LLMs, so this makes no sense.<p>Every single production OS, including the one you use right now, was made before LLMs even existed.<p>> What makes sense if that of course any LLM-generated code must be reviewed by a good programmer<p>The time of good programmers, especially ones working for free in their spare time on OSS projects, is a limited resource.<p>The ability to generate slop using LLMs, is effectively unlimited.<p>This discrepancy can only be resolved in one way: <a href="https://itsfoss.com/news/curl-ai-slop/" rel="nofollow">https://itsfoss.com/news/curl-ai-slop/</a>
There are only 4 successful general purpose production OSes (GNU/Linux, Android/Linux, Windows, OS X/iOS) and only one of those made by the open source community (GNU/Linux).<p>And a new OS needs to be significantly better than those to overcome the switching costs.
> There are only 4 successful general purpose production OSes<p>Feel like you are using a very narrow definition of "success" here. Is BSD not successful? It is deployed on 10s of millions of routers/firewalls/etc in addition to being the ancestor of both modern MacOS and PlaystationOS...
> And a new OS needs to be significantly better than those to overcome the switching costs.<p>Who cares if nobody switches to it as their daily driver? The goal you proposed was "viable", not "widely used". The former is perfectly possible without LLMs (as history has proved), and the latter is unrelated to how you choose to make the OS.
None of this counters the argument I made above :-)
> Not sure how they can expect to make a viable full OS without massive use of LLMs, so this makes no sense.<p>Perhaps the same way that every other viable OS was made without use of LLMs.
> Not sure how they can expect to make a viable full OS without massive use of LLMs, so this makes no sense.<p>Terry Davis built a full OS with his own editor, compiler and language. I think Redox can survive just fine without LLMs
they already have...
[flagged]