cross-posted from: https://piefed.world/c/tech/p/1279028/codeberg-bans-vibe-coded-projects
Relevant .

- You must not share projects that mostly consist of code written by “generative AI”-tools (including services such as Claude, OpenAI Codex). Such projects having an unclear copyright status (see requirements § 2 (1) 1 and § 2 (1) 3) and furthermore have little safeguards to ensure that they do not include harmful code (c.f. § 2 (1) 5).
That feels like a reasonable middle ground. Allow some things with some AI written code, but don’t allow stuff that is a majority of AI code.
Let’s be real here: Most future projects will be mostly written by AI.
Sure, the good ones will have proper human QA. But Claude Code is so much faster at writing and rewriting surprisingly good code, that ignoring it is just like ignoring IDEs was a decade ago.
You can still write code without AI, syntax highlighting, code-suggestions, documentation tooltips, inspections, and fully integrated version control. But all these tools legitimately make software development easier.
Regardless of that, it still fails to address the very legitimate copyright concerns.

Let’s be real here, the concerns about what the copyright is of code that’s produced by AI is still sort of in the air, especially for a site that wants to host content from across the globe. Codeberg picking its battles and not wanting to deal with that for now seems reasonable.

I can’t see the future, but this all doesn’t sound like an ideological “vibe code is bad, we don’t allow it” but a “the copyright of vibe coded content is unclear across jurisdictions, we don’t allow it.” So I don’t think it’s something they’ll say “hey, this looks vibe coded, deleted.” Many projects self proclaim they’re vibe coded. Many projects list every commit that is vibe coded. It seems likely they’ll go after those projects instead.
But yes, I’m not an oracle, and Codeberg could always heel turn and turn this into a witch hunt, but I don’t think they’ve earned that reputation.
It does sound like “vibe code bad”.
Because if they were actually concerned about copyright, they would ban all LLM code, not just some LLM code.
There is no need for a repository hosting software to decide what people are allowed to upload unless it is literal Nazi or kiddy diddle content or something else illegal.

Did you not read the actual change?
- You must not share projects that mostly consist of code written by “generative AI”-tools (including services such as Claude, OpenAI Codex). Such projects having an unclear copyright status (see requirements § 2 (1) 1 and § 2 (1) 3) and furthermore have little safeguards to ensure that they do not include harmful code (c.f. § 2 (1) 5).

Such projects having an unclear copyright status (see requirements § 2 (1) 1 and § 2 (1) 3) and furthermore have little safeguards to ensure that they do not include harmful code (c.f. § 2 (1) 5).
So you can do a little copyright violation but not too much?
Seeing how codeberg is FOSS only, I’m not suprised. Vibe-coded projects is a HUGE legal trap considering licensing. And seeing how it’s based in Germany (notorious about siding with license owner against regular individuals) it only makes sense
How can I prove that I have ownership over code I wrote myself, and that it isn’t copyrighted somewhere in the world? How can anyone prove that code is written by a human or AI (if you don’t commit obvious AI harness files and folders)?
Developers also “generate” code and are also “trained” on code they written as freelancers or employees for others which is potentially copyrighted. In that aspect just because it’s written by hand, doesn’t imply the writer has copyright on it.
What? The point I was trying to make is that AI generated content is going to be treated as CC licensed. It is difficult to incorporate under other FOSS projects. Mostly considering that it doesn’t exactly distinguish between code, library, binary and patents. It’s simplier to avoid it altogether if your primary mission is FOSS
Considering your comment about verification of authorship, it’s likely to be treated the same as it is now. You are the author, unless proven otherwise. And you are right. Even if you are the author and wrote every single code yourself, you can infringe on someones paten
How can I prove that I have ownership over code I wrote myself, and that it isn’t copyrighted somewhere in the world?
As long as you had no access to that code and have some proof of that then that should be quite easy. I.e. you never worked for a company that claims copyright on something you wrote.
Developers also “generate” code and are also “trained” on code they written as freelancers or employees for others which is potentially copyrighted.
Then you need to do a proper clean-room rewrite with people who had provably no access to the original code.
Well, if I use AI, it’s still considered I wrote the code, just with help. And I personally never saw the code nor had access to it. Also, whatever I implemented must be clean room implementation then. If it was that simple, then we would not have the copyright issue to begin with. LLM can’t be an author nor can it be legally liable.
Well, whatever… its just another reason why it’s best to self-host your git services…
A repo host that can remove your repo at any moment because someone can accuse your code of being “vibe coded” is not a repo host I’d trust. It shouldn’t matter how good, bad, or A.I. written your code is. It’s a hosting platform.
I mean, I agree with you, but there’s still room for abuse.
Have you seen OpenClaw’s issues page?
Vibe coders and AI agents are floating it with garbage, if they were to do that to Codeberg, it’ll probably run out of resources pretty quickly
Just use that cat girl captcha thing, every other FOSS site uses, and the problem is solved.
I mean the host can always remove your repo. We’ll see how they handle it; but I would assume it won’t be without care. But yet another reason to host your own as well.
The main argument is due to copyright issues of LLM generated code. Github will happily remove repos which violated copyright laws or IP laws. It makes sense that Codeberg doesn’t want to host code which may be violating copyright law.
Just one problem with that: Every piece of work - code or otherwise, made by a human or not - may violate copyright law. There really is no way to know without actually checking against all other works (which you can’t because you don’t have access to all of them).
What GitHub does is what a sane person would do: React to claims. They just assume that what they get uploaded isn’t violating copyright until someone claims otherwise. And as it is literally impossible to actually know, that is the only sane way to approach this problem apart from just not hosting other people’s stuff at all.
And anybody could try to take down your repository by pointing to copyright law in general. Bad faith takedowns are not a new phenomenon.
Then why not say it’s not allowed to upload code you don’t have copyright to? This would make sense, nobody would question it and it would generally also cover AI-generated code.
Mentioning vibe coding just upgraded it into a social and moral topic, while the sole fact that AI generated code is no issue at all, just that there is not a general concensus in the world who holds the copyright to that code.
It’s kinda like blanked banning cooking, because you can’t cook without a knife, and knife can be used as a weapon.
It’s more like banning cooking anything with mushrooms in it, because we haven’t sorted out which mushrooms are poisonous or not. You could make it more accurate by instead banning cooking with anything poisonous, but of course then lots of people will keep cooking with their mushrooms, naively thinking they are not poisonous and therefore allowed.
It’s just a different analogy but the point is the same, why not ban poisonous ingredients? It implies poisonous mushrooms also, but doesn’t criminalize cooking.
The point is that cooking was never criminalised in my analogy, only cooking with mushrooms. I also already wrote why that might be preferable to making the ban on poisonous ingredients
IMO everyone should have a local backup of everything they can get related to the repo. Like I know with git itself, anytime you clone the repo you get everything, but also the supporting stuff that is in the layer outside of git. IMO the host should mainly be the hub where everyone gets and interacts with the project, while everything else is already good to go in a new location, should the host either screw up in good faith, get corrupted by outside influences, or gets overrun by local or remote powers.
This makes me a bit curious about whether the overall risk to projects is higher from individual local device failure or politics around who controls remote hosting services and the nature of the project.
Actual question. Can you revert git to a prior state without the remote repo?
Unless you did a shallow clone or something every repo clone is complete in git.
Yes, that’s a core purpose of git.
git reset --hard <commit-hash>
Yeah, as the other commenter mentioned, git is a distributed source control system, so all clones have the full history (though you can bump up the “starting point” to reduce the overhead of storing all previous commits).
Hosts like github can add more features on top of that, which would have to be backed up separately, but you can automate the repository itself using a single command, which is the same command used to make a clone in the first place.
I have the same feeling with SourceHut which bans projects related to crypto money. I think bitcoins is a stupid idea, but knowing that the owner of the site can ban you because of the stupid idea of the day is a very wrong idea.

Like anyone who’s offended by this isn’t already slopping for Microsoft’s GitHub.
I get it, but determining and moreso verifying code is mostly generated is so intractable that this will likely not do anything practically. Well, perhaps it will discourage some disclosure.
The idea is probably to have an easy joker reason to randomly ban any repo which is for some otherwise hard to justify reason not wanted on the site. It’s a common corpo practice to have extra vague and impossible-to-disprove rules like that.

I don’t think anyone expects to catch every vibe coded project that might end up on the site. It’s seems to be about nurturing specific direction for their community, giving admins clear rules on this issue and making their decisions easier in case they do find (or get a report about) a clearly AI “led” project.
Even if vibe coder manages to stick around, they can’t be sure their projects won’t disappear at random due to the new rules. Might be enough to prevent some of them from using the site.
Exactly.
Boosters: There’s no way to enforce this! This rule shouldn’t exist. You can’t be 100% sure a project isn’t slop. Keep the flood gates open.
Reality: We also can’t 100% enforce that people follow the speed limit, but we have speed limit laws. When we catch someone, we can point to the law. The mere existence of the law also acts as a small deterrent.
Same with Codeberg. We can’t 100% enforce the ban, but when we catch someone we’ll be able to point to the rule and kick em out. And just seeing an “AI not welcome” sign on the wall will deter some amount of people.
giving admins clear rules on this issue and making their decisions
The wording used is “mostly”. Which is concerning, because “mostly” is anything but clear and leaves a lot of room for interpretation.

It’s a bit of a double edged sword. If you’re too vague it’s easy to allow for overreach but if you’re too specific some people will try to skirt the line on technicalities. The final comment in the linked discussion promised to clarify this point in a future blog post so I guess anyone who might be affected by this change should keep an eye for that.
Yeah that is a good way to frame it. Makes sense. It does say something about their ethos.
And: false positives? How much fun is it to go to clone your repo and find it locked because something (probably an AI algorithm) decided your project was “vibe coded”?

Don’t ask me. I have nothing to do with Codeberg and I’m not involved in the process itself, I’m just speculating. I would assume that if they’re against hosting AI projects they won’t try to hunt for them using AI screening and stick to a honour system + reporting instead but I know nothing about Codeberg’s inner workings to say for certain.
There will probably be more info on that once the official announcement drops so I guess we’ll see.

The Codeberg team seems crazy solid, or so I feel. I have all my repos there except one which isn’t open source.

That’s good to know. Hopefully they’ll be able to come up with a decent solution that’ll fit their community well.
I think a lot of the time with these things is not really about filtering every single offending project but stablishing a legal precedent to remove a project the moment it is found to be violating the rules.
Yeah, saying outright that you can’t gives them the ability to remove a problematic project without issue. Otherwise, GiganticProject, that prints “hello world” and is used by Microsoft, which is a million lines of code with 100,000 lines committed every day can be removed without having to deal with Microsoft’s lawyers.
Yeah but I also get it as a thing to put down, just in case you need to mass-ban thousands of clearly-AI-generated projects. You can then just point to this ToS.

As in obvious. Like they have model instructions and bots credited as authors on commits.

Congrats you made a mistake. Any contributor can make commits with ai bots credited into them, and it’s not displayed to the reviewer. Meaning that for just accepting a MR that looked good, you would get banned. Nothing is obvious

The rule is for vibe coded projects. From the article:
If your work fits into these cases, it is unlikely that you are affected at all:
- Projects who have an active community that cares about and maintains the software
- Projects with a significant pre-LLM history
- Maintainers who unknowingly or willingly accepted LLM-generated contributions from other contributors, if your project otherwise does not involve the heavy use of LLMs
They don’t need a rule that can be run automatically because it’s a purely human operation that is trying to take a stand against the more pernicious effects of corporate LLMs.
Do you just disagree with this stance and are just trying to poke whatever hypothetical holes you can in their logic, or do you just want more rigorous definitions/rules?
From experience, content moderation works best when there is some flexibility in the rules, so people can talk it out and come to concessions together.

Carighan talked about “mass-banning”. This is what I opposed to
Nobody cares for your got’em logic, it just makes you look childish.

The child is the person who acts before thinking and without caring about the issues it will cause
Why? That’d not he what a company banning the projects would do, so why should it be done beforehand?
It’s exactly about having a hard cut-off, but for a softly defined offense.
It’ll also be a great way to take down projects you don’t like. Just accuse them of witchcraft.
they could already take down any projects they didn’t like. it’s their service after all
Good thing we have pro-AI platforms like GitHub that would never arbitrarily remove projects… Right?? Right???
That’s just Facedeer, an infamous AI booster and concern troll.
A bad faith troll could claim any genuine rule against platform abuse could be turned into a witch hunt. Rules like “don’t upload giant files to overwhelm our servers” or, since I’m reminded of someone else who claims they’re labeled a witch, “don’t harass transgender people”…
Because GitHub arbitrarily removes projects it’s okay if Codeberg does too? “They’re the same as GitHub” is not actually a great point in their favor.
Guess I’ll need a new host for some of my recent repos. Oh well. Nothing that I haven’t dealt with for other reasons (with GitHub and Bitbucket).
I’m not sure if these tools will stick around, but if they do I’m not sure you’ll be able to find anyone that isn’t using them in a couple of years. I hate it but it does turn out that dropping a trillion dollars on automating writing software has yielded results.
Edit: Update: Moved my personal slopjects over to gitlab which is fully embracing the slop.
I get that some people are completely against LLM assisted coding. I’m still with you guys in spirit, but if these things stick around in their current quality (which is honestly a load bearing if) I just don’t see a way to continue working in the software industry and meeting expectations without using them.

Hell yeah. Though I do always wonder if such entities mark themselves as targets for AI scraping. For instance, Wikipedia is also committed to banning slop articles. But that just means for any AI scraper it just becomes a reliable source of quality training data. So Wikipedia volunteers have to expend a lot of time and resources determining if something is slop and getting rid of it, all so that the slop trainers can come in and create the next version of the slop engine used to spam Wikipedia…
Anyway… whatever. Good for Codeberg!
Guess I’ll pull all my stuff from Codeberg then, vibe coded or not.
That’s dangerous as hell, because there is no guarantee that your stuff is deleted for the wrong reason.
It’s their decision. But I dislike it.

There’s never a guarantee that they won’t delete your stuff for the wrong reasons. That’s not something you had before this. I’m not trying to be pedantic, I just mean if that’s a legitimate concern you have that you should be backing things up in different ways as well.
Sure. And of course I’m backing up my code somewhere else.
But this clause makes it much more likely that my repositories get deleted. And there are other services connected to it, e.g. an app via Fdroid/Obtainium. Losing Codeberg means disconnecting the apps.

Has Codeberg earned a reputation of deleting things without warning and not making good decisions though?
It doesn’t matter. The door is open. I won’t wait for anyone to got through the door, by accident or not.
All that matters is that the option is there.

It just feels really baseless to me. Have you read their terms of service? I’m sure there are other similar things in there. Like most terms of service there are parts that say they reserve the right to remove things for reasons not specifically listed. For example, they say if something is harmful to their organization they can remove it even if something isn’t listed explicitly. And that’s something that pretty much all services say. So why is this specifically the thing that makes you worried?
That door was open the second you uploaded anything to it anyway. Same for any online service.

I use them as one of my mirrors for public projects, but host my own repos and CI now.

extrusion
[ik-stroo-zhuhn] / ɪkˈstru ʒən /
noun
plural extrusions
- the act of extruding or the state of being extruded.
- something that is extruded.
From context, I would expect the latter definition to be what they meant.
Oh, you don’t know what “extruded” means either? Don’t worry, I got you.
extrude
/ ɪkˈstruːd /
verb
(tr) to squeeze or force out
(tr) to produce (moulded sections of plastic, metal, etc) by ejection under pressure through a suitably shaped nozzle or die
(tr) to chop up or pulverize (an item of food) and re-form it to look like a whole
a less common word for protrude
“LLM extrusion” most likely refers to definition 1 or 3, or some synthesis of the two.
Hope that helps!