Machine Learning

If AI Wrote Your Code, Just Say So

LinuxLinks has kindly given me the space to publish an infrequent blog where I share my thoughts on open source, the Linux ecosystem, Windows, and whatever else takes my interest. These are my views, complete with the usual biases and prejudices.

The amount of open source software being pushed to GitHub that smells of AI-generated code is staggering. What is equally striking is how rarely developers disclose it. If generative AI plays a substantial part in developing an open source project, developers should say so. That shouldn’t be a controversial demand. It isn’t an accusation, and it isn’t a claim that AI-generated code is automatically bad. It is simply relevant information.

The standard defence is that AI is just another tool. Developers don’t disclose that they use an IDE, compiler, debugger or linter, so why should they mention Copilot or ChatGPT? Because an IDE doesn’t write half the project for you.

A linter flags potential problems in code. A debugger helps investigate bugs. Generative AI can produce functions, tests, documentation, refactors and whole chunks of an application in seconds. In some projects it can generate most of the code. Calling all of these things “tools” doesn’t make them equivalent.

Nobody needs a badge in the README because Copilot completed a few lines of boilerplate. I’m talking about projects where AI is routinely used to generate substantial amounts of code. Just say something like: Generative AI is used extensively for initial code generation and tests. All generated code is reviewed before merging.. That would be enough.

Open source has always cared about provenance. We examine commit histories, licences, maintainers, contributors and where code came from. Git preserves a detailed record of how software evolved. Yet apparently provenance suddenly becomes irrelevant when the author is a language model. That is rather convenient.

There is also the growing problem of vibe-coded software: projects built by repeatedly asking an AI to add features until something vaguely usable emerges. Some of these projects may be perfectly good. Others are maintained by people who understand surprisingly little of the code they have published. You usually find out which kind you’ve installed when something breaks.

Writing software traditionally involves getting things wrong, fixing them and gradually understanding the system you are building. AI lets someone skip a great deal of that process. It can produce convincing code faster than a developer can properly read it.

Of course, a competent developer can use AI and carefully review every line. Good. Say that too. But users should be allowed to distinguish between that and “Claude wrote most of it and I kept prompting until the tests passed.”

The other argument is that only the finished software matters. If it works, who cares how it was written? I do.

When I look at an open source project, I don’t just ask whether it launches today. I want to know whether it’s likely to be maintained tomorrow. I look at commits, issue handling, development activity and the people behind it. Heavy AI use belongs in that picture.

Developers are free to use AI as much as they like. Nobody is demanding an apology. But if AI wrote a substantial amount of your software, don’t hide behind the claim that it’s no different from using Vim. It plainly is.

Open source spends an enormous amount of time talking about transparency. That principle shouldn’t mysteriously end at the prompt box.

Subscribe

Please read our Comment Policy before commenting.

Notify of
guest
0 Comments
Oldest
Newest Most Voted