Hacker News new | ask | show | jobs
by cwillu 6 days ago
“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?

2 comments

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.

To be clear, nobody has been "kicked out." Not yet.

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

Every thread on HN about people getting kicked out of Stripe or Amazon, those flew too close to the sun?
Claiming that all autocomplete is AI is clearly wrong, so I am not enthusiastic about your advise.
All autocomplete is machine generated, the result is the same, unclear copyright, potential slob, not human typed.
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.
Sure, but at the same time, I'm not sure either one is by itself a great descriptor (nevermind the emotional valence of those terms)
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.