Seems pretty clear to me?
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.
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.
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...
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.
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.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.
We left. Because of people talking like you, people starting from categorical purist blanket judgements and implying that anybody who used these tools is immoral and their legitimate questions about what the policy would actually be were attempted rule breaking. Before there was even a rule.
"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."
The blog post came after the vote, FFS. People asking just what was going to happen got the kind of response you gave above -- complete with analogies of being "creepy guys" trying to "violate constent."
Now. What about next week? When the mood changes?
I am amused.
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?
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?
Yes, old project with 1M LOC of pre-AI code + 100% AI 100k LOC generated coded for the last three months, is that mostly?
"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".
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.
"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.
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?).
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
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".
Even if you could afford the equipment to make sure you don't have a single molecule of shit on your shoe, you couldn't operate it. Most people couldn't. So what gives? How is it possible that people have parties and then not endless discussions for decades and centuries about this unsolvable issue, right up there with how many angels can dance on the head of a pin?
Because they're not playing games is why. Because it's simple, if you don't bend over backwards to make it seem hard. You don't walk through shit on purpose, and before entering you check your shoes to your best ability. The end. There will be small percentage of cases where this fails, and that's fine. Spirit of the law and all that.
You do the same with genAI. If you are worried it's too much, "the wrong kind", whatever, you simply ask them. Because you have good intentions and will respect their answer, you have no reason not to do that. If you don't even have anything you're unsure if you can upload there, it's totally moot.
> If you are worried it's too much, "the wrong kind", whatever, you simply ask them.
If you have to ask them, then having terms of use is pointless. The entire point of ToU is to explain how one can use the service, if you have to "ask" then the terms are not doing their job properly.
Of course people aren't perfect and can write vague or misleading ToU - and considering i've seen the same questions about that "mostly" part here, on Reddit, on Mastodon, on Twitter, on Discord, on blogposts and even their bugtracker[0] where they claimed their blog post on the matter will clarify things, which it didn't, there is no question that the terms are inadequate here - but the response to that isn't to try and guess what they possibly could mean, the response is for the terms to be clarified.
If Codeberg wanted to tell people who use LLMs in their projects that those projects are not welcome there, then they should have put that in their terms of use in clear and unambiguous wording.
There are many people on the internet who think their interpretation of things i the only right one. Don't argue.
Yeah, right.
If you come up with "so no auto-complete" that's totally a you-having-no-arguments issue, not me not giving a fair hearing to something nobody said, because it doesn't exist.
Because if a club had a prominently posted rule "no shit on the soles of your shoe", I would not be asking "Well, how much shit is on the soles of my shoe?"
I would be asking, "How likely is it, that I'm going to get a couple drinks in me, and then get cornered by frowning men who need to inspect my shoe soles for shit traces? How would I feel after passing the no-shit-on-shoes challenge?"
Then I would find another club.
This is IMHO the reason why we can't have sanity, because there are people ready to hack it.
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.
Not from their wording.
> 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.
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.
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
[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.