LLM-powered features and LLM-generated code is seemingly difficult to escape these days. I updated macOS and now there’s AI features that are weirdly difficult and annoying to turn off. The Linux kernel accepts LLM-generated contributions. I started using a new CLI and a top contributor is Claude:
How do you think about and approach which software to use in these strange times? If a product has AI features that you can turn off or largely ignore, are the AI features a deal-breaker? Do you avoid free and open source software that accepts/uses LLM-generated code?
Curious to hear about different perspectives and approaches to this. I myself feel like I’m very much still figuring it out and fumbling through similar thoughts relating to my commitment (or lack thereof) to using free and open source software. For example, YouTube Studio and other parts of YouTube are rife with AI features, but I still publish YouTube videos. It feels bad and complicated and messy (like a lot of aspects of being a human can feel). I don’t have a clear sense of approach for myself.
Part of what motivated me to start this topic is this post about the forum software currently in use here, Discourse, which has AI features and is built with LLM-generated code:
I’m sort of figuring it out as I go. For dotnet dev on a Mac it’s pretty much Rider, so I disable as much as I can (which to be fair to them, is quite a lot). I’ve been using Zed as well lately but with AI turned off, though I just found out about Gram on here, so might jump ship soon.
If it’s something I’m going to need to use then as long as I can turn the features off I feel… less icky. But if it’s something new I’m looking at then if I see it’s mostly AI generated I’ve been giving it a wide berth. I was looking at something the other day (think it was a Go library) which had recently done a v2 rewrite. It was clunky enough that I needed to check and, sure enough, there’s Claude instructions all over the place, so I just dropped it and looked elsewhere.
I think at the moment, if there’s options to turn off the features, or the devs have a strong usage policy then that’s about as comfortable as I’m going to get, short of finding projects the prohibit all usage. I’d prefer the latter though
I tend to look around for alternatives, but sometimes it’s unavoidable. There is this site I found the other day on Mastodon that I just checked out and has some interesting software and services that don’t use AI and they plan on updating the list to add more or remove some if they start adding AI.
I do check for AI contributions where I can and it makes me wary. Especially if any kind of elevated permissions, logins, API keys etc are required for use - you just don’t know what’s going to happen with these.
But projects that are vibe coded or strongly AI-assisted also might say something about the maker’s intentions: Did they just spin this thing up on a whim? Will it be supported or maintained on an ongoing basis?
So, in some ways, the questions about trust and sustainability haven’t changed. Established projects from people who have earned trust and have a track record are probably what we need to look out for, as we always did.
It’s a shame, because people really are making some seemingly cool things that I’d love to try out. But without trust it’s very hard to know what to adopt.
My goal is no LLM-contributed code, however unlikely I am to accomplish that ideal. Framing it as an ethical choice, I’ve borrowed the phrase “as much as practicable.”
The easy start was just not using any new programs that are vibe coded or accept LLM-generated contributions (when I can tell). I don’t think I’d care quite as much about including optional “AI” features if the software itself was still hand coded, but it’s also hard to imagine who would ship those in their products without also using it themselves.
Untangling my existing workflows/life from software that accepts LLM-generated contributions is very much still a work in progress. Are there even any realistic OS and browser options out there for daily driving? As much as I’d like to, I can’t really use Haiku when I need Teams, OneDrive, Outlook, etc for work.
But in general, I’m moving away from software with LLM-generated code as much as I can. I’m also moving towards self-hosting, since I can control the software I’m using to host instead of the black box that a cloud provider gives you (among all the other reasons, privacy etc).
This captures my thoughts to a T. I try and avoid repos with explicit contributions from an LLM or a pro-ai policy, though that’s increasingly tricky to stick to. XFCE, for example, is my 1st choice of desktop environment but I recently learned they’re very pro AI in their development process. The ongoing KDE AI policy thing isn’t encouraging either.
It makes me wary of the product if they are touting AI features. Feels like they are aiming to get acquired by an AI company at some point?
But if a project doesn’t outright ban AI generated PRs, that doesn’t worry me too much as someone could easily claim to have authored the PRs themselves when it was actually an AI model.
To deal with the volume of slop commits these days, it might be prudent for projects to limit the size of PRs?
The old joke about small contributions being scrutinised while large ones get “LGTM” has a grain of truth in it.
Having said that, the stances of Zig and Codeberg on AI are quite refreshing as statements of intent.
I recently took all my repos down from GitHub, uploaded them to Codeberg and left a link to my Codeberg on my GitHub bio. Given all the outages and bugs on GitHub lately, I’m glad I did.
I do not have a red line against being open to AI contributions, many of which will come from security researchers using LLMs (as mandated by work) who are ethically obligated to report and sometimes a patch. As others brought up people can also just lie. At this point the only OS that can probably avoid AI contributions entirely is MacOS since they protect their IP so heavily.
Right now since I use it for work so I do not toss glass stones in a glass house BUT I will draw the line personally for using agents to replace devs/artists. I know it is a bit selfish with the environmental concerns but it will likely not be leaving the professional world (though I hope it does so in a LOCAL capacity in the future at least). Is it my ideal line, no. Is it a line I can consistently hold onto, yes.
EDIT: One exception - I am less forgiving with games. AI hallucinates too much and is not performant enough for large studios to use AI beyond documentation parsing and autocomplete in any serious capacity (also cpp is not AI friendly), but checking out some of the IndieDev subs on reddit and hearing through the grapevine a lot of indie devs are more than willing to replace coding with AI. Coding controls the shading, the mechanics, the systems, the movement and so many other aspects unambiguously part of the art of the game. It comes with a layer of hypocrisy that makes my blood boil. I, as a programmer, would never replace art with AI and would get rightfully lambasted for doing so, the reverse deserves equal reaction.
It always drove me nuts, too, browsing itch.io/jams with explicit no-AI policies for art and music but explicit pro-AI policies for code. Why are artists’ crafts more valued than ours? If someone is against AI because of environmental concerns, then surely that would apply to programming too. If someone is against AI because of economic (human job devaluation and replacement) concerns, then surely that would apply to programming too!
I agree. What makes it even more interesting is that some people would consider programming an art in itself too. Especially when it comes to game dev I have to agree with that. There are so many little things in the code when you read it that is personal decisions from the programmer. Not just comments, but variable names, how functions are done, and more that is hard to really explain in words.
Which if you consider programming an art it is hypocritical to say “No AI for art”, but allow it for programming. Either say No AI or don’t. Not enforcing it in all cases doesn’t do any good.