The GNOME.org Extensions hosting for GNOME Shell extensions will no longer accept new contributions with AI-generated code. A new rule has been added to their review guidelines to forbid AI-generated code.
Due to the growing number of GNOME Shell extensions looking to appear on extensions.gnome.org that were generated using AI, it’s now prohibited. The new rule in their guidelines note that AI-generated code will be explicitly rejected
This is one of the things that people who use AI to vibe code don’t get. Sure your AI genned code ends up working but when you actually look at the code it’s sloppy as all fuck, with a lot of unnecessary junk in it. And if you ever have to fix it, good fucking luck finding what’s actually going on. Since you didn’t write it there’s no way for you to know exactly what it is that’s actually fucking up.
Really you end up being no better than some homebody who copy-pasted some code they found on the internet and plugged it into their shit with no idea of how any of it actually works.

extension developers should be able to justify and explain the code they submit, within reason
I think this is the meat of how the policy will work. People can use AI or not. Nobody is going to know. But if someone slops in a giant submission and can’t explain why any of the code exists, it needs to go in the garbage.
Too many people think because something finally “works”, it’s good. Once your AI has written code that seems to work, that’s supposed to be when the human starts their work. You’re not done. You’re not almost done. You have a working prototype that you now need to turn into something of value.
Too many people think because something finally “works”, it’s good. Once your AI has written code that seems to work, that’s supposed to be when the human starts their work.
Holy shit, preach!
Once you give a shit ton of prompts and the feature finally starts working, the code is most likely complete ass, probably filled with a ton of useless leftovers from previous iterations, redundant and unoptimized code. That’s when you start reading/understanding the code and polishing it, not when you ship it lol
Just the fact that people are actually trying to regulate it instead of “too nuanced, I will fix it tomorrow” makes me haply.
But they are also doing it pretty reasonably too. I like this.
You used to be able to tell an image was photoshopped because of the pixels. Now with code you can tell it was written with AI because of the comments.
and from seeing quite a few slops in my time
Emojis in comments, filename as a comment in the first line, and so on
I’ve been in the habit of putting the filename as first comment in most of my scripts forever. I don’t know when or why I started but please don’t make me change!
You’re absolutely right — we shouldn’t have to change our style just because a machine copies it.
it’s how example code is often written when it’s i. a book or a webpage… there’s not really a good reason to do it in a real file because it’s in the filename.
but if it helps you organize it doesn’t hurt anything.Put a random fuck in the comment to differentiate yourself
I add a comment to he first line of unsaved files because that’s what Code displays for the tab name and it either helps or confuses me about what is in the tab.
Isn’t fine name in the comment in the first line default behavior for multiple IDE/boilerplate generations?
They werent hiding it, they started with vibe
# Optional but […]
edit to explain my very vague comment: ChatGPT loves to offer code with some lines commented as “Optional [… explanation]”. You can easily tell AI code when the monologuing comments are left in
You know, GNOME does some stupid stuff, but I can respect them for this.
Why? If the code works the code works, and a person had to make it work. If they generated some functions who cares? If they let the computer handle the boilerplate, who cares? “Oh no the style is inconsistent…” Who cares?
@uncouple9831
That person debugging that stuff, that’s who cares.But if we talking about extensions, no one will debug your code. There like, 5 extensions that used consistently and others have 5-10 downloads. We have like, 5 extensions to hide top bar, cause each time developer just give up, so I don’t really understand this “rule” and reasons behind it.
This is Gnome we’re talking about here, they don’t GAF if extensions work or not. They’ll break them tomorrow if they feel like it.
Contrary to uninformed opinions, they do try their best: https://gjs.guide/extensions/overview/updates-and-breakage.html
they say they do is not the same as they do. Find me someone who isn’t them who says the same thing
You’re literally looking at a post that is a result of that effort… The human review process exists to try and reduce GNOME Shell extensions that could potentially break the shell. The link I posted details other steps as well, but of course you didn’t bother reading that. And again, it’s impossible to never break extensions because extensions are just scripts that monkey-patch the GNOME Shell process. Trying their best is all they can do.
With how Reddit and Lemmy react to GNOME, you would think GNOME killed their dog or something.
uninformed
I’ve used Gnome on and off for about a quarter century. There have been devs with very popular extensions that have sworn off Gnome because of their attitude towards breaking extensions. So if they’ve suddenly become concerned about breaking things people rely on to make Gnome marginally usable after Gnome itself has removed popular features, then that’s a recent trend. So pull the other one.
Of course there are extension devs who left GNOME due to the lack of a stable API. But they were all looking for something that was inherently not possible with how extensions work in GNOME. I can’t blame them, “extensions” is a misnomer in this case after all. It’s actually more like userscripts being applied on a web page in a browser.
If possible, take the time to read the link in my earlier comment, it should clear up a lot of misunderstandings about “GNOME devs intentionally breaking extensions” as most people seem to think of it as.
Given how extensions work (monkey-patching), it’s actually really impressive that most extensions haven’t really broken since GNOME 45 and the steps taken by GNOME to that end are impressive. Even the human review being discussed here is part of that, it’s exactly because an extension can literally bring down a user’s shell (also similar to how a web page can crash due to a userscript), so they’re trying to reduce the chances of that happening.
GNOME has always had a bit of a communication problem. They’re working on it. But I promise you, they’re all wonderful folks trying their best, even if they fail to convey that well sometimes.
Oh come on, Gnome 45 was only 2 years ago. I guess we’ll see how extensions go then, but I’m not holding my breath. I wouldn’t waste my time on building anything for Gnome at this point. I abandoned Gnome at the garbage-collector BS where they blamed extension devs for the memory leak then used the big hammer solution.
In the meantime:
Mar 2024: https://felipec.wordpress.com/2024/03/18/stupid-gnome-developers/
May 2025: https://medium.com/@fulalas/gnome-the-insanity-never-ends-f84a77ec3e13
Why would that be anyone other than the original author? This sounds like a hosting service is refusing to host things based on what tool was used in creation. “Anyone using emacs can’t upload code to GitHub anymore” seems equivalently valid.
GNOME manually reviews every extension, and they understandably don’t want to review AI generated code.
Oh…an actually human response. How refreshing. At least one person here got their rabies shot.
Do they actually review it or is it like how android and apple “review” apps? And why would they be reviewing the code rather than putting it through some test suite/virus scanning suite or something? That is, this shit isn’t going away any time soon even if the bubble pops, so why not find a way to avoid the work rather than ban people who make the work “too hard”?
Jeez. Calm down.
I’m calm, but since you need to hear it: nobody has ever in the history of the human race received the command to “calm down” and had it make them calmer. So chill out broski.
Yes they actually review the extensions, you’ll find more information on the blogpost from last week.
Oof this just makes it so much worse. It sounds like they have two complaints:
There are more extensions being made now. Good. If you can’t keep up, charge money to review them or something. Even charging 10 cents will drop submissions instantly.
The extensions have unnecessary try/catch blocks. And it’s not just any try catch blocks that aren’t necessary…it’s only the ai-generated unnecessary try catch blocks. Human-generated unnecessary try/catch blocks are fine. This is dumb and a dumb example because it’s a structure whose behavior is well understood and well defined. I add unnecessary try/catch blocks to my code all the time if I don’t feel like digging in at the moment to figure out all of the failure modes of some function. It’s only when a LLM does it that it upsets the poster. Ridiculous.
@uncouple9831 @imecth Because they care. Quaint old concept, I know…
Why are you atting us? Replies show up for us anyway.
Regardless, I don’t know how your statement addresses anything I said.
in the case of ai generated code, that is almost always the case. People say “but I review all my pet neural network’s code!” but they don’t. If they did, the job would actuallydtake longer. Reading and understanding code takes longer than writing it.
I don’t think this is in response to my message. If that was the intent, I think you need to define what “that” is, which is always the case.
“why would that be anyone but the original author?”
That is what i was replying to, and I replied to the intended comment
So we agree, it’s almost always the case that the original author is the one fixing the code?
Yes it would be someone else. If the code looks good then it might last a long time, and it could even be expanded upon. One key point of FOSS is that anyone can change it, and if it’s good, people will.
Great, so then it’s someone reading new code either way, so it shouldn’t matter if it’s in the LLM style or random human A’s style, it’s still something you have to read and learn.
But also I wonder if there’s an analysis of how many of these extensions has ever been touched by more than a single human, ever. I don’t know, but I sure wouldn’t be surprised if the answer is 80%.
@uncouple9831
That would be any person trying to audit that barely functioning pile of poorly structured code someone left behind after finishing their contract or being fired, for example.And is that something that happens regularly with gnome extensions? My recollection is they are a barely functioning collection of random trash code. Were they all written by contractors who got fired?
you shouldn’t be able to tell if someone used ai to write something. if you can then it is bad code. they’re not talking about getting completion on a fn, they’re talking about letting an agent go and write chunks of the project.
So then the policy doesn’t make sense and should focus on what specific issues are associated with llm-generated code that are problematic. For example, I’ve seen llms generate fairly unreadable loops because it uses weird variable names. That’s a valid offense to criticize.
However I’ve also read C code before so I’ve seen an obscene amount of human generated code with shitty variable names that don’t mean anything. So why is the shitty human C code ok but shitty LLM code is not? And if no shitty code is accepted (it’s gnome so I doubt that), then why does anyone need a new rule?
i’d love to review some of the code that you personally wrote.
That’s cool, but why? I tend to use longer variable names that are mostly self-explanatory because, well, intellisense exists so I don’t really need to make them short.
did you read their statement? they do.
Yes, it says there was an unnecessary try/catch, that’s pretty weak if that’s the only reason.
read their text again, the problem is that people submit code that they don’t understand. and this will grow the more people decide to stay stupid / employ LLMs.
Well that’s an assertion they are claiming, maybe. I see people on lemmy claim that all of the time about people who use LLM tools but thinking a thing doesn’t make it fact.
Edit: I just reread the blog and actually see zero mention of that claim. So I’m not sure where you’re reading that I’m not seeing.
It’s always some definition of works. The code never works in all cases, which works lead to people being annoyed with gnome for allowing the extension in the first place
How is that different from most gnome extensions? Or gnome extensions right after a gnome update that breaks them all? Isn’t being broken the default state of gnome extensions?
Isn’t being broken the default state of gnome extensions?
No
How is AI-generated content detected and what is the process for disputing such claims?
Just an example:
I’m a programming student. In one of my classes we had a simple assignment. Write a simple script to calculate factorials. The purpose of this assignment was to teach recursion. Should be doable in 4-5 lines max, probably less. My coed decided to vibe code his assignment and ended up with a 55 line script. It worked, but it was literally %1100 of the length it needed to be with lots of dead functions and ‘None->None(None)’ style explicit typing where it just simply wasn’t needed.
The code was hilariously obviously AI code.
Edit: I had like 3/4 typos here
Not all AI code is so obvious though. Especially if you give it detailed instructions on what to do exactly. It could be very hard to tell in some cases
@RagingRobot
Well …
if it’s not clear if it’s ai, it’s not the code this policy was targeting. this is so they don’t have to waste time justifying removing the true ai slop.
if the code looks bad enough to be indistinguishable from ai slop, I don’t think it matters that it was handwritten or not.
I guess the practical idea is that if your AI generated code is so good and you’ve reviewed it so well that it fools the reviewer, the rule did it’s job and then it doesn’t matter.
But most of the time the AI code jumps out immediately to any experienced reviewer, and usually for bad reasons.
So then it’s not really a blanket “no-AI” rule if it can’t be enforceable if it’s good enough? I suppose the rule should have been “no obviously bad AI” or some other equally subjective thing?
wow. that dude is a piece of work. made the mistake of clicking one of the links to his blog, and wow. there’s a stunning lack of knowledge or self respect there
It’s not hard, just use your eyes or an AI-detector
ai detectors are not good. may as well ask your magic 8 ball
Which is how the code was generated in the first place.
Rare, so needed Gnome W
Excellent
I applaud the move, but man, that’s gonna be a lot of work on their end.
Good.
I’m mostly switched off SAMMI because their current head dev is all in on AI bullshit. Got maybe one thing left to move to streamerbot and I’m clear there. My two regular viewers wont notice at all but I’ll feel better about it.
So what does this mean? Bc like (at least with my boss) whenever I submit ai generated code at work I still have to have a deep and comprehensive understanding of the changes that I made, and I have to be right (meaning I have to be right about what I say bc I cannot say the AI solved the problem). What’s the difference between that and me writing the code myself (+googling and stack overflow)?
The difference is people aren’t being responsible with AI
You’re projecting competence onto others. You speak like you’re using AI responsibly
I use AI when it makes things easier. All the time. I bet you do too. Many people are using AI without a steady hand, without the intellectual strength to use it properly in a controlled manner
Banning a tool because the people using it don’t check their work seems shortsighted. Ban the poor users, not the tool.
We do this all the time. I’m certified for a whole bunch of heavy machinery, if I were worse people would’ve died
And even then, I’ve nearly killed someone. I haven’t, but on a couple occasions I’ve come way too close
It’s good that I went through training. Sometimes, it’s better to restrict who is able to use powerful tools
Yeah something tells me operating heavy machinery is different from uploading an extension for a desktop environment. This isn’t building medical devices, this isn’t some misra compliance thing, this is a widget. Come on, man, you have to know the comparison is insane.
People have already died to AI. It’s cute when the AI tells you to put glue on your pizza or asks you to leave your wife, it’s not so cute when architects and doctors use it
Bad information can be deadly. And if you rely too hard on AI, your cognitive abilities drop. It’s a simple mental shortcut that works on almost everything
It’s only been like 18 months, and already it’s become very apparent a lot of people can’t be trusted with it. Blame and punish those people all you want, it’ll just keep happening. Humans love their mental shortcuts
Realistically, I think we should just make it illegal to have customer facing LLMs as a service. You want an AI? Set it up yourself. It’s not hard, but realizing it’s just a file on your computer would do a lot to demystify it
Have people died to desktop extensions?
Cause that’s the topic here.
You’re fighting a holy war against all AI, dune style.
I’m saying this is a super low risk environment where the implications appear to be extra try/catch blocks the code reviewers don’t like – not even incorrect functionality.
Well I was just arguing that people generally are using AI irresponsibly, but if you want to get specific…
You say ban the users, but realistically how are they determining that? The only way to reliably check if something is AI is human intuition. There’s no tool to do that, it’s a real problem
So effectively, they made it an offense to submit AI slop. Because if you just use AI properly as a resource, no one would be able to tell
So what are you upset about?
They did basically what you suggested, they just did it by making a rule so that they can have a reason to reject slop without spending too much time justifying the rejection
They should state a justification. Not merely what they are looking for to identify AI generated code.
The justification could be the author is unlikely to be capable of maintenance. In which case the extension is just going to inconvenience/burden onto others.
So far their is no justification stated besides, da fuk and yuk.
Exactly, there isn’t a criteria other than the reviewer getting butthurt. Granted this is gnome, so doing whatever they feel like regardless of consequences is kind of their thing, but a saner organization would try to make the actual measurable badness more clear.
A saner organization would also hit up submitters for a reviewer’s fee. This would reduce AI spam. Barriers to entry matter.
A reviewers fee is equivalent to Canonical offering customer support contracts. Obviously a person that needs to lean on AI as a crutch, is just screaming out for reviewers to act as advisers. The reviewer just wielding the giant DENIED stamp is fun, but doesn’t address the issue of noobs implicitly asking to work with a consultant.
gnome reviewers obviously never missing an opportunity to miss an opportunity.
Have you read the first paragraph if the lidnked articel? It quotes the criteria right there: "Extensions must not be AI-generated
While it is not prohibited to use AI as a learning aid or a development tool (i.e. code completions), extension developers should be able to justify and explain the code they submit, within reason.
Submissions with large amounts of unnecessary code, inconsistent code style, imaginary API usage, comments serving as LLM prompts, or other indications of AI-generated output will be rejected."
Maybe instead of commenting under every comment that lines this change read the articlw first? Ai is fine if your code is fine and you uderstand it. If the reviewer has to argue with a llm because the submitter just pasts the text into his llm and then posts the output of said llm back to the reviwer it is a huge waste of time. Thiss doesnt happen if the person submitting the code understands it and made shure that the code is fine.
Everyone commenting have read and understood the article. Perhaps the nuance of the conversation is just going over your head. Your commentary is your personal opinion, which is outside of the source material. What you copy+pasted is exactly what we’ve commented on.
The article never said “reviewing Gnome extensions, where LLM was used, is a huge waste of time”. You are adding to what’s said. The adults are not pulling from outside the article.
We are stating what the article lacks. We are not hallucinating. So if we are not hallucinating then you must not be following. Reread it a few times until you get it.
Maybe read the original blog post from the gnome dev then? The post the article references… it says right there why the ai code is a problem, it has to much unnessecery code in it and reviewing that takes time. The author also says the submitted ai code doesnt adhere to good practices.
The answer you seek is literally the post.
What’s the difference? Jesus, we have seen the difference in the news for the past year. You know the difference. Don’t play dumb now.
We still talking about extensions, right? Those things in gnome, that shows weather or time in different time zone?
Cause if yes, your response is kinda weird. Oh no, my weather applet is created using AI! Everything will fall apart! Jesus Christ, we need to burn author for that!



















