I have been using Linux for over 8 months now, and my primary distribution of choice was Debian.
Debian recently conducted a community vote on allowing AI contributions, and it ended up allowing responsible AI contributions.
What is this responsible? How can AI commits be responsible? There are thousands of reasons to not use AI, and the primary reason is AI is a thief.
How did you react to Debian’s decision? Did you switch distros? Which one was your option, and why?
Also, when the Linux kernel itself allows AI commits, is there any practicality in a Linux distribution strictly limiting or restricting AI commits?
I have no serious usability issue with Debian now but am concerned about the use of AI even in my Linux distribution. Should I keep going with Debian or consider any other distribution, as I only have 8+ months of experience as a daily Linux user? I tried almost all Linux distros and am comfortable with everything except Void Linux and highly complex ones like Gentoo.
I’ve always said this, don’t switch to a different flavor of Linux because the developers are starting to use LLMs to code it. I would also say don’t jump into a distro that is completely vibe codes.
Quality Information, contrary to popular belief, is becoming more and more scarce; what you could search early 2000s - 2010s you can’t really do now, there’s advertisements now, there’s LLM prompts at the top result, and you have to dig through pages of search results before finding a golden website. Information is being controlled and funneled by google and there is a price associated with that (your data).
I think if a linux distro regulates its AI usage (IE not entirely vibecoded and pushed to the repository ) I don’t see a reason to be switching distros. Again the primary reason why developers are using LLMs to code has to do with the clusterfuck that is of attaining information.
Unless you literally programmed every component yourself, you can’t get away from some level of LLM involvement, even if the distro itself bans it. There is no 100% certain way to check code for LLM use. So if a developer doesn’t disclose it, and the maintainers accept the code, it’s in the official codebase now.
There’s a deeper problem though, which is a problem of demarcation. What counts as an “AI contribution” to you? Obviously vibe-coding is. But what about more subtle uses?
What if a developer uses an LLM to read the code and suggest a way to make a certain contribution, but it never actually generates any code, the developer implements the LLM’s suggestion completely by hand. Does that count?
What about if a developer hand writes 95% of the code themselves, but that last 5% they aren’t as confident in, so they have the LLM generate it. Does that count?
What if an extremely experienced developer uses an LLM to generate 100% of the code, but spends hours going over every single line making sure it is correct and making little tweaks before submitting the code?
What if a developer writes the initial code 100% by hand, and only uses an LLM to go through and optimize the formatting and performance before submitting it?
What if a developer writes 100% of the code by hand, but uses an LLM to generate a bunch of unit tests and documentation?
These are just some of the ways that LLMs can be involved in the process of software development, and most of these wouldn’t have any real chance of being caught by a maintainer doing some sort of scan to detect LLM usage.
I’m not saying these uses are or aren’t justifiable/acceptable, but my point is it’s often not clear what people consider to be “over the line”. Almost no experienced devs in the FOSS world are advocating for the 100% vibe-code/token-maxing approach. But lots of them are comfortable with using LLMs in similar ways to what I listed earlier.
The tough truth is that you’re almost certainly already using software that has LLM involvement at some level. Short of going full Amish mode, or using completely pre-LLM software in some kind of air gapped setup, you’re not going to be able to avoid it.
Man, my friend said he made a web app. He asked me if it would be secure to deploy. I check the front end and immediately check if his formatting was readable.
Two javascript blocks embedded: one was beautified, normal, tabbed out.
The other block was debeautified, which JS developers do so people can’t steal their code (as if that works these days).
I said, “You didn’t make this.”
“Yeah I did!”
“You used AI.”
“But I wrote the prompts!”
"To prompt a computer to steal two separate snippets of javascript from actual developers to achieve the goal.
"Man, this is fine for prototyping, just to demo an idea. But I wouldn’t release this to the public, because if I saw that, I am going to use the tools I already have, and my LLM to speed up the actions, and I will show you how hackable the app actually is.
“You didn’t make a steak. You ordered a steak and got a McRib with carrots.”
He responds, “Does it look ok?”
“Yeah, we can use the css, and we can adjust that as needed, but if your frontend is this sloppy, I wouldn’t release the backend and take customer data. Hell no.”
Are Anti-AI Linux distributions practical?
It’s not possible to have a 100% no-LLM-coding-involved Linux distro anymore now that the kernel itself is welcoming LLM-assisted contributions, but it’s still possible to say that everything which the distro produces itself will not use AI.
How can AI commits be responsible?
What Debian means is: by reading what it produces and not just blindly accepting it but having humans review it carefully. The quality of LLM-assisted software is highly variable. Experienced people like Debian and Linux kernel developers are much less likely to publish very bad slop than inexperienced developers who are newly able to make a thing work well enough to ship it.
I am concerned about the extent of Debian’s embrace of LLMs but I still have a lot more confidence in them than most other distros (especially small hardcore-anti-AI distro projects lacking sufficient developer capacity to even keep up with security updates).
I expect we’ll be seeing lots more things like this non-upstreamable-because-AI hardware enablement and distros like Nura (formerly postmarketOS) will either either adopt more nuanced LLM policies or be forked.
I am doubtful about if there will be any serious distros with hard LLM bans in a few years from now. But also, perhaps the bubble will have burst by then, so hosted inference won’t be so cheap and the use of LLMs will probably be quite different.
the primary reason is AI is a thief
This is not the primary reason for most people, I don’t think. I think the fact that it increases complexity while reducing human understanding is the biggest problem; it’s possible (easy even) now to produce mountains of good-enough-by-many-metrics source code which the person doing the prompting has very little comprehension of. The fact that it is also a plagiarism machine is far less of a problem than this. (There are a litany of other problems too of course, several others of which I would also rate as worse than the plagiarism aspect.)
Yeah the Debian Project’s position makes a lot of sense to me. They’re basically saying that they won’t be wasting a bunch of resources trying to seek out LLM generated code and purge it and will instead just focus on making sure ALL the code is up to their quality standards. This will likely mean they spend a lot of time sifting out slop anyway, and will allow them to keep just focusing on making the project do what it’s always done. Ship a stable, usable, and free distro.
No. It’s not practical.
No matter how you feel about ai or how you think it is wrong, the increased tempo of bug fixes and security patches necessitates either manpower beyond what is feasible for volunteer projects or the use of ai tools.
It’s an arms race and you can’t opt out without just missing the patch schedule.
Yeah, all the FOSS communities have been starving for labor since they started. Likely the best we could hope for is that the true experts at the top are maintaining a critical eye on what makes it in.
Even in that case we need to hope they’re using ai tools because they’ll be seeing a volume of cases too high for their previous workflow.
It’s a mix right?
In some cases, you have absolute neophyte coders trying to shove unvetted vibe code in. There needs to be some bars on entry for what is submitted. I’d like to see at least mid level code in the same style and verbosity and not something that’s on the fringe of the vibe where it failed 15 times and ended up shoving some great atrocity in for a lack of context. As long as the person asking for a PR isn’t trying to insert horrors, inspecting the input using tools isn’t the worst thing either.
thief
If you advocate for further expansion of “copyright” oppression, you deserve microsoft windows.
100%.
OpenBSD.
Come learn about computo.
Be free with us.
Can you share your experience with OpenBSD please?
Pour yourself a cup of coffee.
IN GENERAL: You will encounter much more friction in dealing with certain day to day tasks (until you configure everything) but unlike Linux you will find that the system is much easier to understand and therefore the fixes “stick” in your head a bit easier.
Overall, Linux is like going on a pleasant hike that has occasional 120° cliff faces you need to climb. OpenBSD is like hiking a mountain where you are at a consistent 45° angle. You’ll face challenges but the resolutions are understandable and internally consistent with each other, and you will find you’re own understanding of the system improves much more consistently through use.
USER EXPERIENCE: Desktop: You will be using X11 for the forseable future, particularly OpenBSD’s security oriented fork of Xorg. For the most part any knowledge of setting up an Xorg desktop will transfer with little issue and the applications one would expect to see in such a desktop are present. OpenBSD comes with a few built in window managers which all ere on the “classic” side of the house. Most notably is cwm (Calm Window Manager) which is somewhat inspired by plan9’s Rio.
Wayland is still experimental but there has been a good deal of progress here, DWL is at a point where it “mostly works” though it is far off from being the default. It is important to note that “being the default” actually means something in this space. The OpenBSD developers pride themselves on having and extremely secure and well maintained “base system” so the OS and it’s surrounding ecosystem encourages users to not deviate from defaults as much as possible. That being said Wayland will likely, eventually, become the default.
Applications: The ports tree is less comprehensive than FreeBSD and certainly less than Linux but there is a surprising amount of less commonly used software in there. Case in point, Librewolf is in the ports tree as of 8.0 current. For the most part you will find the tools you need with little issue though; Krita, Kicad, Emacs, etc. There is generally a tool to match your need, though you may need to adapt your workflow to the OS from time to time.
System Administration: This is where she really shines. OpenBSD is understandable; it presents a clean and comprehensible computing experience that invites you to fully grasp how your operating system works. Unlike Linux, which has to cater to a wide variety of use cases, OpenBSD’s tooling is simple and focused on a few specific tasks. In general OpenBSD leans heavily on being a UNIX-like and as a result understanding of Unix is directly transferrable to understanding of OpenBSD.
That being said, OpenBSD also suffers somewhat from being tied closely to its Unix roots so certain aspects of the base system can seem a bit “dated”. A few notable examples being limits on shared memory and concurrent processes being low by default and the default partitioning scheme not fully utilizing very large SSDs. Important to note here; all of these can be easily configured so it’s not that much of a headache.
Another area where OpenBSD is a bit behind, though it has not negatively impacted me, is its file system. FFS is serviceable but it is not a featureful or performant as the “cool kids” of FreeBSD and Linux (ZFS, btrfs). This is being remediated though (see below).
SECURITY: OpenBSD doesn’t have namespace or chroot based process isolation the way Linux or FreeBSD does. Instead it uses a novel approach in the form of two simple syscalls, pledge and unveil.
Pledge is used to limit the specific syscalls a process is allowed to make and when, unveil limits the portions of the file system that are accessible to the process.
Despite seeming less powerful than things like a Linux container these two primitives have proven to be remarkably capable of isolating and securing software used in OpenBSD.
That being said they do take some getting used to and can create certain headaches if you are not familiar. In general, whenever you download a package there will be a message about a new file in /use/local/doc/pkg-readme/; read it.
THE FUTURE: OpenBSD’s development is best described as communal. Users are somewhat tacitly expected to contribute in some way (bug reports, write ups, etc). Personally I like this as it creates a more tight knit and supportive community.
As a direct result of this, and the simplicity/understandability of the system there is a lot of “low hanging fruit” being attacked right now. As mentioned above Wayland is close to being stable and one of the developers for 9front (Ori Bernstein) is working on porting GEFS (the Good Enough File System) to OpenBSD which should bring OpenBSD much closer in performance to its peers in terms of file system. Vmm (the native hypervisor) just got multi-vcpu support in 8.0 and there are a slew of other minor improvements that are accruing.
THE COMMUNITY: The most concise way I can describe the OpenBSD community is “they respect your intelligence.” It is expected that you have read the man-pages and readmes for the software you are using, it’s expected you have an understanding of the guts of the system. This can seem gatekeepy or a bit conceited but allow me to present a counter argument. They don’t think you’re an idiot by default.
The community, as a result of its proximity to other areas in the “indie” computing scene, tends to carry a certain set of cultural markers. There is a lot of cross pollination from the 9front and Suckless communities and as a result you’ll interact more with that computing philosophy. In general the community appreciates simplicity, comprehensibility, and hackability.
CONCLUSION: It is fun, satisfying, comfy and, most importantly, AI free. Learning how the system works feels good partly because the barrier to learning the system and contributing to it is actually much lower than in other systems. I have come to love it, principally, because it has a certain degree of “humanity” that makes it a joy to use.
i love your mailing list, i learn so much about literally everything every single day from misc@
You may have me mistaken with someone else haha. That being said maybe I should start one lol
I’m talking about the openbsd mailing list lol
https://www.debian.org/vote/2026/vote_002#texte
The Debian Project nevertheless expects that all contributions submitted to Debian, regardless of how and with which tools they were produced, satisfy the same standards of quality, correctness, maintainability, and legal compliance. The use of a generative AI tool does not diminish the contributor’s responsibility for the work they submit. Contributors are expected to understand, review, test, and, where appropriate, modify AI-assisted output before incorporating it into Debian. Blindly accepting or uploading AI-generated material without appropriate human review is inconsistent with Debian’s established development practices. We enourage [sic] our contributors to disclose whether a contribution was made with AI assitance[sic], but do not require them to do so.
Void isn’t too difficult and is documented well.
I strongly dislike AI but am not a purist. Linux is already a no-go for purists and good luck with the alternatives.
I think the kernel’s policy on AI use is reasonable. As long as a distro or a package isn’t obvious slop and they have a clear policy, I’m okay using it or continuing to use it.
In the meantime, while I mostly use mainstream distros like Fedora and Arch, I’m quite happy that distros like Void exist so that if mainstream Linux ever takes a direction I disagree with, I have alternatives.
In the end, keep perspective. A distribution like Debian allowing for responsible AI use is not the same as the vibe-coded slop that is Omarchy.
Btw, today I tried once again to install Void and successfully installed it on my computer. With 5hrs + concentrated setup, I installed graphic drivers, power management tools, swap and app armor on the system.
Don’t know how the experience will be, but this time, with a successful installation, I feel much more satisfied than building arch.
I think my hardware situation is simpler (iGPU). May be why I haven’t had many issues. There is a derivative called Odyssey Linux that makes Void easier. It is very new with a very small community at the moment but I’ve tried it and it makes many things easier.
Just try to install it and use it for 1 week, and then you know the pain.
Today I tried VoidLinux once again, and after hours of trying to enable audio, I failed and finally built Arch from root. 😐
I have it on an old laptop, running Void, that I use every day for ripping physical media. I play all the ripped CD audio back while I rip the next one. I’m far from a Linux power user and I have zero issues. It’s an old ThinkPad and it kinda just works. Maybe I lucked out hardware wise.
Sure but why?
the primary reason is AI is a thief.
That’s the least important reason to not use AI. All property is theft, especially copyright!
There is a difference between people using AI to help write/maintain code that they understand, and slopcoding unmaintainable vibe projects.
I think you can see large Linux distributions like a supermarket. In a supermarket, you can find junk food, booze, and pringles, or bio fruits and vegetables which you prepare yourself. Of course there are differences between what different markets offer, but what ultimately matters is what you chose to buy.
Distributions do have mostly influence over their internal build tools, packaging, infrastructural decisions like when to adopt Wayland or the choice of init system. They are unlikely to reject security fixes in the kernel or in a browser just because these contain AI-assisted bug fixes. They do not have real control over upstream development practices.
The above might change if security gets affected by AI slop. For example, Debian is used a lot as a server distribution and security matters a lot. So, it is unlikely to compromise on that.
One can use smaller, more minimalist distributions, or alternatively make minimalist choices in ones own package selection. Or use e.g. not vim but the ai free fork of vim.
One distribution which stands out in its philosophy is Guix. It is entirely reproducible and stresses that anyone can built it from reviewable source code. This is so important that non-free firmwares are rejected (which gets them a lot of hate and negative astroturfing). That gives a lot of transparency and a solid base for trust.
Now, accepting vibecoded, unreviewable packages would make the whole buildable-from-source aspect moot, so I guess they are unlikely to accept slop packages.
Sorry to bring this into the Linux discussion but OpenBSD is still here. even if the code were AI-generated it would have to go into the meat grinder of style, logic, and cleanliness that all human code goes through to get into release.
Maybe it’s time to consider your switch?
Plus NetBSD has Anti AI contributor policy these two are safe haven for people that don’t want AI. Also Ironclad OS GPLv3 licensed also available for anyone wants to.
NetBSD! I am currently learning UVM and it’s really impressive to a memory newbie
I heard that OpenBSD is not so friendly enough to daily drive as a primary operating system. Are you using it?
Yeah but i run it on an x220T. It definitely depends on what you wanna do, but i find it reliable.
Also, when the Linux kernel itself allows AI commits, is there any practicality in a Linux distribution strictly limiting or restricting AI commits?
Upstream is unrestricted, unless you want to detach from upstream it’s hopeless.
the only good to come of it is the destruction of the concept of intellectual property, the tools of capital won’t serve us
Is most of the training data for popular LLM tools stolen? Yes, but the algorithms are not so from a theoretical perspective there’s nothing inherently wrong with developers using AI (which itself is a broad term covering frontier models to simple neural net classifiers) but it’s a matter of their tools which afaik is the responsibility of the developer. (Ex. Devs aren’t banned from using VS Code even though Microsoft is not a good company) (Ex. Dont upload user PII to online tools just to convert a pdf you’re responsible if they steal user data)
So really responsible AI means developers accept liability for any theft or plagarism these tools commit, just as they would if they plagarized code themselves which is less problematic for developers than introducing precedent for restricting developer tooling.
In theory you could revert the commits that are labelled AI-generated but given the scale and application of LLMs that’s a lot of code to rewrite that was already reviewed by maintainers for a lot of important processes and will have likely undergone far less scrutiny and correctness tests. Until AI companies are held responsible for training data that’s stolen and their generated outputs are held to legally be plagarism there is negative incentive to rewrite ai-generated code.
Some of us learned how to code in the first place, and didn’t write overly complicated spaghetti code full of vulnerabilities for the AI to find.
The funny thing about making mistakes is you don’t recognize when you make them 🙃
That’s fair.
I just get tired of the assumption that AI will find serious vulnerabilities in everything, no matter how it was written.