Forgejo : les origines du projet et sa vision du développement logiciel
Le projet Forgejo a vu le jour à la suite d'un différend entre le service Git autohébergé Gitea et sa communauté. En octobre 2022, Gitea a transféré son nom de domaine et sa marque à une société à but lucratif nouvellement créée, Gitea Ltd, sans consultation préalable de la communauté. Cela a suscité des inquiétudes parmi les contributeurs et utilisateurs, qui ont exprimé leurs préoccupations dans une lettre ouverte adressée aux propriétaires de Gitea.
La création de Gitea Ltd a suscité plusieurs préoccupations au sein de la communauté : transfert de propriété sans consultation, manque de transparence, conflit d'intérêts potentiel, etc. Bien que Gitea soit un projet open source, certains membres ont exprimé la crainte que la nouvelle structure commerciale puisse, à terme, restreindre l'accès au code source ou introduire des composants propriétaires, compromettant ainsi l'esprit open source du projet.
Face à l'absence de réponse satisfaisante une partie de la communauté a décidé de créer Forgejo en décembre 2022, sous l'égide de Codeberg e.V., une organisation à but non lucratif basée en Allemagne. Forgejo est une forge logicielle libre et open source. Le nom « Forgejo » est inspiré du mot espéranto « forĝejo », signifiant « forge ». Forgejo est un fork de Gitea (lui-même un fork de Gogs) et la première version a été lancée le 15 décembre 2022 sous licence MIT.
Au début de l'année 2024, Forgejo a décidé de suivre sa propre voie, passant d'un « soft fork » à un « hard fork » de Gitea. Cela signifie que Forgejo n'est plus lié à Gitea. D'après l'équipe, cela permet aux mainteneurs et aux contributeurs de réduire la dette technologique à un rythme beaucoup plus élevé, mais également de mettre en œuvre des changements qui auraient autrement un risque élevé d'entrer en conflit avec les changements apportés à Gitea.
En clair, les modèles de gouvernance et de développement de Gitea et Forgejo ont divergé au fil du temps, tout comme leurs objectifs. Et le fait de devenir un hard fork est l'aboutissement de cette divergence. Selon sa documentation, Forgejo est caractérisé par les éléments ci-après :
Caractéristiques principales
- gestion de code source : Forgejo permet l'hébergement et la gestion de dépôts Git, offrant des fonctionnalités similaires à celles de GitHub ;
- collaboration : Forgejo propose des outils pour les pull requests, la gestion des problèmes, des wikis et des tableaux de type Kanban pour le suivi des projets ;
- automatisation : Forge prend en charge l'intégration continue (continuous integration - CI) via les « Forgejo Actions », permettant l'automatisation des workflows directement depuis le dépôt ;
- autohébergement : Forgejo est conçu pour être facilement installé et maintenu. Il s'agit également d'une solution légère adaptée aux ressources limitées.
Avantages
- un logiciel entièrement libre et open source : Forgejo garantit que l'ensemble de sa plateforme reste entièrement libre et open source, assurant une transparence totale ;
- gouvernance démocratique : soutenue par Codeberg e.V., une organisation allemande à but non lucratif, Forgejo est développée dans l'intérêt général, avec une prise de décision transparente et démocratique ;
- légèreté et performance : Forgejo nécessite moins de ressources comparativement à d'autres forges logicielles, tout en offrant un ensemble riche de fonctionnalités.
Inconvénients
- communauté et écosystème : étant un projet plus récent et moins populaire que des plateformes telles que GitHub ou GitLab, Forgejo dispose d'une communauté et d'un écosystème de plug-ins moins étendus ;
- fonctionnalités avancées : certaines fonctionnalités avancées présentes sur des plateformes plus établies peuvent être absentes ou en cours de développement sur Forgejo.
Alternatives
- GitHub : plateforme populaire offrant une large gamme de fonctionnalités pour la gestion de code source et la collaboration, mais propriétaire (GitHub appartient à Microsoft) ;
- GitLab : solution complète pour le DevOps, disponible en versions open source et propriétaire, avec des fonctionnalités étendues pour l'intégration continue et le déploiement ;
- Gitea : projet dont Forgejo est dérivé, offrant des fonctionnalités similaires pour l'autohébergement de dépôts Git ;
- SourceHut : plateforme minimaliste et entièrement open source pour l'hébergement de code et la collaboration.
Quelques points forts de la dernière version de Forgejo, Forgejo v10.0
Pour utiliser Forgejo, vous pouvez créer un compte sur Codeberg et d'autres instances ou le télécharger pour autohéberger le vôtre. Selon l'équipe, Forgejo se concentre sur la sécurité, la mise à l'échelle, la fédération et la confidentialité. La nouvelle version de Forgejo, Forgejo v10, est sortie le 16 janvier 2025 et marque la fin de vie de la version stable précédente, Forgejo v9. Forgejo v10.0 sera supporté jusqu'au 16 avril 2025, date de publication de Forgejo v11.0.
L'équipe recommande aux administrateurs d'instances Forgejo avec la version v9 de se préparer à une mise à niveau à temps afin que l'application d'éventuels futurs correctifs de sécurité n'implique pas une mise à niveau majeure. Une instance de test dédiée est disponible pour l'essayer.
Avant la mise à niveau, il est fortement recommandé de faire une sauvegarde complète et de lire attentivement tous les changements de rupture dans les notes de mise à jour. Vous trouverez ci-dessous une brève sélection des changements les plus notables. La liste complète est disponible dans les notes de version :
- refonte de la boîte de dialogue de création de dépôt : l'interface de création de nouveaux dépôts a été améliorée pour une expérience utilisateur optimisée ;
- gestion des notes Git via l'API et l'interface utilisateur : il est désormais possible de modifier les notes Git directement depuis l'interface Web ou en utilisant l'API ;
- ajout d'un bouton pour créer des tableaux Markdown : un bouton dédié permet d'insérer facilement des tableaux dans les commentaires en Markdown ;
- citation partielle de commentaires : en sélectionnant une portion d'un commentaire et en utilisant la fonction « Répondre en citant », seule la partie sélectionnée sera citée, tout en préservant la syntaxe Markdown ;
- lien pour afficher tous les bogues et pull requests : un lien a été ajouté pour visualiser l'ensemble des bogues et des pull requests associés à un projet ;
- mise en évidence des mentions d'utilisateurs : les mentions d'utilisateurs dans les commentaires et les messages de commit sont désormais surlignées pour une meilleure visibilité ;
- cartes récapitulatives pour OpenGraph : des « summary cards » ont été ajoutées aux problèmes, pull requests, dépôts et versions pour une meilleure intégration avec les clients OpenGraph ;
- filtrage par chemin de fichier dans la recherche de code : il est maintenant possible de filtrer les résultats de recherche de code en spécifiant des chemins de fichiers ;
- liens vers les listes de commits dans la page du graphe des contributeurs : des liens ont été ajoutés pour accéder directement aux listes de commits depuis la page du graphe des contributeurs ;
- recherche dans la page des versions : une fonctionnalité de recherche a été intégrée à la page des versions pour faciliter la navigation ;
- migration des secrets TOTP vers keying : les secrets TOTP sont désormais migrés vers keying pour une gestion améliorée des clés.
Codeberg : protéger le développement logiciel contre les sanctions américaines
Codeberg a été lancé en janvier 2019 avec 25 membres et a commencé à publier des bulletins d'information mensuels sur l'état de son projet principal "Codeberg.org". Selon ses statuts, Codeberg e.V. est une organisation collaborative à but non lucratif. Ses principaux objectifs sont de fournir des services pour le développement et la distribution de contenu libre et de logiciels libres et open source (FOSS). Codeberg e.V., basé en Allemagne, est financé par des dons.
L'organisation a choisi l'Union européenne pour son siège et son infrastructure informatique, en raison des inquiétudes des membres qui craignaient qu'un référentiel de projets logiciels hébergé aux États-Unis puisse être supprimé si un acteur malveillant faisait des réclamations de mauvaise foi sur les droits d'auteur en vertu du Digital Millennium Copyright Act (DMCA). Des mesures de ce type ont été prises par les États-Unis à l'encontre de plusieurs développeurs.
Par exemple, GitHub a suspendu les comptes de développeurs russes travaillant dans des entreprises sur la liste des sanctions du gouvernement américain en représailles à l’invasion russe de l’Ukraine ou encore GitHub a, par le passé, bloqué des utilisateurs de Crimée et d’Iran à cause des sanctions américaines.
C’est l’une des raisons pour lesquelles les développeurs sont en constante recherche d’alternatives. Codeberg qui rentre dans ce lot attise donc leur intérêt. Depuis 2022, "Codeberg.org" est un environnement de développement collaboratif basé sur Forgejo et géré par Codeberg e.V.
Source : Forgejo (1, 2)
Et vous ?
Quel est votre avis sur le sujet ?
Que pensez-vous de la forge logicielle autohébergée Forgejo ?
Selon vous, en quoi Forgejo est-elle différente des autres solutions existantes ?
Avez-vous testé le service Forgejo ou l'utilisez-vous ? Si oui, partagez votre expérience.
Un service tel que Forgejo peut-il faire de l'ombre à des plateformes établies comme GitHub et GitLab ?
Voir aussi
La version 1.7.0 de Gitea, le service Git auto-hébergé est disponible, voici un tour d'horizon des nouveautés
Codeberg, l'alternative européenne à GitHub, attise l'intérêt des développeurs dans un contexte global de distanciation des technologies US, et suscite des comparaisons avec des services similaires
Kallithea : une alternative autohébergée à GitHub qui prend en charge Mercurial et Git, a-t-il vraiment des chances de concurrencer GitHub du géant Microsoft ?