La version 9.0 de la plateforme de développement collaboratif Forgejo a été publiée, permettant de déployer sur ses propres serveurs un système de collaboration avec des dépôts Git, similaire à GitHub, Bitbucket et Gitlab. Forgejo est un fork du projet Gitea, qui, à son tour, a dérivé de la plateforme Gogs. La séparation de Forgejo a eu lieu en 2022 après les tentatives de commercialisation de Gitea et le transfert de gestion à une entreprise commerciale. Le projet Forgejo respecte les principes de gestion indépendante et de contrôle communautaire. Le service d'hébergement Git Codeberg.org a adopté Forgejo. Le code du projet est écrit en Go et est distribué sous la licence MIT.
Les principales caractéristiques de la plateforme sont sa faible consommation de ressources (elle peut être utilisée sur une carte Raspberry Pi ou sur des serveurs peu coûteux VPS) et un processus d'installation simple. Des fonctionnalités standard pour le travail sur des projets sont fournies, telles que la gestion des tâches, le suivi des problèmes (issues), les pull requests, les wikis, les outils de coordination des équipes de développement, la préparation des versions, l'automatisation du déploiement des paquets dans les dépôts, la gestion des droits d'accès, l'intégration avec des plateformes d'intégration continue, la recherche dans le code, l'authentification via LDAP et OAuth, l'accès au dépôt via les protocoles SSH et HTTP/HTTPS, la connexion de webhooks pour l'intégration avec Slack, Discord et d'autres services, la prise en charge des hooks Git et Git LFS, ainsi que des outils pour la migration et le mirroring des dépôts. Il est particulièrement notable d'utiliser le protocole ActivityPub pour relier des développeurs individuels dans un réseau fédéré. serveurs développeurs.
Principales modifications :
- Le passage de la licence permissive MIT à la licence copyleft GPLv3+ a été effectué pour le nouveau code. Ce changement de licence facilitera l'utilisation dans le projet de code distribué sous des licences copyleft non compatibles avec la MIT, tout en réduisant le risque de pratiques commerciales déloyales, telles que l'attache d'un utilisateur à un fournisseur spécifique et la création de versions modifiées de Forgejo, distribuées avec des restrictions supplémentaires.
- Une implémentation initiale d'un système de quotas personnalisables a été ajoutée, permettant de limiter la taille des données utilisateur sur le serveur. L'implémentation repose sur la mise en place de quotas souples (soft quota), dont le dépassement est vérifié uniquement avant l'exécution des opérations, sans limitation en cas de dépassement pendant l'exécution des opérations.
- L'utilisation de clés SSH pour l'authentification des opérations de miroitage est désormais autorisée.
- Pour le travail avec Git, seul le backend basé sur les outils Git standard est conservé. Le backend go-git, qui implémentait Git en Go, a été supprimé, ce qui simplifie la maintenance, permet de développer Forgejo sans se soucier des fonctionnalités de go-git, et élimine les problèmes de corruption de dépôts rencontrés dans go-git.
- Le fournisseur de sessions basé sur la base de données Couchbase a été retiré, car il est lié à un logiciel non libre, dont les possibilités de test sont limitées.
Source : opennet.ru
