| Platform | License | Cheapest paid plan | Included CI minutes | Self-hosted option |
|---|---|---|---|---|
| GitHub 29 | Proprietary | Team, $4 | 2,000 free, 3,000 Team | Enterprise Server (paid) |
| GitLab 377 | Open core (MIT core) | Premium, $29 | 400 free, 10,000 Premium | Free CE or paid EE, 8-16 GB RAM |
| Bitbucket 2,046 | Proprietary | Standard, $3.65 | 50 free, 2,500 Standard | Data Center, license until 2029 |
| Gitea 3,896 | MIT | Enterprise, $9.50-$19 | Your own runners | Free, ~100 MiB RAM |
| Forgejo 16,221 | GPLv3+ | None (donations) | Your own runners | Free, ~100 MiB RAM |
Open-source projects belong on GitHub, where contributors and free public-repository minutes are, or on Codeberg 3,719 for a nonprofit, copyleft home. Companies wanting one integrated tool, often self-managed, pay for GitLab Premium; Jira 619 shops pick Bitbucket; small teams and air-gapped networks run Forgejo or Gitea on a small VM with their own runners. Gitea, Forgejo and GitLab import a GitHub repository with its issues and pull requests, but workflows and rulesets must be rewritten, so keep the YAML thin: BookNest's ci.yml only calls npm 2,036 ci and npm test, which run unchanged on any of these hosts.