我后悔迁移到 Codeberg 了
I Regret Migrating to Codeberg

原始链接: https://xn--gckvb8fzb.com/i-regret-migrating-to-codeberg/

作者批评了 Codeberg 最近禁止人工智能驱动项目和加密货币相关项目的决定,认为这一政策转向标志着其正在走向意识形态审查。虽然作者承认这些项目给基础设施带来了压力,但他们认为全面禁止是一种“滑坡谬误”,破坏了该平台对软件自由的承诺。 作者认为 Codeberg 给出的理由——特别是对缺乏“社区”支持的独立开发者的贬低——是虚伪的,且脱离了自由开源软件(FOSS)开发的现实。作者建议,与其采取一刀切的禁令,不如采取更务实的方法,例如通过标签分类、资源使用分级或强制声明来解决基础设施成本问题,而不是对内容进行监管。 最终,作者决定离开 Codeberg。他们总结道,这种在没有进行有效用户咨询的情况下实施重大政策转变的过程,表明该平台将自身的意识形态偏好置于社区需求之上。对作者而言,这标志着 Codeberg 失去了使其成为 GitHub 替代品的那种“自由”,促使他们转而寻求自托管方案以确保自主权。

Hacker News 最近的一场讨论围绕着一篇题为《我后悔迁移到 Codeberg》的文章展开。讨论重点在于作者个人网站上一个具有挑衅性的、基于 JavaScript 的“反 AI”演示,该演示通过欺骗性的标题更改和叠加层来干扰启用脚本的访客。 社区反应不一。一些用户为 Codeberg 关于 AI 生成内容的新政策辩护,认为该平台旨在防止“无人维护的垃圾内容”泛滥,而非完全禁止 AI 使用。他们认为,Codeberg 的筛选机制可能使其成为比 GitHub 更具精选性和可信度的替代方案。 相反,另一些用户则对作者将提交 Bug 报告视为一种贡献的不屑态度表示异议。还有人猜测,这些政策是否会无意中通过建立一个高质量、“未受污染”的训练数据集而让 AI 公司受益。归根结底,这个讨论反映了一个更广泛的争论:规模较小、专注于细分领域的代码托管平台是否是软件开发生态系统中必要的演变。
相关文章

原文

A brief comment on Codeberg’s new terms, and why a free-software host deciding which projects are welcome worries me more than the bans themselves.

My primary reason for leaving GitHub was not about a single feature or a single outage, but about the “enshittification” of the platform under Microsoft’s ownership. The web interface got rewritten into a sluggish pile of JavaScript that either broke things which used to just work, or made them so horribly slow that using them became a PITA. Beyond the technical decay GitHub had turned into de facto “public infrastructure” in much the same way that WhatsApp has, hosting the source code of a very large share of the world’s software and, through that, giving Microsoft a degree of leverage and surveillance over everyone’s projects, and by extension everyone’s digital lives, that no single company should hold. On top of that, stories about legitimate developers losing their accounts due to arbitrary bans by Microsoft only reinforced the feeling that it would be a good idea to at least have a backup somewhere else.

Codeberg looked like a viable alternative. It offered free and open-source projects a reputable home and, more importantly, an equally free one, run by a non-profit association rather than a subsidiary of the largest software vendor on the planet. Unfortunately, the latest update to its terms of service seems to mark a first step in changing one part I moved there for, namely the “freedom” part.

Human stupidity

Every project I’ve published so far was built with 100% human stupidity rather than “artificial intelligence”, or, more accurately, LLMs. I don’t hold particularly strong feelings about Codeberg banning projects that are predominantly LLM-driven, at least not feelings as strong as the ones I hold about the simultaneous ban of legitimate cryptocurrency projects, which reads as though it got lumped in for no reason other than that most people still remember the villain-du-jour that crypto was in the years before LLMs took that title. The two clauses landed within days of each other, the LLM prohibition on the 29th of June and the cryptocurrency prohibition on the 2nd of July, both as Assembly 2026 proposals, and the terms now file the latter under, of all things, “content that harms the reputation of Codeberg”, which sounds like legalese for “we don’t have a solid reason or an actual number of bad precedents to categorically ban it”.

The announcement blog post, however, reads very poorly, and the section titled “The development team of none” is the worst of it. It states:

Using LLMs to work with your code gives you a kick of adrenaline. You can develop at a rapid pace, build things as if you had a large team. Only that you have none. In fact, you are (often) alone, working with a statistical machine that turns energy into code.

And, a little further down, it says:

It seems like many ‘vibe coders’ don’t realize that they don’t actually have a community around them.

This is out of touch with how most free software gets made. The majority of FOSS developers are one-man-shows, and the only cOmMuNiTy they have around them are the users requesting features or reporting bugs while most of the time not contributing in any form whatsoever. I’ve been publishing silly little tools for decades, predating this website and even GitHub itself (remember when SourceForge was the hot sh.t?), and not one of them has ever had an actual “community” around it, at least not in the romanticized sense that Codeberg paints in that post. I’m a lone wolf who codes everything by hand and spends an absurd amount of time doing exactly that, and the notion that an LLM is the thing separating a real project with a real community from a fake one does not hold up once you look at how the average useful little tool on any forge comes to exist in the first place.

It’s frankly a bit snotty of Codeberg to make this argument at all, considering that the platform effectively lives inside the Forgejo bubble, and Forgejo mutinied inherited its community of active contributors from Gitea, who had spent the better part of six years building that community before Forgejo even existed. A project that acquired its own community by hard-forking someone else’s, then turned around to lecture solo developers about not having one, is a difficult position to argue from with a straight face.

In addition, Codeberg conflates “having a community” with “being legitimate software worth hosting”, when the bar for a personal project has always been a working build, ideally a license, and maybe a README, and not a channel full of contributors. A good deal of what makes the small, single-author tool ecosystem worth having is precisely that it doesn’t need a community to justify its existence, and a forge whose entire selling point is hosting the code of individuals is an odd place to argue the opposite.

Censorship

The part that bothers me isn’t the specific ban on LLM projects, or the specific ban on cryptocurrency projects. It’s that a hub built around “free software” is now telling its users which kinds of software are deemed good and which are not, and that is closer to censorship than it might seem. Once a platform writes into its terms that an entire category “harms its reputation” and can be removed on that basis, the deciding factor stops being whether the code is legal, or functional, or useful, and becomes whether it aligns with a position the platform has taken. I would argue that a significant share of the projects caught by a blanket ban of that kind are legitimate software rather than vibe-coded slop or sh.tcoin implementations.

Every platform I can think of that took this approach became divisive the moment it started enforcing an ideology on its users, whatever that ideology happened to be, and however justified it looked at the time. The mechanism is always the same, where a real problem shows up, an unpopular category becomes the obvious culprit, the platform bans the category instead of addressing the problem, and that ban then becomes the precedent for the next category, and the one after that. The category that is uncontroversial to ban today is the reason the mechanism exists tomorrow, and the users who applauded the first ban rarely get asked about the second one.

I do acknowledge that both categories aren’t free of problems. LLM-driven repositories do strain infrastructure, do generate unmanageable volumes of low-quality issues and pull requests, and do carry real questions about copyright and code provenance, all of which Codeberg names in its post. The cryptocurrency space, in turn, might have produced more outright scams than almost any other corner of software. However, a categoric ban on the villain-du-jour is not a solution to any of that.

We now even have people like Linus Torvalds making the fairly reasonable argument that an LLM is just a tool, and “clearly a useful one”, with a legitimate place in Linux kernel development when it’s used carefully and its output is held to the same standard as everything else. If the maintainer of the largest and most consequential open-source project on the planet can treat LLMs as a tool to be judged on its results rather than a category to be banned on sight, a backyard code forge can manage the same.

I, too, am worried about the impact of LLMs on tech, and on society in general, going forward, and I’d guess I’m about as worried as whoever wrote Codeberg’s policy. I just don’t believe that banning content, which is very much what this amounts to, is the way forward.

Reasonable solution

What I wish Codeberg had reached for is a solution that treats the actual problem, which by their own account in that same post is resource consumption and the infrastructure cost that comes with it, as an actual resource problem. A change to the terms of service could have required authors to tick a checkbox declaring that a repository contains LLM-generated code, or is cryptocurrency-related, and those repositories could then be segmented onto a separate tier of infrastructure that doesn’t get the same resources as everyone else. A tier that carries specific quotas, and that might require the author to pay for what they consume. Declaring the truth honestly would (at least at first) cost nothing, and failing to declare it, then getting caught, could be met with exactly the permanent, immediate ban that Codeberg is now applying to entire categories from the outset.

Similarly, projects that carry the LLM or Crypto label could carry automatically displayed disclaimers that explicitly state that Codeberg is in no way responsible for the quality or correctness of this specific repository. Heck, they might even go as far as to blatantly state that Codeberg does not approve of the use of LLMs or Cryptocurrencies in those warnings, to make extra-extra-extra sure that people get it and that there is no “reputational risk” for Codeberg.

An approach like this puts the cost of resource-hungry projects onto the people creating them, and it keeps the shared resources for the projects that were the reason the platform exists. All of that without Codeberg having to decide which categories of software are ideologically acceptable in the first place. The “we ban everything upfront that we don’t agree with” approach is the wrong signal to send, and it is a very slippery slope.

Despite not owning a single project that falls into either banned category, I’m now going to look into setting up my own public Git host, and I’ll move off Codeberg only a few months after moving there, because of this. Not because of the bans themselves, but because I don’t want to depend on a platform that rewrites its terms of service on a whim, without properly announcing that the change was even under consideration, and without giving its users a way to weigh in.

The decisions did go through Codeberg’s own Assembly 2026, which is more process than most platforms bother with, and yet as an ordinary user I found out about it the way probably most people else did, through a dark blue banner at the top of the site on the day it was already settled. While I appreciate the info about the ToS change, I wish I’d gotten a banner back when the platform was still deciding whether to go down this road, and I wish it had linked to a discussion thread, or at the very least a poll, so that I could have voiced the concern I have, which is about the freedom of the platform as a whole, rather than about any single category that ended up banned.

联系我们 contact @ memedata.com