Illustration for Tick the Box, Hope Nobody Checks
LinuxAI crewOmarchy Oct 6, 20266 min read

Tick the Box, Hope Nobody Checks

System76 now makes COSMIC contributors swear they used no AI at all, not even in the comments. I read the rule one clause at a time and got angrier with each one.

System76 just banned AI-generated contributions to COSMIC, the desktop environment System76 makes. Anyone sending in a change now has to read the pull request template (the form that comes with the package of changes you hand a project for review) and tick a box. The first requirement on the list says this, word for word:

I have not included any LLM (also known as AI) generated content in this PR, including code, comments, and descriptions.

LLM means the chatbot-style AI tools, in case you’ve been lucky enough to avoid the acronym. The template also warns that “PRs without a completed checkbox will be closed.”

I think this is stupid. Before I explain why, let me be fair about the bit that isn’t.

The part they’re right about

The reason isn’t a crusade. Jeremy Soller of System76 said the main reason is the extra review work for the COSMIC team. They’re getting more changes from first-time contributors using LLMs, and by his account many of those were unplanned and rarely accepted.

Fine. Reviewing code is work, it’s their project, and being buried in half-baked pull requests from strangers is a real, shitty problem. Nobody owes a stranger a review. If my inbox filled with confident garbage, I’d be pissed off too.

So I’m not arguing they can’t set rules. I’m arguing this rule is aimed at the wrong fucking target. Let’s go through it one clause at a time.

“Any LLM (also known as AI) generated content”

Look at what actually hurts them. It’s not that a tool was involved. It’s that somebody sent in a change nobody asked for, never tested it, and can’t explain it when a reviewer asks a question. That’s a lazy human problem, and the lazy human existed long before chatbots. They used to copy and paste from Stack Overflow and hit submit.

The same template already goes after that problem. A few lines down, it makes you confirm:

I understand these changes in full and will be able to respond to review comments.

My contribution is tested and working as described.

Good. Those are the rules that matter. Enforce them. Close the pull request that fails them, whatever wrote it.

Instead they put the line about the tool at the top of the list, which catches the wrong people twice. Someone who uses AI carefully, reads every line, tests it and can defend it in review gets the same ban as the clown who pasted in a wall of nonsense. And the clown isn’t going to be stopped by a checkbox.

“I have not included”

Which brings me to the fucking honor system.

I don’t know how anyone looks at a piece of code and proves an AI wrote it. What the maintainers actually have is a box and a promise. Look at the format, too. The template doesn’t give you a box per requirement. It’s a list of statements, then one checkbox at the bottom that says you’ve read and followed all of them. One tick, covering everything above it, the AI line included.

So think about who that promise works on. The honest person reads the sentence, thinks “well, I did let the AI help with that function,” and walks away. The person who wants to dump slop on a project and doesn’t give a shit about rules ticks the box in half a second and carries on. The rule filters for honesty. It’s a bouncer who only turns away people who tell him the truth.

I can’t see how that reduces the slop. If anything it removes the contributors who were being straight about how they worked.

“Including code, comments, and descriptions”

This clause pisses me off the most, because of how far it reaches. It’s not just the code. It’s the comments. It’s the description of your own change.

Take someone whose English isn’t great, or who has dyslexia, or who is just shit at writing and wants help phrasing “this fixes the panel crash on resume.” Run that through an AI tool for a cleaner sentence and, going by the wording, you’ve broken the rule. I’m reading it literally, and System76 may well apply it with more common sense than it wrote. But a rule that needs generous interpretation is a shit rule, and “trust us, we won’t enforce the weird bits” has never once aged well.

The bit where I admit I have a horse in this

I use AI to build things. I’m not an experienced programmer, and the whole reason I can build anything is that these tools exist. I’ve said before that if I ship broken shit, that’s on me, and having an AI write it doesn’t get me out of understanding it, checking it, and cleaning up after it. That’s the actual standard. It’s a standard about the person, and it works fine without banning the tool.

COSMIC’s rule goes the other way. It treats the tool as the offense and the human as an afterthought. It also tells every beginner who got into open source because AI made the first step less terrifying that they’re not welcome, which is a strange message from a project that wants more people on Linux.

Here’s my proof that the other way works. When my laptop’s GPU was stuck at half power on Omarchy (the whole saga is in Half a GPU), I didn’t just complain. I opened a pull request against Omarchy itself. It’s called “Enable nvidia-powerd so laptop GPUs get Dynamic Boost,” it’s number 10592, and I opened it on September 7. It makes the install turn on Nvidia’s power service on laptops that have the hardware for it, which is the thing that took my GPU from about 50 watts to 85 to 93 under load. As I write this it’s still open, so I’m not claiming a win. I’m claiming I got to take a swing.

Omarchy is where I first saw what AI coding tools could actually do, and it’s a big part of why I started building things at all. It’s a Linux desktop you can get your hands into. When I looked in the repository, the project’s .github folder had issue templates and no pull request template, so there was no box to tick swearing I’d done it all by hand. Nobody made me sign an oath about my tools before I was allowed to fix my own graphics card.

None of that would have happened with System76. Under COSMIC’s rule I’d have been on the wrong side of that checkbox before I wrote a line, or I’d have lied to a bouncer, and I’m not doing either. That’s the real cost. A beginner who wants to tinker, break things and learn with an AI helping now has an obvious place to go, and System76 just pointed them out the door. If COSMIC loses the curious newcomers to Omarchy, that’s on System76 now. They wrote the sign.

The people the rule is meant to keep away from the maintainers aren’t going anywhere either. Somebody who sends slop will keep sending slop and ticking boxes. All the policy changes is which honest people are left in the room.

Where I land

System76 gets to run COSMIC however it likes, and I’ll still look at it. But the sensible rules were already on the same list: understand it, test it, answer for it. The ban adds one more line on top, a promise nobody can verify.

So here’s my version of the pledge: I have not included any pointless rules in this post, including headings, jokes, and descriptions. Nobody can check that either.