Hacker News new | ask | show | jobs
by KingOfCoders 7 days ago
What is a vibe coded project? Where does it start? Cursor autocomplete? One shot Github project copies?

[Edit] The pull link is https://codeberg.org/Codeberg/org/pulls/1253/files and says

"7. 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)."

Whatever "mostly" means. If you autocomplete a lot, and the code written is "mostly" written by AI by autocomplete - it seems you fall under this.

I wonder what the ratio needs to be. And I wonder if auto-refactoring in Intellij is also included, because Intellij created the code and then also has "unclear copyright status" if we follow the logic.

Together this opens up more questions to me than it answers.

8 comments

“You must not share projects that mostly consist of code written by "generative AI"-tools (including services such as Claude, OpenAI Codex).”

Seems pretty clear to me?

What is mostly? >50%? >75%?

What does "written by generative AI" means? Autocomplete? IDE-with-AI-normal-classname-completion? Everything not typed by a human.

I personally don't find this clear at all and see many unhappy discussions in the future for Codeberg.

> What is mostly? >50%? >75%?

1. Don't ask us, ask the Codeberg people in the thread above.

2. If you're not sure you can meet Codeberg's terms of service, do what others are claiming to do: Take your repositories elsewhere.

3. I'll just hypothesize that you don't have Codeberg repositories and are only arguing here for argument's sake.

So much this!

Here's what I cannot understand - the spirit behind this update is clear: to carve out a space for human-written projects.

Now we have a bunch of people nit-picking what "human-written" means, with a bunch of snide "Hah! Gotcha!" thrown in for good measure...

"What about if it autocompletes - that's not written by a human!!! Lusers!!!"

"Hey, I used LLMs to rubberduck this; that's not fully written by a human even though I typed it!!!"

"Hey, I used a _KEYBOARD_ to type it in; that's the computer and keyboard firmware that /akshually/ wrote the code!!!"

Face it, if you need to know how close to the line you can go without going over it, then Codeberg is probably not for you anyway - there's no need to nitpick the wording.

If you, in your own words, "write your own code", you don't really care where the line is because you're so far from it anyway.

There is no scenario where you'd want to nitpick the wording...

> the spirit behind this update is clear: to carve out a space for human-written projects.

It is not that clear though.

I use the Lazarus IDE for Free Pascal. Free Pascal is kinda verbose and the LCL framework Lazarus uses has a bunch of boilerplate and its design is biased towards tool-assisted development. As such, Lazarus itself writes a lot of code for you and you fill in the "blanks" that provide what you want to do. It also provides a lot of functionality for code completion where you provide something basic like a magic word or a very partial/incomplete declaration and it automatically fills in the rest, often adding functions and such.

To me, despite Lazarus writing a bunch of code itself, the projects i made using it are "human-written".

And to me many uses LLM also fall under the same category - e.g. i often use some small local LLM as "awk that can think" to transform text/code in ways that would be either cumbersome or sometimes impossible with actual awk (or similar). If i give an LLM a few C function prototypes and ask it to write the boilerplate C code for exposing them as a native module i do not see as any less "human-written" than if i used a script that parsed the C prototypes and generated the code or some similar tool: in both cases i had a few functions i wrote myself and had my computer generate code for exposing them as a native Python module.

So from my perspective, projects doing any of the above would still be a fit for "human-written" spaces.

Wait until people get kicked off because their code is "mostly" AI and we have discussions on HN how unfair it is to kick people off for some fuzzy and unclear definition of genAI generated code.

If they create a place for human written code, it would be much easier to say

   No AI generated code.
   Examples include but are not limited to:
   * No autocomplete
   * No prompt generated code  
   * No automatic agent generated code
   * No bug fix or PR fix AI code
   All code needs to by typed by a human.
Done.
The people who would argue about how unfair it is that they got kicked out of somewhere because they flew too close to the sun, are also the same people who will rules-lawyer your "easy" list of rules and invent loopholes if they need to, just to be able to complain and stir up a crowd.

Codeberg is run by people. People who can make contextual judgments. They're even pretty explicit about it in their blogpost; that it's not going to be a search-and-destroy process, and that they're generally communicative.

In that situation, anyone who is complaining that the rules are "too vague" is probably just trying to figure out exactly how close they can get to violating the rules without getting kicked, and that's precisely the kind of people who would not be welcome on a community service like Codeberg. If you actually follow the spirit and intention of the rule, it would never even get to a point of ambiguity.

Claiming that all autocomplete is AI is clearly wrong, so I am not enthusiastic about your advise.
It means if the guy running Codeberg doesn't like it. This is his fiefdom, not a public square. Make your own fiefdom for AI coding. You could call it Vibeberg.
Whoever did this took your inspiration and ran: https://vibeberg.org

I am amused.

Login is required to see repositories, apparently
You're mistaken, Codeberg isn't ran by some guy, it is a non-profit organization with ~1200 members (not to be confused with users - there are ~200k users), ~780 members of which have voting rights.
He's not mistaken in any substantive way: it's still not a public square and those ~780 members have every right to make rules that offer a great deal of discretion to those doing the enforcing, and such discretion is entirely consistent with their other rules.
Well, IMO there is a bit of a difference between a "dictator" and a "democracy" :-P.
I think it's reasonable to assume >50% by default, unless the source clarifies what they mean by "mostly".
It's reasonable not to assume what they meant. They have a clear stance on the subject instead of letting us guess
How would anyone ever be able to arbitrate this? It's an unenforceable policy if you actually care about fairness.
I suspect rather than posting whataboutisms that it would be more useful to adhere to the spirit of the rule rather than asking how close you can get to violating it without actually getting kicked off.
This is so obviously the case that I'm having a seriously hard time assuming good faith from everyone arguing about the edge cases.
“Did you really think we want those laws observed?" said Dr. Ferris. "We want them to be broken." -Atlas Shrugged
>50% of words? Characters? LoC? Files?
Yeah, this is the bit where it really falls down, regardless of how you define "mostly"!
To me majority != mostly.
I agree that they have different connotations. However, in the absence of other information, I don't see how we could ever collectively agree on a better value. The least subjective option, as far as I'm concerned, is "more than 50%". If a is 50.001 and b is 49.999, then a is the one with the most, not b.
> I personally don't find this clear at all and see many unhappy discussions in the future for Codeberg.

You don't understand their goal in doing this?

Frequently (much more than we'd like to admit) actual contracts leave loopholes in, said loopholes which go against the spirit of the contract. It is not unusual to have a concrete contract that allows more (or less) than the spirit the contract was signed in.

Rather than nitpicking the contract (the TOU), why do you think they need this updated contract in the first place?

Protest by no longer using Codeberg
If 'mostly' means over 50% you could call this clear.

Otherwise I don't think this is clear at all.

Otherwise, what is mostly?

Mostly at the outset, or at any given time? Must the project move out when it goes from 49% to 51% AI-assisted code?

"Mostly at any given time?"

Yes, old project with 1M LOC of pre-AI code + 100% AI 100k LOC generated coded for the last three months, is that mostly?

No.

"Most" is clear and unambiguous.

It means more X than Y. The value of X is larger than the value of Y.

X = bot slop ; Y = human written code

In your question, 90% human written, 10% bot generated; no, it is not "most".

LOC? NLOC? Files? Calculated during the last week? Day? Month? Year?
Quibbling.

If someone is in the process of intentionally turning their project into slop, replacing human written code with bot-extruded code, then they can pay to host their own...

... And they should still be held fully responsible for the true environmental cost of the power and resources used to run the bots replacing craft with slop.

This activity is criminally wasteful, and should be treated as a crime.

Noone can discuss in good faith if the argument is: "If generated in bulk by vibe code" >> "what if I generate word by word with autocomplete".

This is IMHO the reason why we can't have sanity, because there are people ready to hack it.

That's why terms and laws are written vaguely. If you're obviously on one side of the line then you're obviously on one side of the line. If you're straddling the line, your punishment depends upon how the judge feels that day. So it would be wise not to risk it.
So no autocomplete. This is why people vote against their interest, they always assume laws are to reign in on other people until they understand the intention was different from what they understood and it hits them. Same old story.
I don't think this is a bad-faith response. Someone might fully retain copyright while using heavy autocomplete. I don't think such a person would be banned by the codeberg policy. This is at least a little bit unintuitive.
Acting like the decision to ban misween coded projects is a slippery slope is like being surprised that any hosting services refuse to store and maintain petabytes of your lorem ipsum novel.
If you have to ask then the answer is no.
I mean Codeberg will pretty soon start having to ask. How do they determine that and who'll be in charge to find violations there?
Before Codeberg has to ask that, the person who would upload has to ask it themselves. People know what they did, or didn't.

"If you have shit on your shoe, please don't walk across our carpet".

"But how do they know? maybe we should test if they can tell", and all that stuff... no. Most people would simply take a good look, and if they're worried about something that could be be mud or not, brush it off just in case. And if they come directly from 12 hours of drunk partying in the wilderness, they can still simply take their shoes off and ask for a plastic bag at the door, just in case. Easy.

And yes, maybe the owner goes crazy or hates you, and you just bought new shoes that are squeaky clean, but brown, and get thrown out with no appeal. That can happen. But in that case, they could use many other things to be petty about, too. And Codeberg does not strike me as that.

How can you tell if you drank too much? What is the exact amount of alcohol molecules a given person could ingest in an exact instant (like, down to the exact Planck whatever) and no longer be fit to drive? And if someone says "no drunk driving on my property" while not caring what happens outside of it, can we really let them off the hook before they showed us the machine that can calculate it?

If people are worried about using libraries that contain vibe code, sure, that may become a real concern, but even then, why not have a really restricted website? For projects where the people are either so good, or the project so small, that that they know for sure there is no vibe code in it? Why this oozing over and into everything?

You cannot discuss in non-English languages on this site. Even though you could slur and degrade English, and therefore it being impossible to give you an exact heuristic right now that separates English from non-English exactly. The rule is still accepted, and cases dealt with as they come up.

> Before Codeberg has to ask that, the person who would upload has to ask it themselves. People know what they did, or didn't.

This is going in circles. For someone to "ask it themselves", first they need to know what to ask. But the term is vague: what does "mostly" mean? You can't ask yourself if your code is "mostly consist of code written by" generative AI if you don't know what whoever is going to judge the rules means by it.

Is it to be taken literally? I.e. a 2000-line project where 1000-lines are written by AI is fine but if there are 1001-lines your project is out (in which case, if the human-written lines get refactored to become shorter and more efficient, does that suddenly mean the project is out?).

> what does "mostly" mean?

the same as "zero", in that if the amount is zero, you're fine.

"did you pack your bags yourself?"

"no/not sure/what does that mean let's discuss" = please leave the premises now

"yes" = welcome

That is only your own interpretation. It is one that does conform to the rule but only because it takes one extreme side of the potential "amount" of allowed genAI use.

However this isn't what the terms update state. If that was the meaning then they would have explicitly written "zero" - or something along these lines. The fact they didn't do that (despite the update being there for weeks and people were able to vote on them for a long time - so it wasn't just some mistake) means they do allow "some" use of genAI - so at that point the question becomes "how much".

So no autocomplete.
It isn't a public service. It is one person offering his resources to help FOSS. He decides if you align with his mission.
Codeberg isn't one person, it is a non-profit organization with ~1200 members (not to be confused with users - there are ~200k users), ~780 members of which have voting rights. The decisions aren't taken arbitrarily but they are proposed and voted for in an internal forum.
If this opens more questions than it answers, then you are simply discovering that you don't understand copyright (which is ok, but not the fault of the Codeberg policy).

> You must not share projects that mostly consist [of LLM-generated code]

> Such projects having an unclear copyright status

There is no bright-line threshold at which a code contribution becomes copyrightable (and therefore relevant). It is a legal question determined by courts. However, nobody in practice has any difficulty determining whether their code is copyrightable.

Codeberg is essentially asking/demanding that "your code" coincides with "code you hold the copyright for". This responsibility can be delegated to other humans, but not to LLMs.

That is not what their wording says. They could have said "code that is mostly covered by copyright under German law", but they chose to say 'mostly consist of code written by "generative AI"-tools'.

Also, if you are a non-German user of Codeberg and there is a wide difference between what is covered by copyright in your country and Germany (e.g. if you are British) this might make Codeberg less of a suitable choice for you. What copyright laws matter to a particular user? Their country, the US because of its dominance and reach, or some sort of global safe/effective compromise?

This has the feel of being done by people who do not understand how to work things to be clear legally, nor of an understanding of the consequences.

They could have tagged these projects with "AI" or "MixedAI", and they'd be removed from the default views. It should also make clear that such projects may have a dubious legal status. Though within businesses no one cares?
They are also opinionated about what they host. FOSS only. Now updated to: unvibecoded FOSS.
It's run by a charity as a public good. Without a profit incentive from it, there is no benefit to public from slop.
> projects that mostly consist of code written by "generative AI"-tools

I guess if you auto complete line by line and actually read the code it should be gucci.

Edit: Oh, you found it as well now. Disregard my post.

"I guess if you auto complete line by line and actually read the code it should be gucci."

Not from their wording.

AI auto complete is still generative AI, why would that be any different? Unless you're talking about regular intellisense-like auto complete, which of course does not use generative AI at all, which would obviously be fine.
I’d say even GitHub copilot autocomplete is LLM aided coding. Copy pasting from a chat too is. But let’s not let the perfect be the enemy of the good. The point is the intent. We don’t want AI generated code. Put that in github if you so please.

This is for human generated code. Some day we will have a way to enforce the amount of AI usage on its participants, right now we can just rely on an honor code and clear intent that you’re not welcome here

What do you mean "I'd say"? It's obviously a fact. Github copilot uses an llm for its autocomplete, so obviously it falls under llm generated code.