Compare forges
Choosing a forge means more than comparing features: who owns it, which country’s law applies, and whether you can leave. This table sets those side by side, including the rows where neosource loses. It is proprietary, you cannot self-host it, it has no code search yet, and it is pre-alpha.
Checked on 5 November 2026 against each project’s own pages. Green is a strength, amber a partial answer and red a gap, by our reading. Grey italics mean we could not find it published; that is not a no.
| Who is behind it | neosource | GitHub | GitLab | Gitea | Forgejo | SourceHut | Tangled | Jujubi | args |
|---|---|---|---|---|---|---|---|---|---|
| Operator | Neosource ApS | Microsoft | GitLab Inc. | CommitGo, Inc. | Community, under Codeberg e.V. | SourceHut | Tangled Labs Oy | Sunkara, Inc. | Async Inc. |
| Governance | Private company | Part of a public company | Public company | For-profit holds the trademark | Non-profit umbrella | Private company | Venture-backed, €3.8M seed | Not published | Pre-seed startup |
| Big-tech dependence | None | Owned by Microsoft | Independent, runs on Google Cloud and AWS | Independent, Cloud host not published | None | None, own hardware | Independent, runs on Cloudflare and Google Cloud | Independent, hosting not published | Independent, runs on Google Cloud, Vercel, Cloudflare |
| Europe | neosource | GitHub | GitLab | Gitea | Forgejo | SourceHut | Tangled | Jujubi | args |
| Legal home | Denmark | USA | USA | USA, per its website terms | Germany | Netherlands | Finland | USA | USA |
| EU data hosting | By default: Germany, backups in France | Enterprise Cloud only | Dedicated or self-managed only | Frankfurt Cloud region, or self-host | Codeberg in Berlin, or self-host | Netherlands, encrypted backups in US | Core services in EU, some US providers | No, US servers | Not published |
| Open source | neosource | GitHub | GitLab | Gitea | Forgejo | SourceHut | Tangled | Jujubi | args |
| Free and open source | No, proprietary | No, proprietary | Open core: MIT, plus proprietary EE | Open core: MIT, plus paid Enterprise | Yes, GPL-3.0-or-later | Yes, AGPL, BSD and others | Yes, MIT | No published source | Yes, Apache |
| Self-hosting | No, hosted only | Enterprise Server, paid | Yes | Yes | Yes | Yes | Yes, knots and spindles | Not mentioned | Not mentioned |
| Features behind a paywall | None, plans differ in capacity | Yes | Yes | Enterprise only | None | None, but CI and chat need a subscription | Not published | Yes, SAML and merge queue lanes | Team private repos, planned |
| Maturity and scale | neosource | GitHub | GitLab | Gitea | Forgejo | SourceHut | Tangled | Jujubi | args |
| Status | Pre-alpha | Mature | Mature | Mature | Mature | Public alpha | Early | Alpha, waitlist | Early |
| Scalability | Designed for it, unproven at large scale | Proven at global scale | Proven at large scale | Multi-node HA in Enterprise | No documented HA setup | Small service | Federated, each knot scales alone | Not published | Not published |
| Code and review | neosource | GitHub | GitLab | Gitea | Forgejo | SourceHut | Tangled | Jujubi | args |
| Jujutsu (jj) | Over Git | Over Git | Over Git | Over Git | Over Git | Over Git | Native stacking | Evolog, branchless PRs | Not mentioned |
| Code review | Pull requests | Pull requests | Merge requests | Pull requests | Pull requests | Email patches | Pull requests | Pull requests, interdiffs | Stacked-diff reviews |
| Stacked changes | Yes, within one repository | Yes, all plans | CLI experiment | No | No | Patch series | Yes | Listed, not in alpha changelog | Diffs within a review |
| Merge queue | Yes | Org repos, private needs Enterprise Cloud | Merge trains, paid tiers | Auto-merge only | Auto-merge only | No | Not mentioned | Yes | Not mentioned |
| Code search | Not built | Yes | Yes | Yes | Yes | Per repository, via API | Repo search, code search on roadmap | Not mentioned | Not mentioned |
| Planning and delivery | neosource | GitHub | GitLab | Gitea | Forgejo | SourceHut | Tangled | Jujubi | args |
| Planning | Tickets, boards, cycles, triage | Issues and Projects | Issues and boards, epics are paid | Issues and project boards | Issues and project boards | Ticket trackers | Issues | Not mentioned | Bug tracker |
| CI | Actions YAML, Linux hosted runners | Actions | GitLab CI | Gitea Actions, mostly compatible | Forgejo Actions | builds.sr.ht, paid | Spindles, Nix-based | Existing config claimed, APIs planned | Planned |
| Container registry | Yes | Yes | Yes | Yes | Yes | No | Not mentioned | Not mentioned | Not mentioned |
| Static site hosting | Yes, including from private repositories | Yes | Yes | Via third-party server | Via separate git-pages server | Yes | Yes, Tangled domains only | Not mentioned | Not mentioned |
| Built-in AI | None | Copilot | GitLab Duo | None | None | None | None | None listed | None, by policy |
| Pricing | neosource | GitHub | GitLab | Gitea | Forgejo | SourceHut | Tangled | Jujubi | args |
| Price | Free in pre-alpha, paid plans from €5/month planned | Free tier, paid plans | Free tier, paid plans | Free to self-host, paid Cloud and Enterprise | Free, Codeberg runs on donations | €4 to €12/month, required for CI and chat | Not published | Free, then from $10/user/month | Free for now |
| Private repositories | Yes | Yes | Yes | Yes | Self-hosted, or limited on Codeberg | Yes | Announced, not yet shipped | Yes, private only for now | Yes, free for now |
Reading the table
Section titled “Reading the table”- neosource puts planning, code and CI in one product, hosted in the EU and run without big-tech services. Its transactional email goes through Proton in Switzerland. See the privacy policy for every provider, and Project status for what works today.
- GitHub and GitLab are the mature options, with the widest feature sets and years of operation at scale. Both are US companies.
- Gitea and Forgejo are close relatives. Forgejo began as a fork of Gitea and became a hard fork in 2024, after Gitea’s trademark moved to a for-profit company. Codeberg is the main public Forgejo instance, and it is meant for free software, not private company code.
- SourceHut is built around email and patches, with no pull requests, and charges only for CI and chat.
- Tangled is a Finnish company with native jj stacking. It is open source and federated over the AT Protocol, so you can host parts of it yourself.
- Jujubi is a jj-friendly forge aiming for GitHub API compatibility, with 14 REST endpoints supported so far. It is in alpha behind a waitlist, so its column reflects what it says about itself; we could not try it.
- args, formerly gitdot, runs a Git server with stacked-diff review, plans CI, and rules out AI features.
Sources
Section titled “Sources”- neosource: Project status, Pricing, Privacy, Terms
- GitHub: data residency, stacked pull requests, merge queue availability
- GitLab: stewardship, merge trains, stacked diffs, Dedicated regions
- Gitea: Gitea Enterprise, terms, privacy, Frankfurt region, feature comparison, high availability, Actions, trademark
- Forgejo: compared to Gitea, Codeberg FAQ, Codeberg Pages
- SourceHut: pricing, privacy, git.sr.ht docs, 2024 status post
- Tangled: site, docs, seed announcement, source, privacy, sites, newsletter
- Jujubi: site, pricing, terms, privacy, changelog, API compatibility
- args: site, FAQ, privacy, source