Trois forges permettent d'héberger ses dépôts hors de GitHub, et toutes descendent de la même lignée de forks. Gitea s'installe en un binaire et fournit une CI au format GitHub Actions et un registre de paquets ; une société, Gitea Ltd, partage la direction du projet et réserve SAML à une édition payante. Gogs, la forge dont Gitea est issu, s'en tient aux dépôts, aux tickets et aux pull requests, sans CI ni registre de paquets, et son développement repose pour l'essentiel sur un mainteneur. Codeberg ne s'installe pas : une association berlinoise y fait tourner gratuitement Forgejo, un fork de Gitea, mais seulement pour des projets sous licence libre.
Gogs, Gitea, Forgejo : la lignée des forks et qui les dirige
Gogs est la forge d'origine, sous licence MIT depuis 2014. Son développement tient en grande partie à une personne : sur les douze derniers mois, le compte unknwon signe 157 des 225 commits de la branche main.
Gitea est né d'un fork de Gogs, dont il a gardé la licence MIT, et sa documentation précise que presque tout le code a changé depuis. Le 24 octobre 2022, un billet du projet a annoncé la création de Gitea Limited, à qui Lunny Xiao, l'un des owners, avait transféré les domaines et la marque. Depuis début 2023, un comité technique de six sièges dirige le projet : trois membres élus pour un an parmi les mainteneurs sans lien avec la société, trois nommés par elle, et la voix des élus pèse « légèrement plus » lors d'un vote. Le développement se fait sur GitHub, dans le dépôt go-gitea/gitea.
Forgejo est né de ce transfert, en octobre 2022. Son site affirme que les domaines et la marque sont passés à une société à but lucratif à l'insu de la communauté et sans son accord ; le fork est devenu un fork dur début 2024. Codeberg e.V., l'association qui opère Codeberg, a la garde des domaines de Forgejo, dont la gouvernance reste distincte de la sienne. Forgejo a aussi changé de licence en route : MIT jusqu'à sa v8.0, GPL v3 ou ultérieure depuis sa v9.0.
CI, registre de paquets et revue de code dans chaque forge
Gitea Actions, activé par défaut depuis Gitea 1.21, lit la syntaxe des workflows GitHub Actions. Les jobs tournent sur Gitea Runner, un binaire à installer et à enregistrer à part, et la documentation conseille Docker pour les isoler. Gogs n'a pas de CI : son README renvoie à un plugin Jenkins. Codeberg ouvre deux voies. Woodpecker CI s'obtient sur demande, après examen par un bénévole, ne construit que pour linux/amd64, et sa documentation prévient qu'il peut « casser à tout moment et pour une durée indéterminée ». Forgejo Actions tourne sur ses propres runners, ou sur ceux que Codeberg héberge de façon limitée, en alpha ouverte.
Le registre de paquets suit le même partage. Gitea gère 23 formats, dont npm, PyPI, Maven, Cargo, Go, Helm, Debian, RPM et les images de conteneurs. Gogs n'en a pas. Codeberg en propose un, compté dans un quota : au-delà de 1,5 Gio de paquets, fichiers LFS et pièces jointes, il faut en faire la demande.
La revue de code sépare Gogs des deux autres. Le tableau comparatif de la documentation de Gitea lui attribue les commentaires dans le code d'une pull request et l'approbation. Forgejo, donc Codeberg, place un bouton de commentaire à côté de chaque ligne modifiée et un bouton Review pour approuver ou demander des changements, et désigne des relecteurs à partir d'un fichier CODEOWNERS. Chez Gogs, la demande de commentaires ligne par ligne dans une pull request est ouverte depuis septembre 2015.
Côté connexion, Gitea sert de fournisseur OAuth 2.0 à d'autres applications, lit ses comptes dans des annuaires LDAP ou Active Directory et accepte OpenID Connect, mais sa version libre n'a pas SAML. Gogs accepte LDAP, SMTP, PAM, l'en-tête d'un proxy inverse et les comptes GitHub ; ni son README ni sa page sur l'authentification ne parlent d'OpenID Connect. Le comparatif des outils de SSO auto-hébergés passe en revue les fournisseurs OpenID Connect auxquels Gitea peut confier la connexion.
Ce que chaque forge demande pour tourner
Relevé dans les dépôts et les documentations le 7 octobre 2026.
| Forge | Licence | À faire tourner | CI | Paquets | Dernière version |
|---|---|---|---|---|---|
| Gitea | MIT ; édition Enterprise payante à part | un binaire Go ou une image Docker, Git 2.25 ou plus ; SQLite, PostgreSQL, MySQL, MariaDB ou SQL Server ; 2 cœurs et 1 Go pour une petite équipe | Gitea Actions, runner à part | 23 formats | 28.1.0, 6 oct. 2026 |
| Gogs | MIT | un binaire Go, Git 1.8.3 ou plus ; SQLite, MySQL, MariaDB ou PostgreSQL ; 2 cœurs et 512 Mo pour une équipe | aucune, plugin Jenkins | aucun | 0.14.3, 7 juin 2026 |
| Codeberg | GPL-3.0-or-later (Forgejo) | rien : service hébergé, compte gratuit | Woodpecker sur demande, Forgejo Actions | 1,5 Gio avec LFS et pièces jointes, au-delà sur demande | Forgejo v16.0 (branche codeberg-16), correctifs du 17 sept. 2026 |
Gitea intègre SQLite, mais sa documentation prévient qu'il ne passe pas à l'échelle : une instance appelée à grandir prendra au minimum PostgreSQL 12, MySQL 8.0, MariaDB 10.4 ou SQL Server 2012 SP4. Gogs se contente de moins : d'après son README, un Raspberry Pi ou un droplet DigitalOcean à 5 dollars suffit pour démarrer. Ses mises à jour se font une version mineure à la fois, si bien qu'une instance en 0.12 passe par la 0.13 avant la 0.14. Sa branche main, qui prépare la 0.15, supprime l'installateur web /install et rend obligatoire un fichier custom/conf/app.ini fonctionnel.
Côté versions, Gitea a publié dix-huit versions stables en douze mois, jusqu'à la 28.1.0 du 6 octobre 2026. Sa 28.0.0 aurait dû s'appeler 1.28.0 : le projet a retiré le préfixe « 1. », et cette version désactive par défaut l'inscription libre et supprime les runs Actions terminés au bout de 400 jours. Gogs est passé de la 0.13.0, en février 2023, à la 0.13.1 près de deux ans plus tard, en décembre 2024, puis a sorti cinq versions entre janvier et juin 2026 ; la dernière, la 0.14.3, corrige 22 failles, dont une exécution de commandes à distance par un nom de branche piégé. Forgejo a publié sa v15.0 en avril 2026 et sa v16.0 en juillet, et maintient les deux branches : la v16.0.5 et la v15.0.9 sont sorties le même jour, le 17 septembre 2026. Codeberg ne déploie pas ces versions telles quelles : sa production tourne sur sa propre branche de Forgejo, avec des commits qui lui sont propres.
Héberger sa forge ou confier ses dépôts à Codeberg
Codeberg retire tout le travail d'exploitation : l'association fait tourner Forgejo sur son propre matériel, dans des locaux loués à Berlin, et applique elle-même les mises à jour. Elle pose en échange des conditions qu'une forge installée chez soi n'impose pas. Tout dépôt public doit porter une licence libre, reconnue par la FSF ou l'OSI, ou une licence Creative Commons hors variantes NC et ND. Le privé est un dépannage : 100 Mo au plus pour un contributeur de logiciel libre, sans cloud personnel ni stockage de médias. Les conditions d'usage refusent aussi les projets écrits pour l'essentiel par des outils d'IA générative, et ceux liés aux cryptomonnaies. Pour qui ne contribue à aucun projet libre, Codeberg « n'est malheureusement pas le bon endroit », résume sa FAQ.
Aucun paiement ne permet de contourner ces règles. Au-delà de 750 Mio de stockage Git, un quota plus large se demande, et la FAQ précise que l'association n'accepte « aucun paiement pour une exception à ses règles ». Ses conditions d'usage ne garantissent pas la disponibilité des contenus et laissent les sauvegardes à l'utilisateur.
Une forge installée sur son propre serveur n'a que les règles qu'on lui donne : code privé, licence propriétaire ou code écrit avec une IA y ont leur place. En contrepartie, les mises à jour et les sauvegardes sont à sa charge. Gitea propose un entre-deux, Gitea Cloud, qui donne à chaque client une instance dédiée dans la région de son choix, sans tarif publié ; gitea.com est gratuit, avec un nombre de dépôts limité.
Quitter GitHub : dépôts, tickets et workflows
Gitea importe un dépôt GitHub par un formulaire de migration intégré ; pour reprendre aussi les tickets et les pull requests, il demande au moins le nom d'utilisateur du compte d'origine. Il tient aussi des miroirs dans les deux sens : tirer à intervalles réguliers un dépôt resté sur GitHub, ou y pousser le sien. Ses workflows reprennent la syntaxe de GitHub Actions, et une action citée sans hôte, comme actions/checkout@v4, se télécharge depuis GitHub sauf configuration contraire. Sa documentation liste les écarts : environment et les annotations sont ignorés, et le jeton du job a des droits plus étroits.
Gogs importe ou met en miroir un dépôt et son wiki depuis un autre hébergeur ; son README ne mentionne ni les tickets ni les pull requests.
L'outil de migration de Codeberg reprend d'un dépôt GitHub les tickets, les étiquettes, le wiki, les versions et les jalons, à condition de lui fournir un jeton d'accès créé sur GitHub. Les miroirs qui tirent un dépôt d'une autre forge y sont désactivés, et la FAQ conseille de pousser avec git push --mirror. Une copie migrée sans contribution propre, inactive depuis plus d'un mois, peut être supprimée après un préavis de 90 jours. Pour la CI, la documentation de Forgejo prévient que ses Actions sont conçues pour être familières aux utilisateurs de GitHub Actions, pas pour être compatibles.
Licences et offres payantes
Gogs et Gitea sont sous MIT. Gogs n'a ni offre payante ni service hébergé ; son README cite des hébergements tiers comme Cloudron, YunoHost ou alwaysdata. Gitea réserve une partie de ses fonctions à Gitea Enterprise, une édition auto-hébergée facturée par utilisateur et par mois : SAML, héritage des protections de branche par organisation, analyse des dépendances, liste blanche d'adresses IP, double authentification obligatoire et runners autoscalés sur Kubernetes. La page de l'édition cite encore le journal d'audit, entré dans la version libre avec la 28.0.0. Le site de Forgejo qualifie Gitea d'« open core ».
Forgejo, le logiciel de Codeberg, est sous GPL v3 ou ultérieure depuis sa v9.0, une licence copyleft : une version modifiée qu'on redistribue reste sous GPL. Codeberg ne vend rien. L'association vit des dons et des cotisations de plus de 1 700 membres, qui élisent son présidium et son conseil, et l'adhésion n'est pas requise pour utiliser le service.
