I’ll preface this by saying I’m not an AI buff. I use it (unpaid) mostly for a search aid or assistance with setting up services in my homeserver (new to homelabbing) when I get stuck, as I don’t have an unlimited amount of time to devote to it due to life obligations.
My question is: Do you feel it is ethical and/or moral to use AI to develop FOSS?
I’m genuinely torn on this issue. Part of me feels it’s counterintuitive, yet the another part of me knows the probability of it going away are slim to none and using it to develop FOSS is a way to “use it against itself”, for lack of a better term.
This is my first post on Lemmy. I’m asking to please keep it cordial. I’m not looking for an elitist lecture. I genuinely want to know the community’s thoughts.
P.S. I’ve toyed with local models, but I don’t have the hardware to make them remotely useful. I’m still learning and tweaking to see what can be achieved on limited hardware.


I use AI at work, but not at home.
There was an interesting post here which reasons through when it’s ethical to use proprietary software to further FOSS. I generally agree with the argument, but AI doesn’t meet that threshold for me.
I think our goal should be for everyone to be able to use FOSS for everything. That means, if we use proprietary tools, we have to be able to replace them eventually. Otherwise, we’re just dependent.
But that doesn’t seem possible with AI yet. If there was a project making a truly open AI (open weights, open, consensually retrieved and properly licensed training data, open harnesses, open training infra etc.), and using existing AIs somehow helped with that, I’d be all for it.
Another aspect is how it shifts the way things are made. Projects are built on collaboration and shared understanding, but AI is such a different way of working - so what does it mean for some people in a project to use it and others not to? Why would I spend a week working on a very tight, clean patch when someone else can re-implement literally the whole project in an hour? And why would they contribute to this shared project at all, when they can build something tailored exactly to their needs by themselves?
It makes me wonder if FOSS as we know it will become less important, but open standards will become more important. Since you can make software tailored exactly to your needs, clients will proliferate. But when you have to integrate with others, you still have to negotiate and come to an agreement on how to connect together, so that work will be even more valuable.
A really important part of FOSS is testing and bug fixing. Often the bulk of code is done by a small number of people but what makes their software truly useful is the testing and fixing contributions. Unless LLMs could deliver bug-free code, the FOSS projects that have community and userbase would always be more reliable and therefore useful than bespoke LLM-written software. I wouldn’t write my own grep with some custom feature. I’d use GNU grep and augment it with another tool, or perhaps get an LLM to add the feature I need to it.
What made me think along those lines is that someone I know vibe-coded their own personal/private XMPP client recently. I’m sure it has lots of problems, but it does what they need and has a nice UI that looks how they wanted. In their case, it doesn’t need to be bug-free - just bug-free on their machine, for the tasks that they do with it.
But for some software, I definitely agree about the reliability and edge-cases / environments. Knowing 1000s of people have tested my backup software and ironed out the bugs is a big plus. I can’t imagine many people would want to use a vibe-coded one.
Thinking about Blender, IIRC, their filetype is effectively a memory dump of the process. So, if I worked in an animation studio and wanted a custom feature, I’d definitely write a plugin instead of making a bespoke tool. But then again, if I could export to
.ofxor another common format, and have everything import perfectly, I’d be more tempted to go for a bespoke tool again. It’s interesting to think through the scenarios.That’s related to the proverb “writing code was never the main part of software engineering.” Also related to the difference in difficulty of writing the first 90% and the last 10% of useful software.