DEV Community

Heapstack
Heapstack

Posted on

Moving from GitHub to Codeberg(Forgejo)

NOTE: This post is written from a private developer perspective, not that of my employer.

I've started migrating my active projects from GitHub to Codeberg.
Codeberg is a European open-source alternative that overall resembles GitHub—a code collaboration platform.
I'd been considering it for a while, and now that it's almost done, I wanted to share my thoughts.j

Why?

One thing I've increasingly felt about GitHub is that they ignore basic, important developer features while prioritizing other unrequested ones.
What I miss includes fast-forward merges for linear history, rebase-only repos, SHA256 support, and AsciiDoc rendering that's still missing or broken.
The whole markup rendering is a mess with uneven support for different formats.
Full token security has been requested for a long time, yet we still have to use old, insecure Classic tokens for publishing packages (fine-grained tokens aren't done).
Many solutions end up 80% done and then seem to stall.
Maybe it's telling that the open source parts, like the GitHub markup repo, seem abandoned.
There are issues sitting for years, and the commit history shows no steady stewardship.
Overall it feels like GitHub has, in some areas, stopped prioritizing developer community needs and technical excellence.
Much of GitHub is historically good too, of course, but I expect far more technical drive and listening to the developer community from such a widely used global service.

But not only that—lately I've also been thinking more about how important digital sovereignty is; no surprise, given the crises around us.
GitHub is under US law, which has unfortunately become a liability.
The idea of developers being cut off from their projects because of "tweet-of-the-day-and-it's-consequences"-politics is no longer far-fetched.
Developers have historically been banned from the platform in regards to US sanctions.
My, and many other developers', trust in US data services was already damaged by the stories of FISA702 and the NSA way back, and it hasn't grown stronger in recent years, in particular the two latest ones.
Against that backdrop, supporting an initiative in Europe, under EU law, feels both motivated and straightforward.

So, if not GitHub, what then?
I looked around.
GitLab?
I also like GitLab a lot and have used it for years at work and privately.
It's partly open source, which is better than GitHub's total black box.
But I wanted something European, more community-driven—something where I could fix a feature myself if the platform didn't.
Sourcehut?
No—too bare-bones.

The choice fell on Codeberg.
Codeberg is run by a non-profit foundation that runs on the open-source project Forgejo.
You can self-host components like runners, you can contribute solutions and future directions, and the foundation is EU-based.
It's not just another "GitHub" clone.
For example, they're working on adding federation support.
Forgejo is written in Go, and it shows—the platform feels snappy and fast.

I started moving my projects over.
Transferring code, features like Pages, and Renovate was fairly easy.
Setting up more advanced CI flows required extra work, partly because there are still unresolved issues.
You also have to set up your own runners (I used Podman-based ones).
While Forgejo Actions are similar to GitHub Actions, there are some differences in how they work.
So expect to miss features you're used to having from GitHub Actions and maybe GitLab CI.

Sure, the goal is probably not for Codeberg to reach feature parity with GitHub and others, but as an end user every such feature helps me migrate.
So personally I hope they get even closer to parity.
That doesn't rule out solving the same user needs in even better ways.

I will still work on GitHub, and will keep contributing to projects there, both for myself and for my job.
My point is simply that it’s worth thinking about who owns FOSS infrastructure and who controls it sometimes.
If there are equivalent alternatives, maybe choose them instead.

Conclusion:

If you're a tech-minded individual with accounts or projects already on GitHub, GitLab, etc, I'd definitely say—give Codeberg a shot for your projects.
Set up a Runner and get started.
If you're an organization, I'd suggest waiting until some of the missing features are resolved (or maybe better, start to fix them).

PS Here's a post about the rough edges I hit during the migration:

Relevant References

Top comments (0)