On my migration from GitHub to Codeberg
I think my first introduction to Codeberg was about 1.5 years ago, when it was mentioned by a CCC talk. If I remember correctly, the presenter was mainly concerned with Microsoft’s acquisiting and involvement of GitHub. Having used GitHub since 2015, before it became part of Microsoft, I did not see an immediate need to act: it suited my purposes just fine and I did not feel that strongly about the politics involved.
Just in case though, I decided to make a Codeberg account. My main motivation at the time was to ensure my GitHub handle was secure, but as time went on I decided to experiment a little. I was amazed with the speed of the website: it all felt very snappy! I was well-used to GitHub by then, having used it for the last decade or so, and this new experience was quite nice. I decided to use it for a small private repository, just to see how that went.
The first big changer of my stance towards GitHub was that my employer decided to go all in: the entire code repository was moved to GitHub along with all the build pipelines, pull requests and partial issue tracking. Suddenly GitHub felt “work” to me. I made a separate GitHub account for work-purposes, but the damage was already done: GitHub-tagged emails were suddenly a nuisance rather than something to look forward to.
As time went on, I decided to mirror all my GitHub repositories to Codeberg. It felt good to have an independent place to host them. All of these copies were marked as “Mirror” to highlight that this was not their primary location, but I made sure to push any changes to both GitHub and Codeberg. I noticed that GitHub start showing more and more errors and problems, whereas Codeberg was being snappy and responsive as always.
Then the second big changer came, the extreme focus on AI. I’m sure AI is useful and can help in the right circumstances, but AI was everywhere. And my employer started pushing strongly for AI usage, based on what GitHub and other vendors had to offer. As time went on, writing code felt less and less… fulfilling. It was just work. And GitHub was in the center of that.
So I decided to simply leave GitHub. I made the concious decision to move all projects to Codeberg, rather than having the mirrored. For the more popular projects I created a README stating where the project has moved to, all others I just deleted from GitHub. And that was it.
As a final thought, this migration happened before Codeberg published a blog article describing a new policy on LLM/AI (you can find the specific change here). Regardless, I think we should all be considerate of the resources we are consuming: by considering where we are hosting projects, by thinking criticially about out LLM/AI usage and the like.