HN Debrief

Ask HN: Alternatives to GitHub

  • Developer Tools
  • Open Source
  • Infrastructure
  • Programming

The post asked a simple question after repeated GitHub incidents: should teams switch? The useful answer was “switch to what problem you are actually solving.” If you only need remote Git storage, a bare repo over SSH is enough. If you need a full forge with pull requests, issues, permissions, and CI, the main paths split between self-hosted GitLab, lighter self-hosted options like Forgejo or Gitea, hosted community services like Codeberg, and more opinionated alternatives like SourceHut, Tangled, Radicle, or Fossil.

Treat GitHub outages as a resilience problem, not just a vendor gripe. Audit how much of your workflow is welded to GitHub-specific CI, apps, and community traffic, then decide whether to self-host, mirror to a second forge, or fully migrate based on that dependency map.

Discussion mood

Frustrated with GitHub’s outages and AI-heavy product direction, but not naive about the cost of leaving. The mood favored self-hosting or mirroring, with strong enthusiasm for Forgejo and Gitea, tempered by realism that GitHub’s integrations, contributor funnel, and account ubiquity are still hard to replace.

Key insights

  1. 01

    Self-hosted GitLab trades cloud outages for planned toil

    Running your own GitLab is not carefree, but it changes the failure mode from random vendor incidents to maintenance you schedule yourself. The key win is operational control. Several firsthand reports said even with awkward upgrades, security patch churn, and runner babysitting, total downtime stayed lower than GitHub because upgrades happened at chosen times and snapshots or backups made rollback straightforward.

    If Git service availability is business-critical, compare unplanned GitHub downtime against the staff time to own upgrades and backups. For a team under roughly 100 people, self-hosting can be rational if you already have people who can respond to infrastructure issues.

      Attribution:
    • plqbfbv #1 #2
    • cortesoft #1
    • znpy #1
  2. 02

    Forgejo wins on speed and simplicity

    Forgejo stood out because it feels close enough to GitHub while staying light enough to run almost anywhere. People described moving personal or small-team work onto a cheap VPS or homelab with backups and getting a much faster interface with very little maintenance burden. That makes it the default recommendation when the problem is 'I want GitHub without the bloat' rather than 'I need every enterprise feature GitHub has accumulated.'

    If your org mostly needs code hosting, pull requests, and basic automation, pilot Forgejo before jumping to GitLab. It is the lowest-friction way to test whether self-hosting solves your actual pain.

      Attribution:
    • polycaster #1
    • sandcat_ #1
    • jm4 #1
    • rvz #1
    • beanjuiceII #1
  3. 03

    GitHub’s moat is identity and contributor flow

    The hard part of leaving GitHub is not moving repos. It is losing the default place where contributors already have accounts, know the UI, and can file issues or PRs without creating yet another login. That same network effect also reduces maintainer overhead because notifications, dashboards, action reuse, and project discovery all live in one place. For maintainers embedded in multi-project ecosystems, splitting across forges can double the busywork.

    Before migrating an open source or partner-facing project, measure how much traffic comes from casual issue filers, drive-by contributors, and GitHub-native discovery. If those matter, keep a GitHub mirror or public presence even if your source of truth moves elsewhere.

      Attribution:
    • als0 #1
    • shimman #1
    • rhdunn #1
    • Pxtl #1
    • hinkley #1
  4. 04

    Decouple CI before you move forges

    Many migration headaches were self-inflicted by binding too much logic to GitHub Actions or forge-specific pipeline features. The better pattern is to keep CI thin and push real build logic into scripts or the build system itself. That makes Forgejo, Gitea, GitLab, Buildkite, Woodpecker, or even a GitHub Actions replacement like Preloop much easier to swap in. Several comments also argued that Actions-style CI has grown an unnecessarily huge attack surface and operational footprint.

    Refactor your pipelines so the CI layer mostly invokes checked-in scripts. That one cleanup step reduces lock-in whether you stay on GitHub, add a mirror, or migrate entirely.

      Attribution:
    • cobertos #1
    • Arrowmaster #1
    • zdgeier #1
    • Bnjoroge #1
    • woodrowbarlow #1
  5. 05

    The missing layer is portable issues and PRs

    A few of the most forward-looking comments argued that centralization hurts because the valuable collaboration data lives outside the repo. Git itself is distributed, but issues, pull requests, review state, and discussion are still trapped in a vendor database. Projects like Radicle, GitSocial, git-bug, and Epiq were raised as attempts to store or sync that metadata in a git-native or decentralized way, which would make outages and host switching far less painful.

    If long-term portability matters, do not only compare forge UIs. Track whether your workflow depends on proprietary metadata that cannot move cleanly, because that is where future switching costs will come from.

      Attribution:
    • gritzko #1
    • iamnothere #1
    • delf #1
    • sssilver #1
    • paularmstrong #1
  6. 06

    Codeberg is a policy choice, not just a hosting choice

    Codeberg drew interest as a hosted Forgejo instance, but several people highlighted that its value proposition is inseparable from its governance and moderation stance. The practical consequence is not just 'European non-corporate hosting.' It also includes restrictions around projects that mostly consist of AI-generated code and a generally more opinionated posture than GitHub. That is attractive to some users and a non-starter for others.

    Treat Codeberg like a curated platform, not a neutral drop-in host. Read its terms and policy stance before betting team workflows or commercial projects on it.

      Attribution:
    • bdlowery #1
    • cxr #1
    • rhdunn #1
    • dreamcompiler #1
    • godwinson__4-8 #1

Against the grain

  1. 01

    GitHub outages may not justify a migration

    A few people pushed back on the premise itself. From that view, GitHub has been annoying but not consistently unavailable enough to outweigh the compromises of moving, especially once you count retraining, integration churn, and lost ecosystem benefits. If the actual business impact is measured in minutes rather than days, a wholesale switch can be an expensive emotional reaction.

    Put numbers on downtime before launching a migration project. If outages are rare and your mitigations are cheap, mirroring and backup processes may beat a full platform move.

      Attribution:
    • keithnz #1
    • bfrog #1
  2. 02

    A different VCS can fit small teams better

    Some of the most opinionated alternatives rejected the idea that the answer must still be Git. Fossil in particular was praised for bundling source control, web UI, wiki, and issue tracking into one self-hosted binary, which makes it appealing for small, tight teams that do not need Git’s branching culture. The catch is obvious and severe. You are leaving the mainstream toolchain, not just changing hosts.

    If you are a small internal team with little outside contribution and want operational simplicity above all else, evaluate Fossil on its own terms. Do not consider it if compatibility with the broader Git ecosystem is important.

      Attribution:
    • shofetim #1
    • bigstrat2003 #1
    • 1970-01-01 #1

In plain english

CI
Continuous integration, an automated process that runs tests and checks when code changes are made.
Forge
A code hosting platform that adds collaboration features like pull requests, issues, permissions, and releases on top of Git repositories.
GitHub Actions
GitHub’s automation system for running workflows like tests, builds, or scheduled jobs in a repository.
Runner
A machine or process that executes CI jobs for a platform such as GitHub Actions or GitLab CI.
VPS
Virtual Private Server, a rented virtual machine used as a server on the internet.

Reference links

Alternative forges and hosting platforms

  • Forgejo
    The most frequently recommended lightweight self-hosted GitHub alternative.
  • Tangled
    A federated forge built on ATProto that drew interest for stacked PRs and self-hosting.
  • Codeberg
    A hosted Forgejo instance discussed as a non-corporate option for open source projects.
  • SourceHut
    Suggested as a deliberately low-frills alternative with strong CI.
  • Radicle
    Mentioned as a decentralized alternative that keeps collaboration working across hosts.
  • Worktree
    Recommended as a Canadian-hosted service for teams that care about sovereignty.

CI and workflow tools

  • Preloop
    Presented as a self-hosted or local drop-in replacement for GitHub Actions using microVMs.
  • Woodpecker CI
    Suggested as a simpler external CI option, often paired with Forgejo or Gitea.
  • Rocket Runner
    A hosted GitLab runner service proposed for teams that want GitLab CI without managing runners themselves.

Decentralized and git-native collaboration ideas

  • Replicated Live CRDT post
    Linked to argue that the forge layer above Git should also be decentralized.
  • GitSocial
    A git-native system for issues and PRs stored alongside the repo and hostable on S3-compatible storage.
  • git-bug
    Mentioned as a distributed issue tracker that works with Git repositories.
  • Epiq
    Raised as a git-native issue tracker with event-sourced state and both terminal and browser interfaces.

Non-Git alternatives

  • Fossil
    Repeatedly recommended as an all-in-one alternative for small teams willing to leave Git.
  • ChiselApp Fossil hosting
    Suggested as a hosted service for Fossil repositories.