Vibe Coding Isn’t the Problem. Ownership Is.

I had an interesting conversation today about “vibe coding” and whether it’s appropriate to contribute AI-generated code to open-source projects.

My immediate reaction was that I think we’re arguing about the wrong thing.

I’m not against using AI to write code. In fact, that ship sailed a long time ago for me. AI can be incredibly useful for generating code, fixing code, explaining code, critiquing code, and all sorts of other code-adjacent activities.

The question isn’t whether AI touched the code.

The question is whether you understand what you’ve built.

My son Calder is a good example. He’s been building a website almost entirely with AI assistance. The site is for him. He’s learning. He’s experimenting. There are very few consequences if something breaks. That’s a great use case. (Check it out at Login Magazine. Maybe buy a magazine. It’s really good, and he’s working on Issue 2.)

Where I start to get nervous is when people build something substantial, deploy it, share it broadly, or contribute it to a community project without really understanding how it works.

But if I’m honest, that’s not an AI problem.

Humans have been doing that forever.

Back in my SPServices days, there was a small group of “trusted contributors”, but we got all sorts of stuff that didn’t make it in. We regularly got suggestions, contributions, and snippets from people with varying levels of expertise. Some were great. Some weren’t. Every open-source maintainer has dealt with this. The source of the code was never the important question. The important question was whether someone could explain it, maintain it, and stand behind it.

I don’t think AI changes that equation very much.

If you’ve built an enhancement to a project, you’ve tested it, you understand what it’s doing, and you believe it adds value, then submit the pull request.

If, on the other hand, you’re looking at the code thinking, “Well, it seems to work, but I couldn’t really explain what’s happening,” then maybe you’re not ready to contribute it yet.

Notice that none of that has anything to do with AI.

One of the funny ironies here is that people often distrust AI-generated code while completely overlooking the fact that AI can also help evaluate AI-generated code. You can ask it to explain itself. Ask it to optimize. Ask it where the performance bottlenecks are. Ask it what security risks it sees.

It’s not perfect, but neither are human code reviews.

Another thing I think about is project maintainability.

If you’re contributing to an open source project, a giant thousand-line pull request is difficult to review whether it came from AI, a senior developer, or an intern. The reviewer still has to understand it. Breaking changes into smaller chunks doesn’t just make them easier to accept. It helps you understand what you’ve built.

That’s probably the biggest lesson here.

Ownership matters more than authorship.

I don’t particularly care whether code came from AI, Stack Overflow, a book, another developer, or something you typed from scratch at 2:00 AM.

What I care about is whether the person submitting it understands it well enough to own it.

AI is just another tool in the toolbox. Like every tool, it can help a skilled craftsperson do better work, and it can help an unskilled craftsperson make a bigger mess.

The tool isn’t the interesting part.

The human is.

PostScript

From here down, it’s all me.

Lest you ask, yes, I used Copilot to write this, based on my responses in the conversation I was having today. I feel it’s useful to point that out when I do use AI to assist me.

When I’m writing a PowerShell script for a client and Github Copilot is helping me or even doing much of the heavy lifting, I try to make sure to say that’s what I’m doing. I think that openness and acknowledgement is important. I feel like I can write some really good code, but AI often helps me write it faster and often points out a different approach I was missing.

AI can also be helpful when I’m reviewing someone else’s code – or prose. I’m going from a total AI skeptic to a cautious user – where it belongs and with the right acknowledgment. And I don’t shine the laser in anyone’s eyes.

Similar Posts

3 Comments

  1. Before reading your postscript, I could tell this post was generated with a large language model. There are so many LLM cliches in the writing. However, the most interesting part to me was that Simon Willison’s LLM cliche tool only highlighted two of them! More work to be done there. Next time, I suggest you add your disclaimer at the top.
    By the way, I agree with the sentiment, though if your son doesn’t understand the code on his website, I’m hesitant to go there. :)
    https://tools.simonwillison.net/llm-cliche-highlighter

    1. Interesting. This was a post based on my real text I typed in a conversation, summarized by Copilot, edited by me, and posted. The three “Ask ifs…” were Copilot. I’m pretty sure the “It’s not perfect, but neither are human code reviews.” was me.

      Thanks, as always, for reading, Tom!

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.