Gitea forked from Gogs in November 2016 after the single maintainer refused to share commit access, creating a community-governed Git hosting platform that has far surpassed its parent in features and adoption.
Gitea is written in Go and uses a single binary deployment model with built-in Git operations, an issue tracker, pull request system, wiki, package registry, and CI/CD (Gitea Actions). It supports SQLite, MySQL, PostgreSQL, and MSSQL backends. Its architecture deliberately favors simplicity and low resource usage over microservice complexity.
Gogs (Go Git Service) was a lightweight, self-hosted Git service written in Go by a developer known as Unknwon. It was elegant and fast, but it had one critical flaw: Unknwon retained exclusive control over the repository and declined to grant write access to other contributors. Pull requests piled up unmerged. Issues went unaddressed. The bus factor was exactly one.
In November 2016, a group of frustrated contributors forked Gogs to create Gitea, adopting an explicitly community-driven governance model. The initial fork merged 193 pull requests and closed 43 issues in its first few weeks — a backlog that illustrated just how much contribution had been bottled up. Gitea's governance structure was intentionally democratic: three owners elected annually, with maintainers voting on contributions and requiring at least four prior contributions to earn voting rights.
Gitea grew rapidly, adding features Gogs never would: a full-featured issue tracker, pull request reviews, project boards, package registries, and eventually Gitea Actions (a CI/CD system compatible with GitHub Actions workflows). By the early 2020s, Gitea had become the go-to self-hosted Git platform for organizations that wanted GitHub-like functionality without the vendor lock-in.
But Gitea's own governance story wasn't over. In October 2022, maintainer Lunny Xiao — who had created the Gitea name and domains back in 2015 — transferred the domains and trademark to a newly formed for-profit company called Gitea Limited. The community erupted. Contributors published an open letter demanding transparency. The controversy directly spawned Forgejo, a community fork of Gitea hosted on Codeberg, which became a hard fork in 2023.
Gitea today remains highly active and commercially backed, with Gitea Ltd. providing hosting services. But the irony is rich: a project born from governance frustrations with a single maintainer eventually generated its own governance crisis, spawning yet another fork. The cycle of open-source forking continues.
Gitea forked from Gogs by frustrated contributors who lacked commit access
Gitea 1.0 released with democratic governance: three elected owners, voting maintainers
Gitea surpasses Gogs in GitHub stars and community activity
Lunny Xiao and Matti Ranta form Gitea Limited; domains and trademark transferred to the company
Forgejo created as a community fork of Gitea in response to Gitea Ltd. governance concerns
Forgejo becomes a hard fork, diverging from Gitea's codebase
“I transferred the domains and trademark to Gitea Ltd. so they are no longer personally owned by me and will remain indefinitely with the Gitea project.”
Gitea proved that a community-governed fork could not only survive but completely eclipse its parent project. It became the default recommendation for self-hosted Git and powers thousands of organizations' internal development workflows. Its lightweight Go binary and low resource requirements made it accessible to hobbyists and enterprises alike.
The Gitea-to-Forgejo cycle also provided a real-time case study in how open-source governance issues repeat themselves. The very project born from governance frustrations created its own governance crisis, demonstrating that the problem of balancing community stewardship with commercial sustainability remains unsolved.