Codeberg, la forge en devenir pour les projets libres ?
Face aux risques que fait peser GitHub sur le monde des logiciels libres suite Ă son rachat par Microsoft en 2018, une alternative semble avoir percĂ©. Cette dĂ©pĂȘche propose un tour d'horizon des problĂšmes posĂ©s par GitHub et expose comment Codeberg pourrait y rĂ©pondre.
Sommaire
Les points forts de Codeberg
L'association Codeberg e.V. 1 et son projet Codeberg.org ont été fondés en janvier 2019, suite au rachat par Microsoft de GitHub. En plus d'un statut associatif à but non lucratif, ce qui limite les risques de disparition du jour au lendemain, Codeberg est basé en Europe (à Berlin), ce qui est un plus pour nos données personnelles.
Son logo représente un sommet enneigé sur fond de ciel bleu. En effet, en Allemand, der Berg veut dire la montagne et on pourrait donc traduire Codeberg par une « montagne de code ». Et effectivement, la communauté compte fin avril 2024 plus de 102 000 utilisateurs et plus de 129 000 projets y sont hébergés. L'association qui dirige le projet compte plus de 400 membres. Le financement s'effectue par les dons (déductible des impÎts en Allemagne) et/ou contributions aux projets sous-jacents à la forge.
La forge est basĂ©e sur Forgejo, logiciel libre sous licence MIT, dont le nom vient de l'Esperanto forÄejo, ce qui est cohĂ©rent avec l'attention portĂ©e Ă la langue de l'utilisateur et aux problĂšmes de traduction (service Weblate). Comme avec GitLab, la licence libre implique qu'un projet peut possĂ©der sa propre instance s'il le souhaite. On notera que Forgejo est un fork de Gitea, lui-mĂȘme fork de Gogs, et est donc Ă©crit en langage Go, langage sous licence BSD avec un brevet. Le projet Forgejo, Ă©videmment hĂ©bergĂ© sur Codeberg, est trĂšs actif avec plus de 900 Pull Requests acceptĂ©es depuis un an.
La problématique du tout GitHub
GitHub, lancĂ© en 2008, est devenu la plus grosse plateforme d'hĂ©bergement de codes sources, utilisĂ©e par un grand nombre de projets majeurs du monde du libre (Firefox, Matrix, YunohostâŠ). Ce qui par effet d'attraction â et de rĂ©seau centralisant, contraire au choix de git dĂ©centralisĂ© par nature â conduit souvent Ă faire de Github un choix par dĂ©faut, facilitant les interactions avec les autres projets et permettant d'accĂ©der Ă une large base de contributeurs potentiels. Quand on cite une URL GitHub dans un rĂ©seau social, on peut d'ailleurs voir apparaĂźtre ce genre de message :
Contribute to Someone/my_project development by creating an account on GitHub.
Cependant, si ce service fourni par Microsoft est actuellement encore gratuit, il est soumis à son bon-vouloir, avec le risque de voir se répéter l'épisode SourceForge (publicités trompeuses, installateurs modifiés, usurpation d'identité de projets partis ailleurs, etc.).
Par ailleurs, derriĂšre une communication favorable Ă l'open source, le code de la forge GitHub est volontairement fermĂ©. Vous ne pouvez donc pas avoir votre propre instance de GitHub. En outre, cela laisse un flou sur l'exploitation de nos donnĂ©es (au sens large, le code lui-mĂȘme et nos donnĂ©es personnelles, l'hĂ©bergement Ă©tant dĂ©lĂ©guĂ©). Avec l'arrivĂ©e du projet Copilot, il est cependant certain que nos codes servent Ă alimenter un outil d'IA, permettant Ă Microsoft de monĂ©tiser des suggestions de code en faisant fi des questions de licence. Une partie d'un code sous licence libre pourrait potentiellement se retrouver injectĂ©e dans un projet avec une licence incompatible et de surcroĂźt sans citation de l'auteur.
Des alternatives possibles
On pense tout d'abord à GitLab, logiciel lancé en 2011, qui permet d'avoir sa propre instance serveur pour maßtriser l'ensemble (client et serveur sont libres). Parmi les grands projets libres, on trouve en particulier GNOME et Debian qui utilisent leur propre instance GitLab CE (Community Edition), logiciel sous licence MIT. Mais il faut nuancer : la forge GitLab.com utilise GitLab EE (Enterprise Edition) qui est propriétaire et propose des fonctionnalités supplémentaires. GitLab suit donc un modÚle dit open core. GitLab compterait plus de 30 millions d'utilisateurs inscrits et l'entreprise GitLab Inc., lancée en 2014, génÚre plusieurs centaines de millions de dollars de revenus. On notera enfin qu'en 2018, le site migre de Microsoft Azure à Google Cloud Platform (USA), ce qui a posé des problÚmes d'accÚs dans certains pays.
Autres projets de forges libres plus modestes :
- Codingteam.net (une initiative française, service clÎturé en 2019).
- SourceHut http://sr.ht (et https://sourcehut.org/), initié par Drew DeVault.
- Disroot basé sur Forgejo comme Codeberg, mais il ne semble pas avoir attiré de projets d'envergure (le portail, sorte de Framasoft néerlandais, est néanmoins à recommander).
- Chez un Chaton (GitLab ou Gitea pour la plupart).
- L'auto-hĂ©bergement : chez-vous, dans un fablab, en datacenter sur serveur dĂ©diĂ©âŠ
Pour vous faire venir sur Codeberg
PremiĂšres impressions
La page principale est accueillante et annonce que Codeberg.org ne vous piste pas et n'utilise pas de cookies tiers. Les statistiques actuelles sont affichĂ©es : nombre de projets, d'utilisateurs et de membres de l'association. Chose agrĂ©able, vous avez la possibilitĂ© de choisir le français parmi les nombreuses langues proposĂ©es pour l'interface. Petite icĂŽne qui attire l'attention : l'activitĂ© de chaque dĂ©pĂŽt peut ĂȘtre suivie grĂące Ă un flux RSS. Sinon, l'organisation gĂ©nĂ©rale est trĂšs semblable Ă celle de GitHub ou GitLab et la prise en main de Codeberg se fait donc sans effort.
Fonctionnalités avancées
- Codeberg pages : permet de disposer d'un site web statique pour le projet
- Forgejo actions : pour dérouler automatiquement les actions nécessaires à l'intégration continue (CI/CD)
- Weblate : pour gĂ©rer les traductions de votre projet. On peut d'ailleurs y constater que parmi les traductions de Forgejo, le Français est dans le peloton de tĂȘte.
Projets ayant migré ou ayant un miroir sur Codeberg
Un certain nombre de projets importants utilisent désormais Codeberg, ce qui est à la fois un gage de confiance et assure une base de contributeurs a minima :
- libreboot : remplacement libre de BIOS/UEFI.
- Conversations : le client majeur XMPP sur Android.
- WideLands : jeu libre basé sur le concept de Settlers II.
- LibreWolf : fork de Firefox axé sur la vie privée.
- F-Droid : magasin d'applications libres pour Android.
- FreeBSD : miroir de https://cgit.freebsd.org/
- FreeCAD : miroir officiel.
- Forgejo : fork communautaire de Gitea suite Ă la privatisation de celui-ci en 2022.
- Fedilab : client Android pour le Fediverse.
- irssi : client IRC.
- Peppermint OS : une distribution Linux avec bureau minimaliste.
- DivestOS : un fork de LineageOS orienté sur la protection de la vie privée.
- VeggieKarte : un service pour trouver des restaurants végétariens/végétaliens.
- âŠ
Comment migrer vers Codeberg ?
Migrer le code source et l'éventuel Wiki associé ne devrait pas poser de problÚme particulier. Il suffit de configurer git pour pusher vers la nouvelle forge. Cette page décrit comment migrer l'ensemble de votre projet (incluant les issues, le wiki, les Pull Request, etc.) vers Codeberg : https://docs.codeberg.org/advanced/migrating-repos/
Concernant les Workflows (CI), bien qu'il n'y ait pas de garantie de compatibilité avec les Actions Github, la syntaxe se veut similaire pour faciliter la transition : https://forgejo.org/2023-02-27-forgejo-actions/
Au-delĂ de l'aspect technique, il reste aussi Ă faire migrer la communautĂ© d'utilisateurs (la prĂ©sence fortement suivie sur Mastodon peut ĂȘtre un avantage).
Conclusion
Codeberg est un outil prometteur. Il reste pour la communauté du logiciel libre à le faire grandir. Rappelons les statistiques : 100 millions de développeurs sur GitHub, 30 millions utilisant GitLab et 100 000 pour Codeberg. Le potentiel est grand, l'un des enjeux est de financer l'association pour accompagner la croissance de la communauté, tout en faisant monter en puissance l'infrastructure informatique.
Sources / Liens
Controverse GitHub
- Sonnette d'alarme activée dÚs 2016 (fr).
- Pourquoi abandonner Github (en) : la campagne Give Up GitHub! a été lancée en juin 2022 suite à la controverse sur GitHub Copilot.
- Please donât upload my code to GitHub (en) : rĂ©sumĂ© des problĂšmes posĂ©s en particulier par Copilot (IA GitHub).
- https://en.wikipedia.org/wiki/GitHub_Copilot#Licensing_controversy
Forges diverses
Codeberg
- Parcourir les projets hébergés sur Codeberg (en)
- Suivre Codeberg sur Mastodon (en) : 12000 abonnés.
- Le blog de Codeberg (en)
- Instances, projets et ressources autour de Forgejo (en)
- https://en.wikipedia.org/wiki/Codeberg
-
e.V. est l'abrĂ©viation de eingetragener Verein (association dĂ©clarĂ©e). â©
Commentaires : voir le flux Atom ouvrir dans le navigateur