Skip to content

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 itneosourceGitHubGitLabGiteaForgejoSourceHutTangledJujubiargs
OperatorNeosource ApSMicrosoftGitLab Inc.CommitGo, Inc.Community, under Codeberg e.V.SourceHutTangled Labs OySunkara, Inc.Async Inc.
GovernancePrivate companyPart of a public companyPublic companyFor-profit holds the trademarkNon-profit umbrellaPrivate companyVenture-backed, €3.8M seedNot publishedPre-seed startup
Big-tech dependenceNoneOwned by MicrosoftIndependent, runs on Google Cloud and AWSIndependent, Cloud host not publishedNoneNone, own hardwareIndependent, runs on Cloudflare and Google CloudIndependent, hosting not publishedIndependent, runs on Google Cloud, Vercel, Cloudflare
EuropeneosourceGitHubGitLabGiteaForgejoSourceHutTangledJujubiargs
Legal homeDenmarkUSAUSAUSA, per its website termsGermanyNetherlandsFinlandUSAUSA
EU data hostingBy default: Germany, backups in FranceEnterprise Cloud onlyDedicated or self-managed onlyFrankfurt Cloud region, or self-hostCodeberg in Berlin, or self-hostNetherlands, encrypted backups in USCore services in EU, some US providersNo, US serversNot published
Open sourceneosourceGitHubGitLabGiteaForgejoSourceHutTangledJujubiargs
Free and open sourceNo, proprietaryNo, proprietaryOpen core: MIT, plus proprietary EEOpen core: MIT, plus paid EnterpriseYes, GPL-3.0-or-laterYes, AGPL, BSD and othersYes, MITNo published sourceYes, Apache
Self-hostingNo, hosted onlyEnterprise Server, paidYesYesYesYesYes, knots and spindlesNot mentionedNot mentioned
Features behind a paywallNone, plans differ in capacityYesYesEnterprise onlyNoneNone, but CI and chat need a subscriptionNot publishedYes, SAML and merge queue lanesTeam private repos, planned
Maturity and scaleneosourceGitHubGitLabGiteaForgejoSourceHutTangledJujubiargs
StatusPre-alphaMatureMatureMatureMaturePublic alphaEarlyAlpha, waitlistEarly
ScalabilityDesigned for it, unproven at large scaleProven at global scaleProven at large scaleMulti-node HA in EnterpriseNo documented HA setupSmall serviceFederated, each knot scales aloneNot publishedNot published
Code and reviewneosourceGitHubGitLabGiteaForgejoSourceHutTangledJujubiargs
Jujutsu (jj)Over GitOver GitOver GitOver GitOver GitOver GitNative stackingEvolog, branchless PRsNot mentioned
Code reviewPull requestsPull requestsMerge requestsPull requestsPull requestsEmail patchesPull requestsPull requests, interdiffsStacked-diff reviews
Stacked changesYes, within one repositoryYes, all plansCLI experimentNoNoPatch seriesYesListed, not in alpha changelogDiffs within a review
Merge queueYesOrg repos, private needs Enterprise CloudMerge trains, paid tiersAuto-merge onlyAuto-merge onlyNoNot mentionedYesNot mentioned
Code searchNot builtYesYesYesYesPer repository, via APIRepo search, code search on roadmapNot mentionedNot mentioned
Planning and deliveryneosourceGitHubGitLabGiteaForgejoSourceHutTangledJujubiargs
PlanningTickets, boards, cycles, triageIssues and ProjectsIssues and boards, epics are paidIssues and project boardsIssues and project boardsTicket trackersIssuesNot mentionedBug tracker
CIActions YAML, Linux hosted runnersActionsGitLab CIGitea Actions, mostly compatibleForgejo Actionsbuilds.sr.ht, paidSpindles, Nix-basedExisting config claimed, APIs plannedPlanned
Container registryYesYesYesYesYesNoNot mentionedNot mentionedNot mentioned
Static site hostingYes, including from private repositoriesYesYesVia third-party serverVia separate git-pages serverYesYes, Tangled domains onlyNot mentionedNot mentioned
Built-in AINoneCopilotGitLab DuoNoneNoneNoneNoneNone listedNone, by policy
PricingneosourceGitHubGitLabGiteaForgejoSourceHutTangledJujubiargs
PriceFree in pre-alpha, paid plans from €5/month plannedFree tier, paid plansFree tier, paid plansFree to self-host, paid Cloud and EnterpriseFree, Codeberg runs on donations€4 to €12/month, required for CI and chatNot publishedFree, then from $10/user/monthFree for now
Private repositoriesYesYesYesYesSelf-hosted, or limited on CodebergYesAnnounced, not yet shippedYes, private only for nowYes, free for now
  • 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.