
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 :
[LIST]
[*]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...
La fin de cet article est réservée aux abonnés. Soutenez le Club Developpez.com en prenant un abonnement pour que nous puissions continuer à vous proposer des publications.