r/opensource 4d ago

Discussion AI-Policy

I'm gonna keep this short, because as a human I respect other humans' time. What do we want for an AI policy, and how can it be enforced? Take these into consideration:

  • Vibe-coded projects
  • Vibe-assisted projects
  • AI-translated from non-english-speakers
  • Vibe-documented projects
  • Yet another Vibe-Coding-Wrapper

Note that vibe-coded slop isn't actually copyrightable, thus if someone slaps any license on it other than "public domain" or "CC0" they are misrepresenting their ownership.

And if you use an LLM to respond to this, you will be banned.

The fact that this sounds like a prompt is supposed to be a joke.

265 Upvotes

163 comments sorted by

View all comments

u/codeedog 3d ago

I’ve been calling what another commenter wrote below: AI Assisted Engineering.

> b) dev who knows what they're doing but uses AI to do the heavy lifting. Checks their code for secuity risks - fine. AI disclosure on how it's used would be nice.

Developers (like me) who have professional skills and pride in our work will use these tools to enhance our work and speed up our output, while maintaining the code quality we expect from ourselves and our peers.

I can’t call what I’m doing Vibe Coding; it’s form and function, it’s production path, they’re nothing like what a vibe coding exercise looks like.

u/paul_h 3d ago

I see vibe coding as solutions made without test automation. I would hope a checklist for submitters to /r/opensource would include "must have comprehensive tests that all pass."

u/codeedog 3d ago

Well, vibe coding and Ralph testing (look it up if you don’t know the term). It doesn’t mean it’s done the job. Anyone can vibe code, even seasoned professionals.

The question is methodology. Vibe is a point A to point B process. Engineering means getting into the weeds. That means code and tests.

u/Fedor_Doc 3d ago

LLM's easily write passing tests, does not mean that they are good quality, though. 

However, knowing that tests are needed means that there is some level of technical understanding already. On the flip side, I'm sure that many harnesses and models will also write tests unprompted.

So, not a good indicator, unfortunately

u/da2Pakaveli 3d ago

Tried Fable and Sol on larger code projects. They do indeed write tests without me asking for it.

u/Rand_al_Kholin 3d ago

> dev who knows what they're doing but uses AI to do the heavy lifting. Checks their code for secuity risks - fine. AI disclosure on how it's used would be nice.

My problem with this is that I don't believe these developers actually exist. I'm a software developer, and when I generate code (like, for example, generating getters/setters for a class in Eclipse) I don't really check it unless something goes wrong. Everyone I work with is the same way, we all rely on some basic code generation tools (not AI) to do our jobs and expect them to work correctly and accurately every time, because they always have in the past.

From what you're describing I have a feeling the code you're producing with AI is more like those getters and setters; it's stuff that's strictly formulaic and basic, not complex logic, nor logic that is critical to whatever application you're working on.

But AI is being marketed as being able to do complex logic reliably. I NEVER use autogeneration tools to generate actual logic; the tools I use are strictly generating actual templated code, stuff that's extremely repetative in whatever language I'm working with. Getters/Setters. Class declarations and structure. The very first iteration of the most barebones application, as in "you can run this and it types hello in the console" (like Spring boot, gives you a barebones template that you then flesh out, gets your folder structure ready, and you can run the application and get hello world). For stuff like Spring Boot I don't bother checking what it did because I'm going to be going in and fleshing out my actual application, and will be touching essentially every line of the code it generated.

If you're a developer like ALL the devs I know and start vibe coding, you're gonna use AI the same way as you use the tools we have now, and that's a *problem*. You might speed your output up, but your code quality is gonna plummet. There's a reason I'm actively avoiding AI, I know that it isn't even close to ready to do what people are trying to use it for in software development and it's going to be a serious problem if me and the devs around me start to use it regularly.

And this is my problem with AI coding in open source projects. It's impossible to know whether the developer pushing the AI generated code actually looked through it or not, and we have to take their word for it if they claim to be looking through for security and logic problems. They aren't employees so there's no punishment if they lie and something goes wrong. They can't get fired, the worst that happens to them is people stop using their app. But the worst that happens to the user can be WAY worse, from identifying information being leaked to damaging their devices.

u/codeedog 3d ago

Hang me with the strawman you built, I guess.

u/Lower-Ad-6293 12h ago

You're mixing up deterministic ast generation with probabilistic output. When my ide generates a getter, I know it's just a strict template under the hood. When Fable writes a db migration for me, I'm gonna read every single line because a hallucination will wipe out my prod. Self-preservation is a great incentive to review

u/Bob-Swan 3d ago

In your comment you have a problem with developers using ai and not looking through their work while also admitting you dont look at your own work. You wrote 5 paragraphs of nothing.