URL: https://linuxfr.org/news/codeberg-la-forge-en-devenir-pour-les-projets-libres Title: Codeberg, la forge en devenir pour les projets libres ? Authors: anubis vmagnin, BAud, FrancoisA30, Jona, L'intendant zonard, Marc, palm123, cg et bobble bubble Date: 2023-09-03T15:43:19+02:00 License: CC By-SA Tags: Score: 4 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. ![Logo Codeberg](https://social.anoxinon.de/system/accounts/avatars/109/202/640/476/784/483/original/31b22459c9f5e3d2.png) ---- ---- 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](https://codeberg.org/Codeberg/org/src/branch/main/Imprint.md#gemeinn%C3%BCtzigkeit-recognition-of-status-as-non-profit-ngo-recognition-as-tax-excempt-entity)) et/ou [contributions](https://codeberg.org/Codeberg/Contributing) 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](https://linuxfr.org/news/sourceforge-de-pire-en-pire-usurpation-d-identite-du-projet-gimp) (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](https://git.disroot.org/) 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](https://www.chatons.org/search/by-service?service_type_target_id=All&field_alternatives_aux_services_target_id=496&field_software_target_id=All&field_is_shared_value=All&title=) (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](https://translate.codeberg.org/projects/forgejo/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](https://codeberg.org/libreboot) : remplacement libre de BIOS/UEFI. * [Conversations](https://codeberg.org/iNPUTmice/Conversations) : le client majeur XMPP sur Android. * [WideLands](https://codeberg.org/wl) : jeu libre basé sur le concept de Settlers II. * [LibreWolf](https://codeberg.org/librewolf) : _fork_ de Firefox axé sur la vie privée. * [F-Droid](https://codeberg.org/fdroid) : magasin d'applications libres pour Android. * [FreeBSD](https://codeberg.org/FreeBSD) : miroir de https://cgit.freebsd.org/ * [FreeCAD](https://codeberg.org/FreeCAD/FreeCAD) : miroir officiel. * [Forgejo](https://codeberg.org/forgejo/forgejo) : _fork_ communautaire de Gitea suite à la privatisation de celui-ci en 2022. * [Fedilab](https://codeberg.org/tom79/Fedilab) : client Android pour le Fediverse. * [irssi](https://codeberg.org/irssi/irssi) : client IRC. * [Peppermint OS](https://codeberg.org/Peppermint_OS) : une distribution Linux avec bureau minimaliste. * [DivestOS](https://codeberg.org/divested-mobile) : un _fork_ de LineageOS orienté sur la protection de la vie privée. * [VeggieKarte](https://veggiekarte.de/?lang=fr) : 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](https://carlchenet.wordpress.com/2016/03/31/le-danger-github-revu-et-augmente/) (fr). - [Pourquoi abandonner Github](https://sfconservancy.org/GiveUpGitHub/) (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](https://nogithub.codeberg.page/) (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 - https://en.wikipedia.org/wiki/GitLab - [Synthèse LinuxFR sur l'autohébergement (2018)](https://linuxfr.org/news/forges-logicielles-et-hebergement-de-projets-libres) (fr). ### Codeberg - [Parcourir les projets hébergés sur Codeberg](https://codeberg.org/explore/repos?tab=&sort=moststars&q=&language=) (en) - [Suivre Codeberg sur Mastodon](https://social.anoxinon.de/@Codeberg) (en) : 12000 abonnés. - Le [blog](https://blog.codeberg.org/) de Codeberg (en) - [Instances, projets et ressources autour de Forgejo](https://codeberg.org/forgejo-contrib/delightful-forgejo) (en) - https://en.wikipedia.org/wiki/Codeberg [^1]: e.V. est l'abréviation de _eingetragener Verein_ (association déclarée).