devtake.dev

Codeberg banned LLM-generated projects, and Debian is voting on the same question

Codeberg's terms now bar projects that mostly consist of AI-written code. Debian's open resolution puts three answers on one ballot. Provenance is the crux.

Soren Vanek · · 8 min read · 8 sources
The Debian swirl logo in dark red above the lowercase debian wordmark on a near-black background.
Abraham Raji / CC BY-SA 4.0 via Wikimedia Commons · Source

Codeberg’s members voted 358 to 144 to stop hosting mostly AI-written projects. Two days later, Debian opened a formal General Resolution on whether LLM-assisted contributions belong in the distribution at all. Two of the load-bearing institutions in free software moved in the same week, using completely opposite mechanisms.

Neither decision is a mailing-list squabble. W3Techs counts Debian on 6.0% of Linux websites and Ubuntu, which is built from Debian, on another 15.0%, which makes that family roughly nine of every ten Linux sites its scanner can actually name. Codeberg is far smaller, but it’s the forge where a large share of the projects that walked away from GitHub ended up living. And the question underneath both moves is narrower than whether AI is good for software: can a human honestly certify where a model’s output came from?

What the two policies actually say

Codeberg’s change is one new clause in its Terms of Use, rule 7 under the content requirements:

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

The clause supplies its own reasoning: such projects have unclear copyright status, and little safeguard against harmful code. A second motion passed alongside it commits the forge never to train on what it hosts. Codeberg’s services “are not and will not use the code or data of projects and users to train ‘Artificial Intelligence’ tools such as Large Language Models,” per the announcement post, which also records a 14-day asynchronous voting period that closed on 22 July at roughly 50% turnout of active members. The same assembly round passed a cryptocurrency ban, which is why the terms now list “cryptocurrency related projects” as content that harms Codeberg’s reputation. Enforcement is written down: a first violation means removal plus a warning, repeat violations can suspend the account, and ambiguous cases go to Codeberg’s presidium on a simple majority.

Debian’s move is procedurally the opposite. Nothing is decided. A General Resolution opened for discussion on 24 July with three separate proposals on the ballot, each carrying its own proposer and at least eight seconds from other Debian Developers, and as of 25 July the project secretary had published no voting period.

CodebergDebian
StatusAdopted, in forceOpen resolution, no vote dates yet
Who decided358 in favour out of 516 votes cast, about 50% turnoutEvery Debian Developer, once voting opens
What it bindsProjects hosted on the forgeContributions into Debian itself
The ruleNo projects that “mostly consist” of generated codeThree competing answers on one ballot
EnforcementCase by case, no automated scanningUndecided, and contested in the text

Why provenance is the real blocker

Set aside the environmental argument and the reviewer-burnout argument, and one problem is left that has nothing to do with taste. Free software licensing runs on knowing who wrote a line and under what terms. The DCO, the sign-off the Linux kernel has required on patches since 2004, is the mechanism most projects use for exactly that: adding a Signed-off-by line certifies that the contributor wrote the code, or got it from someone entitled to pass it on under a compatible license.

QEMU wrote the consequence down more plainly than anyone else has. Its code-provenance documentation says the copyright and license status of generator output “is ill-defined with no generally accepted, settled legal foundation,” then names the actual blocker: “How contributors could comply with DCO terms (b) or (c) for the output of AI content generators commonly available today is unclear.” That’s a mechanical objection, not an aesthetic one. Nobody can enumerate what went into the weights, so nobody can certify what came out.

Codeberg names the sharper version of the same problem: license laundering, where copyleft code loses its reciprocity requirements because a model regenerated equivalent code out of training data. The FSF spent this spring arguing about a much smaller license question, whether OnlyOffice could bolt an extra clause onto AGPLv3 to discourage a fork. Provenance-by-model is the harder case. There’s no clause to read and no repository to diff.

Debian and Codeberg are late to this, not early. Gentoo’s council banned AI-assisted contributions in April 2024 under a written policy that carves out packaging AI software itself. NetBSD classifies LLM output as tainted code requiring written approval from its core team. QEMU declined AI content outright, then in May 2026 Red Hat’s Paolo Bonzini proposed narrowing that ban to permit tests, documentation, mechanical changes and small bug fixes behind an AI-used-for: commit tag. His argument was blunt: projects accepting AI-assisted content “have not run into serious legal trouble so far, which suggests the probability of the risk materializing is not high.”

What Debian is actually voting on

Three proposals, three different answers. Proposal A, from Matthias Geiger with eight seconds, would add a sixth clause to Debian’s Social Contract prohibiting direct contributions written with LLM assistance: packaging, native Debian software like lintian, contributor-written documentation and translations, plus official web resources. It carves out upstream projects that use LLMs, AI-related software, and upstream patches. Its authors answer the obvious objection inside the text, conceding that “enforcement could be a challenge” while calling the proposal “a statement of intent by the Debian community.” Their quality argument is the weakest leg, though it isn’t baseless: when HackerRank open-sourced its AI resume screener, one developer ran a single resume through it 100 times and watched the score swing from 66 to 99. Nondeterminism is tolerable in a screener. In a watch file it’s a bug report waiting to happen.

Proposal B, from Lucas Nussbaum with nine seconds, allows AI-assisted contributions under six named conditions. Two of them do the real work. A contributor must verify they have the right to submit any pre-existing copyrighted material that appears in the output, and must disclose significant tool use, with a Git trailer such as Generated-By: or Assisted-By: offered as one convenient form. The proposal also requires prior discussion before bulk or autonomously generated contributions, mirroring the mass-bug-filing convention Debian already runs on.

Proposal C, from Ian Jackson with eight seconds, is the interesting one. It concedes up front that “a complete ban on LLM output as part of Debian is currently impractical” because many upstreams disagree, then asks contributors to avoid LLMs anyway. It requires that messages to humans, including bug reports and Planet Debian posts, be “drafted solely by humans without LLM assistance,” mandates disclosure of any LLM use in Debian work, makes individual maintainers’ and upstreams’ bans binding project-wide, and makes violations Code of Conduct matters warranting “swift but proportionate disciplinary action.” It also does something neither rival does: it tells contributors who can’t write comfortably in English to write in their own language and expect readers to translate, with a promise that nobody gets shamed for linguistic mistakes.

Debian ballots always carry a further-discussion option, and with three overlapping proposals feeding one Condorcet count, the outcome is genuinely hard to call. My read: C is the honest proposal. A ban Debian can’t audit at review time buys the reputation of a ban without the substance, and Geiger’s own text admits as much. B produces something a reviewer can act on, because a missing Assisted-By: trailer is a fact you can point at. C asks for restraint, requires the same disclosure, and says out loud that the first half is a request rather than a check.

What this means for your contributions

Neither policy stops you using Claude or Copilot on your own code. What changes is what you have to be able to say about a patch when a reviewer asks. Under Proposal B that obligation is explicit: you carry full responsibility for the technical merit, the security and the license compliance of everything you send, and you should be ready to justify it. Under Proposal A the answer is that you don’t send it.

The practical move is boring, and it works today regardless of how the vote lands. Keep the assistant out of anything you can’t read back and defend line by line. Put the disclosure in the commit trailer rather than in an apology on debian-devel three weeks later. Check the upstream project’s own policy first, because Proposal C would make an upstream ban binding inside Debian, and Codeberg’s terms already flag “users sending LLM contributions in violation of project’s custom policies” as a case that may no longer be welcome.

If you host on Codeberg, the moderation posture matters more than the clause. Codeberg says it won’t mass-delete repositories, won’t spend resources on automated scanning, and expects projects with an active community or a significant pre-LLM history to be untouched. The cases it named as unwelcome are specific: repositories created by autonomous agents, projects maintained with heavy LLM use, and projects burning far more storage and CI than the people involved could plausibly have produced by hand. That last one is the tell, because it’s the only criterion a forge can measure without guessing. Developers on r/linux went straight at the gap, with the thread’s top comment arguing the line runs between AI-assisted and AI-generated work, and several others asking who adjudicates “mostly.”

Both moves landed in the same week because the bill did. Codeberg says the class of drive it sourced for 700 euros a few years ago now costs 3,700 euros, and its sysadmins spend their time deflecting the crawlers that feed model training rather than shipping features. Intel switched off its open-source evangelism program in June for unrelated cost reasons, and the through-line is the same: volunteer and vendor infrastructure alike is absorbing costs it never signed up for. Watch the further-discussion option on Debian’s ballot rather than the winner. If it places well, the project will have said the question isn’t ripe, and Gentoo’s April 2024 policy stays the only settled answer in the room.

Share this article

Quick reference

DCO
Developer Certificate of Origin, a one-line sign-off where a contributor legally certifies they have the right to submit the code under the project's license.
General Resolution
Debian's binding project-wide vote, open to every Debian Developer, used for decisions that no delegate or project leader can settle alone.
license laundering
Stripping a copyleft license's reciprocity terms by regenerating equivalent code as model output, so the obligation to share changes disappears.

Sources

Frequently Asked

Has Debian banned AI-generated code?
No. The General Resolution opened for discussion on July 24, 2026 with three competing proposals on the ballot, and the project secretary had not published voting dates as of July 25.
Does Codeberg's rule ban every use of an AI coding assistant?
No. The clause targets projects that 'mostly consist' of generated code. Codeberg says projects with an active community, or a significant pre-LLM history, are unlikely to be affected at all.
What does the Developer Certificate of Origin have to do with this?
The DCO asks a contributor to certify they have the right to submit code under the project's license. QEMU's own documentation says it is unclear how anyone can make that certification for the output of today's generators.
Do other open-source projects already have rules like this?
Yes. Gentoo's council banned AI-assisted contributions in April 2024, NetBSD classifies LLM output as tainted code needing written core approval, and QEMU declined AI content outright before proposing a narrower policy in May 2026.

Mentioned in this article