Unterwaditzer's blog post deliberately targets 'lazy people' — developers who already agree with the reasons to leave GitHub but haven't acted. His guide treats the migration as a mundane task rather than a political statement, implicitly arguing that reducing perceived switching cost is the key to unlocking actual migration.
The editorial highlights that the post's 572-point HN score is significant precisely because it's a practical walkthrough, not a manifesto. When 'here's how to actually do it' outperforms 'here's why you should,' it signals the conversation has shifted from debate to action.
The editorial argues no single event triggered this wave. It's the accumulation of Copilot training on public repos regardless of license (with an unresolved 2022 class-action lawsuit), removal of telemetry opt-outs, and AI features treating public repos as training data. The underlying tension is hosting open-source infrastructure on a platform owned by a $3 trillion company with misaligned incentives.
The editorial positions Codeberg — a nonprofit association registered in Berlin running a Gitea-based forge — as the 'leading destination' specifically because it eliminates platform risk from a Big Tech parent company. The structural argument is that governance model matters more than feature parity when the concern is long-term alignment with open-source values.
A blog post titled "Moving from GitHub to Codeberg, for lazy people" by Markus Unterwaditzer hit 572 points on Hacker News, striking a chord with developers who've been quietly considering the same move but haven't gotten around to it. The post is exactly what the title promises: a no-drama, practical walkthrough for developers who want to leave GitHub without making it a weekend project.
The timing isn't accidental. Since Microsoft acquired GitHub in 2018 and subsequently launched Copilot — trained, at least initially, on public GitHub repositories regardless of license — a slow but persistent trickle of open-source maintainers have been evaluating alternatives. Codeberg, a nonprofit association registered in Berlin and running a Gitea-based forge, has emerged as the leading destination for developers who want git hosting without the platform risk of a Big Tech parent company.
Unterwaditzer's guide resonated not because it revealed anything technically novel, but because it addressed the real blocker: inertia. Most developers who object to GitHub's direction in principle haven't moved because the switching cost *feels* high, even when it isn't.
### The trust erosion is cumulative
No single GitHub decision triggered this wave. It's the accumulation: Copilot's training data controversy (still unresolved in court — the class-action lawsuit filed in 2022 continues), the quiet removal of the option to opt out of certain telemetry, the increasing integration of AI features that treat public repos as training fodder, and the general unease of hosting open-source infrastructure on a platform owned by a $3 trillion company with different incentives than its users.
The Hacker News score — 572 points — is notable not because it's the highest-scoring post ever about GitHub alternatives, but because it's a *practical migration guide*, not a manifesto. When "here's how to actually do it" outperforms "here's why you should" in engagement, that signals the conversation has moved past the persuasion phase into the execution phase for a meaningful cohort of developers.
### Codeberg's pitch is structural, not just ideological
Codeberg isn't just "GitHub but open source." It's a registered nonprofit (Codeberg e.V.) under German law, which means:
- No acquisition risk. A nonprofit association can't be bought by Microsoft, Google, or anyone else. Its governance is member-based. - GDPR-native. Hosted in the EU, subject to EU data protection law by default, not by policy choice. - No AI training on your code. There's no business model that requires monetizing repository contents. The funding comes from donations and grants. - Gitea-based. The underlying software is open source, so if Codeberg itself ever went sideways, you could stand up your own instance with the same data.
The CI story has also improved significantly. Codeberg now offers Woodpecker CI as an integrated service — it's not GitHub Actions, but for most open-source projects that run tests and build artifacts, it's sufficient. For projects that need more sophisticated CI, the real answer is that CI should probably be decoupled from your git forge anyway — a lesson the industry is slowly relearning after years of GitHub Actions lock-in.
### The network effect problem is real but overstated
The strongest argument against leaving GitHub has always been discoverability: contributors find your project on GitHub, stars signal credibility, and the PR workflow is muscle memory for millions of developers. This is a legitimate concern, and Codeberg proponents who dismiss it aren't being honest.
But the counterargument is worth examining. Most open-source projects don't get drive-by contributions from strangers discovering them on GitHub's explore page. They get contributions from users who already use the software and found the repo through documentation, package manager links, or search engines. For these projects — which is most projects — the forge URL is a bookmark, not a discovery mechanism, and swapping github.com for codeberg.org in that bookmark is trivial.
ForgeFed, the ActivityPub-based federation protocol for code forges, is the longer-term answer to discoverability across platforms. It's still early — Forgejo (Codeberg's fork of Gitea) has experimental federation support — but the architectural direction is toward a world where starring a repo on Codeberg and following a developer on a self-hosted Forgejo instance are interoperable actions. We're not there yet, but the foundation is being laid.
### If you maintain open-source projects
The migration path is genuinely low-friction. Codeberg's built-in migration tool imports repositories from GitHub including git history, issues, pull requests, labels, and milestones. The practical steps:
1. Import repos via Codeberg's migration UI (Settings → Migration). It handles the git history and metadata. 2. Update CI. If you're on GitHub Actions, you'll need to port workflows to Woodpecker CI (YAML-based, similar concepts, different syntax) or an external CI service. 3. Update documentation links. This is the tedious part — every README badge, every docs page that says "fork on GitHub," every package registry that points to your repo. 4. Set up redirects. Keep the GitHub repo as a read-only mirror with a prominent notice pointing to Codeberg. This preserves existing links and search engine juice while steering new contributors to the right place. 5. Update package registry metadata. npm, PyPI, crates.io — wherever your package lists a repository URL.
The "lazy" part of the original guide's title is earned: for a typical project with CI that runs tests and maybe builds docs, this is an afternoon of work, not a week.
### If you work at a company
This is a different calculus. GitHub Enterprise, GitHub Advanced Security, Copilot for Business, and the ecosystem of integrations (Dependabot, code scanning, secret scanning) represent real value that Codeberg doesn't replicate. For corporate use, the GitHub alternatives conversation is more about GitLab or self-hosted Gitea/Forgejo than about Codeberg specifically.
That said, if your company contributes to open-source projects that are moving to Codeberg, your developers need to be comfortable with the Gitea/Forgejo PR workflow. It's 95% identical to GitHub's — the concepts map directly — but the UI differences will trip people up for a day or two.
### If you're evaluating the landscape
The forge ecosystem in 2025 looks like this:
- GitHub: Still dominant. Network effects are massive. AI integration is aggressive and expanding. - GitLab: Strong for enterprise CI/CD. Self-hostable. But it's also a public company with revenue pressure. - Codeberg: Best option for nonprofit, community-governed hosting. Ideal for open-source projects that want structural independence. - Sourcehut: Minimalist, email-patch workflow. Opinionated. Small but dedicated community. - Self-hosted Forgejo/Gitea: Maximum control, maximum maintenance burden.
No single forge wins on every axis. The mature move is to treat your git forge as a replaceable commodity — keep your CI portable, your documentation forge-agnostic, and your contributor workflow documented.
The GitHub-to-Codeberg migration trend is a symptom of a broader shift: developers increasingly want infrastructure that aligns with their values and can't be rug-pulled by corporate strategy changes. The same instinct is driving interest in Bluesky over X, Mastodon over centralized social media, and Matrix over Slack. Whether Codeberg specifically becomes the long-term GitHub alternative or whether federation makes the question moot, the direction is clear. The developers who move now are paying a small tax in convenience for a large gain in sovereignty. For open-source maintainers especially, that math is starting to pencil out.
Top 10 dev stories every morning at 8am UTC. AI-curated. Retro terminal HTML email.