GitHub to Codeberg: my experience
(eldred.fr)343 points by todsacerdoti 3 days ago
343 points by todsacerdoti 3 days ago
This is partially being addressed by projects like https://tangled.org. It's built on the same protocol as bluesky, meaning your identity is preserved across different platforms so that _where_ your git is hosted is unrelated to how you discover and connect with others.
FWIW, Forgejo (Codeberg) is also building federation capability [0].
[0]: https://codeberg.org/forgejo-contrib/federation/src/branch/m...
Unfortunately it's most ActivityPub-oriented, right? Which means no name portability. That's a major shortcoming compared to an AT protocol-based thing like Tangled appears to be.
If only we could use something like a gpg key as our identity. Maybe if it had a mechanism to share and revoke keys, upgrade them, cross-sign them with others to develop some sort of like trust system that was web-like. I bet we could like build a whole infrastructure around it to maintain developer identities in a completely decentralized way.
Has any detailed comparision been done between tangled, codeberg and github?
My primary pain point with Codeberg has been that the issue search is worse, so that there are cases where I'm rather certain than issue exists-- because I've triaged it in the past-- but it's hard to find with the keyboard search. Hopefully that can be improved soon.
There were some times were Codeberg's general performance was noticeably worse, but most recently it has been fine.
If you thinking of migrating a project with hundreds of issues, I would do a test migration and practice a few different searches to test the result quality.
And just sheer amount of documentation and examples out there. Everyone uses it, therefore everyone writes about it, the new hire probably knows it, and if they don't they can find it easily.
Then again maybe for stuff like actions and in general CI/CD it's not all that bad, you don't need whole team to know exactly how to write it, you just need to have a person knowing it. and it's generally not all that hard to learn.
This is why CI should be separate from code repository storage and that should be separate from your collaboration tools. They all can speak git if you want.
> This is why CI should be separate from code repository storage
Maybe, but for any complex project you get stuck with dependencies between various code branches and various CI repo branches anyway, so I’m not sure how much easier it really is to manage that complexity rather than just putting the CI code in your repo so that the CI dependencies are explicit.
> Then again maybe for stuff like actions and in general CI/CD it's not all that bad,
CI/CD on github has the npm problem - a lot of tiny stuff gets wrapped in actions people pull in from all over the place. Github does relatively fast deprecations, so actions need to be rewritten and updated even though there's no need for you - in this context I'd argue if it's not a security issue there's no need. So you end up with a lot of work just keeping the existing actions working - and overall would have less effort if you'd have just written your own actions - but not doing that is one of the selling points for github.
I might be biased as I've been doing complex CI/CD for close to two decades now - but github workflows _very_ quickly show their limits when you start seriously using them.
It feels like a <game theory> problem (Tragedy of the commons? First mover? I dunno them well enough). It’s probably a mistake for any one company to not pick GitHub, because it’s likely a higher friction distraction from what the actual goals are of the company. But enough companies paying that price ultimately would benefit everyone by fuelling stronger competition.
Maybe a coordination problem? https://en.wikipedia.org/wiki/Coordination_game
> Codeberg is a fork of Gitea, itself a fork of Gogs.
Codeberg is a website powered by Forgejo which is a fork of Gitea.
> Both forks originated for "philosophical" reasons, not technical ones
Gitea forked because one developer was the only owner of Gogs' repository and refused to share maintaining rights. The fork was more "practical" than "philosophical".
Forgejo forked when a leading developer secretly created a company with the trademark of Gitea and its logo. The fork was to gain back control over the assets of the project (name/trademark, logo, etc.).
That's the reason I don't want to jump on the Codeberg bandwagon just yet, although I'm very interested into self-hosting Forgejo.
I'd love to see something else though, a way to have repositories discoverable across all possible centralized or self-hosted services out there. What I actually do love about GitHub is that from time to time it manages to find for me some quite interesting projects and people to check out.
Codeberg will use the forgejo fork that keeps being free, I guess.
I've noticed that several projects on the front page today (and over the past few days) are migrating away from GitHub.
Is there any recent event or broader trend that explains this shift?
Ongoing availability issues, Microsoft's shoehorning of AI, GitHub's focus on migrating to Azure infrastructure rather than adding features and fixing shortcomings. If I had to guess.
Most people don't care about the AI being trained on their FOSS repos. If they did, they would have mass migrated when Microsoft announced it. The timing suggests that the downtime and the performance issues are definitely the irritants here.
This is not to say that people shouldn't care about AI training. I was disappointed by the public response when they announced it. The GH ToS has conditions that allow them to use your code, overriding its license. Even worse, that still applies if somebody else mirrors your code there from some other forge. And they don't stop at that. I have noticed that they just scrape off code from source registries like crates.io in the name of security. I would be surprised if they didn't use that too for training their AI.
I personally expected the AI stuff to be a fad that would go away quickly, and thus didn't get out the second they did that (for the same reason that distro-hopping is unhealthy). It's more a symptom of the frog recognising that okay yeah the temperature's grown definitely too high.
Zig’s announcement[0] might provide some insight
[0] https://ziglang.org/news/migrating-from-github-to-codeberg/
My guess is it's a Summer of the Shark-esque phenomenon. https://en.wikipedia.org/wiki/Summer_of_the_Shark
I suspect GitHub - and, to some extent, Microsoft at large - is going through something of a trust thermocline[1] event right now. There's been frustration brewing with GitHub as an open source platform for a while, but not enough for any one project to leave by itself; but over time enough has built up that various projects decided they had the last straw, and it's getting to be a bit viral via the HN front page.
I think it remains to be seen how large this moment actually is, but it's something I've been thinking about re: GitHub for a while now. Also, I suspect the unrest around Windows' AI/adware enshittification and the forced deprecation of Windows 10 are casting a shadow on everything Microsoft-ish at the moment, too.
[1] The original Twitter thread that brought this up as a concept is https://threadreaderapp.com/thread/1588115310124539904.html. This is in the context of digital media outlets, but I think it's easy to see how it can apply more broadly. There are some other articles out there for the searching if you're interested.
https://sfconservancy.org/GiveUpGitHub/ Slightly outdated. Of course the root problem is Microsoft.
The new focus of GitHub is to harvest data for AI.
Everything else not important to them.
Honestly, I've been trying to cut down on the number of Microsoft development tools in my workflow because they are so drunk on the AI Kool-Aid that it's affecting the usability and reliability of their products in pretty much every other respect.
I don't really have a choice but to use Windows and Visual Studio 2022 for work, but I've dusted off my Sublime Text license and have been eyeing migrating my personal repositories to Codeberg.
Does Codeberg provide free CI runners? I'd estimate Microsoft spends over $100m/year on free Github CI. Likely their biggest cost. It doesn't seem like a reasonable thing Codeberg to fund for free.
The article quotes from Codeberg,
> Running CI/CD pipelines can use significant amounts of energy. As much as it is tempting to have green checkmarks everywhere, running the jobs costs real money and has environmental costs.
Honestly I think the mention of environmental costs has likely made users hesitant to sign up. Mentioning it costs real money is reasonable. Mentioning the environmental costs is not; the environmental harm is equivalent to the population buying a few dozen extra cars, which can easily be influenced by random marketing decisions by automakers and dealers.
In my experience reprimanding tech savvy people for the environmental costs of compute just doesn’t work. It’s far better to rephrase things into performance optimization problems, which naturally pique engineers’ interest.
Is it really that low an impact? A lot of the work performed in CI is duplicated (`apt update && apt install texlive-full` f.ex.), and thus there'd be a benefit to running it less often.
Consider also https://openssf.org/blog/2025/09/23/open-infrastructure-is-n... :
> Automated CI systems, large-scale dependency scanners, and ephemeral container builds, which are often operated by companies, place enormous strain on infrastructure. > These commercial-scale workloads often run without caching, throttling, or even awareness of the strain they impose.
...which implies that the load isn't negligible.
I followed the documentation here: https://woodpecker-ci.org/docs/administration/configuration/...
They do, but their capacity is limited so you have to ask them for access and make a reasonable case.
Been a while since I applied, but when I did the "reasonable case" was mostly just your repo being FOSS and having a license file (+ a very vague description of what you plan to do and how much resources you'll use)
Are there any alternatives to Github that offer similar bang for the buck? Particularly for very small teams or solo devs that need private repos? The author here specifically mentions Codeberg, which seems like it's just for FOSS projects.
You can self host the software underlying Codeberg, which is Forgejo. Then there is also GitLab which has a lot more features but is arguably more intensive to maintain. And then there is the long tail, such as the projects Forgejo was forged from (Gitea and Gogs) and various other FOSS forges e.g. Phorge which was forked from the now discontinued Phabricator.
That’s interesting. I would have said the opposite. I’ve never used any of the social features, but the technical aspects (including integrations) are where the value is.
It does break and go down; and GHA are a real pain in the ass. But the basic hosting and PR workflow are fine.
The site UI has been going downhill these years. It's become heavy and slow, and the buttons are more and more randomly placed. Like after you search for something in the repo, to go back to the repo front page you needed to click on the most unexpected button.
It's still getting things done, for sure, but no longer pleasant to work with.
I think Github has a nice UI.....when the contents finishes loading.
That's the real problem with Github these days. Too much critical information behind throbbers that take their sweet time. I find Codeberg much more responsive, despite being an ocean away and having the occasional anti-AI-scraper screen.
Some competitors like Gitlab have reduced friction by offering "Login with Github", so if you've already got a Github account, the bar for signing up some alternative forges is low.
I help with one of the most popular projects on Codeberg, Fuzzel. I can say we get no shortage of issues and feature requests from being on an alternative forge. Indeed, we have plenty!
sourcehut is a product that feels like it was just built for me and what I care about, I absolutely love the design. But it's tough to use for a team that isn't building open source software. Your teammates will probably be perplexed by the UI because it's so different. The tooling for sending and receiving patches is quite poor, there is no decent GUI email client with patch support. There's also no organization support or ability to apply principle of least access like with a codeowners file.
> In particular, unless it is explicitly mentioned in the README, it isn't at all clear how to report a bug, or submit a patch, or view relevant mailing list archives.
Those are meant to be mentioned in the README. Each of sourcehut's parts including the repo frontend, project page, mailing list, task list, documentation pages, etc are independent. There is no predefined way in which these are associated with each other like on GitHub. For example, I use a single mailing list for all of my FOSS projects.
Stick with Github if it solves your problem. No particular reason to move off, only reasons I've seen so far is "don't like Microsoft" and "Don't like the UI". But overall, GitHub is the leading tech in this space. For FOSS, I can see why some may want to move off, but for commercial work, it's great. Seems to be a bit of a bandwagon of articles of people moving off hitting hackernews (which in reality represents a tiny percentage of users), no need to hop on the bandwagon unless you have some compelling reasons for something else.
GitLab. There's also the option of self hosting it on a cheap server if you don't like cloud services.
Unfortunately, GitLab is no longer Fit for Purpose since it caps the maximum size of Merge Requests (aka PRs), and anything over that size just isn't shown in the Merge Request.
This bit us recently at my work where there was an important MR needing review, and over 1/2 of it couldn't be viewed in the GitLab web interface by any means.
It's a (mis) "feature" they're aware of, and have no plan to fix before 2027 at the earliest.
Needless to say, we're migrating off it and recommend others do the same.
I looked into this recently. But came up with.. nothing that worked me.
I think I was looking for something like Migadu[1] for git hosting. Cheap, private and for personal use. The best option is probably to self host.
I tried to fish out some ideas with an ASK HN thread but it did not get any attention: https://news.ycombinator.com/item?id=46011054
I have started putting my new stuff in Codeberg. Some of the private projects have manually update private mirrors on GCP (free so far).
Gitlab is pretty good, plus you can self host it if you really want. It's an interesting company too, they're 100% remote.
Sourcehut [1] is another interesting one.
I have to interact with bitbucket on a daily basis. My advice is not just "no" but "heck no."
Bitbucket is slow to push to and pull from. From a reliability standpoint I have far more issues with Bitbucket than Github. The web UI feels completely off in a way that's hard to describe if you've never used it - it's like it was created as an afterthought or a skin on an older system, without any sort of craftsmanship behind it. There's also no source code search.
There's probably more, but quite honestly I try and stay out of the web interface of my bitbucket repos as much as humanly possible, so I shall stay happily ignorant of the rest. It's a shame, because I remember Bitbucket when it was the Github for Mercurial with a decent (if derivative) interface, and they allowed you to have private repositories without paying money.
Now, Bitbucket no longer supports Mercurial and Github gives you private repositories. Given those realities, why anybody would ever choose Bitbucket in TYOOL 2025 is beyond my ken.
<s>There's nothing about Codeberg that's FOSS only afaict.</s>
This was incorrect, I misread the changes to the TOS.
https://codeberg.org/Codeberg/org/pulls/1219 Not true anymore.
The author‘s reasons seem sensible (https://eldred.fr/blog/codeberg/)
But I'm sort of disappointed the end result doesn't seem like it's any better for users? (not blaming the author)
The benefits for the maintainer are also mostly philosophical... Which is a shame
I just tried Codeberg
- I get constant "Making sure you're not a bot!" anime girls
- The login with Github is hidden behind a minuscule drop down arrow. Seemingly intentionally obscured.. either have the option clearly, or don't have it at all..
- the format is identical to github with zero improvements to layout. It still has the README at the bottom, where you have to scroll past a billion files to even see what the project is about. Ex: https://codeberg.org/dnkl/foot Why not just make the README the landing page, and then the file tree a separate tab? Or some horizontal side-by-side layout
Blindly copying the market leader and offering nothing new .. just doesn't seem like a winning strategy? It either indicates a lack of imagination or initiative. This space has some very clear room for improvements..
> I get constant "Making sure you're not a bot!" anime girls
That's Anubis:
There is an unbranded version available, allowing image customisation under a paid tier:
https://anubis.techaro.lol/docs/admin/botstopper
The only other one I've seen deployed out there in any wide capacity is Cloudflare's.
Makes sense that Codeberg favoured an open and non-centralised solution.
> Blindly copying the market leader and offering nothing new .. just doesn't seem like a winning strategy?
You might just not be the target audience - I moved my project over to codeberg a few months ago[0]. In all honesty, I haven't really been happy with github for a while - as a user experience I think it's pretty solid, but it's been pretty increasingly more hostile towards the open source community (for example ignoring maintainers who explicitly don't want AI trained on their code etc), and I don't particularly like the idea of a single location/failure-point that almost all open source code is hosted on.
That's a long way of saying, I'm not looking for any changes to the market leaders features / layout - something that's a direct equivalent to github, but without the issues github has, is exactly what I'm looking for! Other people I've spoken to who've switched to Codeberg has said the same.
Following leader's GUI is not a choice, I feel like you never did such endeavor as building an alternative to a well-known software in it's way to enshitification : people will ask and complain if the alternative is too far from their comfort zone.
The good part is that if you have better solution you actually can suggest a PR and/or implement it for yourself.
The bot verification is not specific to Forgejo/Codeberg a lot of Foss project and organization use this method to avoid unnecessary bot traffic. I understand the issue you have with it but the problem is way larger than codeberg here.
Also about the login with GitHub button would be immensely annoying for the community : you came from GitHub and you might think that your experience is more important but as this is community driven and not a business the people actually creating and using the software don't need nor want to prioritize such button but leave the option for those who wants it, which is very nice of them. Eventually if the majority start thinking a GitHub login is preferred an issue can be created and a change made in that direction.
codeberg is supposely noscript/basic (x)html browser friendly, IPv6 too, I guess. microsoft github broke slowly and surely all interop with classic browsers (now you must have a "whatng" cartel web engine to even post an issue).
(I was told that codeberg may have dropped noscript/basic (x)html interop, which would make it no more interesting than microsoft github or whatng gitlab)
codeberg people have to be careful and acknowledge the following: expect shadowpaid hackers to ruin it because you are stepping on big tech toes. 99% of the time you will spend on codeberg will have to be to protect it and to keep it available, 1% (if not less) will be forge coding.
I migrated a while ago.
typedload was the most difficult because I test it on multiple versions of python, but woodpeckerCI does its job so I can still run the tests even after the migration.
For the other projects I have I didn't bother to set up a CI since it's trivial to run locally.
Any experience with Codeberg + F-Droid after migrating from Github? I.e., is it possible to have F-Droid auto-detect releases on Codeberg like it does on Github?
https://sfconservancy.org/GiveUpGitHub/
https://ziglang.org/news/migrating-from-github-to-codeberg/ for some more fresh ones.
I kind of wish there was a better collection of these.
I lost what little respect I had for Codeberg when they tried to spin a teenager exploiting an opportunity to spam/troll[1] that GitHub had solved several years prior[2] into "hate campaigns from far-right forces" that "endanger free/libre software projects" so they could toot their own horn at how good they were in the face of adversity[3] (and generally have a good moan about the right-wing) instead of admitting they should've seen this coming and prevented it happening in the first place.
[1] https://codeberg.org/Codeberg/Community/issues/1786
[2] https://news.ycombinator.com/item?id=31627061
[3] https://blog.codeberg.org/we-stay-strong-against-hate-and-ha...
> Running CI/CD pipelines can use significant amounts of energy. As much as it is tempting to have green checkmarks everywhere, running the jobs costs real money and has environmental costs.
> Unlike other giant platforms, we do not encourage you to write “heavy” pipelines and charge you for the cost later. We expect you to carefully consider the costs and benefits from your pipelines and reduce CI/CD usage to a minimum amount necessary to guarantee consistent quality for your projects.
So much pretentiousness
If they were genuinely just attempting to "troll" by spamming (which is a pretty lame thing to do to begin with), they wouldn't have had to use a racist slur in their message. The fact they did makes their intent pretty clear.
If a project taking a stance against people spamming the n-word makes you lose respect for them, that says a lot more about you than the project.
Trolling is trying to piss off as many people as possible, using such a word achieved exactly that.
Do you really think a teenage internet troll who wants to offend as many people as possible would stop and think "You know what, I sure do love pissing people off but I draw the line at 'NIGGER BALLS'"?
> If a project taking a stance against people spamming the n-word makes you lose respect for them, that says a lot more about you than the project.
They weren't "taking a stance" against spam, they were claiming that FOSS itself was in danger due to a non-existent far-right campaign against them.
Why should Codeberg be held to a higher standard than GitHub?
I have once migrated my repositories to Codeberg, but have moved back to GitHub.
While I despise a lot of features on GitHub, Codeberg is sadly lacking the gravitational pull and visibility. I know, someone has to start, but as a single maintainer I need collaboration to keep the projects alive.
I've been watching and seeing a lot of movement towards tangled.sh at https://tangled.org (atproto based Git)
What really stands out to me in this migration story isn't the technical side at all, but the reminder that "feature parity" isn't the real hurdle here. Codeberg is already good enough for most day to day workflows; what it doesn't have is the gravitational pull GitHub built through network effects, integrations, and plain old inertia.