Matthew Miller, leader of the Fedora project, introduced an initiative to move away from the proprietary development platform Pagure. As a replacement, the Fedora Council preferred the Forgejo platform, but before finalizing the transition to Forgejo, it decided to hold a public discussion to gather community feedback. A final vote will take place in two weeks, allowing anyone to share their thoughts on the decision made.
The current proprietary platform Pagure has become obsolete, requires significant resources for maintenance, is stagnating, and has not gained widespread adoption outside Fedora. In 2020, there was already an attempt to replace Pagure with GitLab, but this initiative did not progress beyond discussions. This year, after evaluating existing collaborative development platforms, it was concluded that the project needs an open solution suitable for deployment on its own servers. GitLab Community Edition and Forgejo best met the established criteria.
Le piattaforme GitLab e Forgejo hanno i loro pro e contro, e entrambe richiedono alcune modifiche per riprodurre la funzionalità della piattaforma Dist Git basata su Pagure, utilizzata nello sviluppo di Fedora Linux. In particolare, sulla nuova piattaforma sarà necessario garantire l'integrazione con i servizi associati al progetto, come Bodhi, Fedora CI, COPR, Fedpkg, Hotness, Fedora Notifications, Toddlers, Fedora Messaging, Monitor Gating, Release Engineering Scripts, Fedora Packagers e Packit.
Considerando tutti i fattori, i membri del consiglio di gestione hanno scelto come piattaforma preferita Forgejo, poiché si sviluppa grazie a una comunità indipendente, mentre GitLab è un prodotto di una società commerciale, sviluppato secondo il modello Open Core, in cui alcune funzionalità avanzate, tra cui quelle necessarie in Fedora, sono disponibili solo nel prodotto commerciale. Nella scelta è stata inoltre considerata la preoccupazione che nel tempo la politica di GitLab possa cambiare e il progetto potrebbe diventare meno aperto. Un ulteriore argomento a favore di Forgejo è stato che il linguaggio Go e la base di codice di Forgejo risultavano più familiari al team che si occupa dell'infrastruttura in Fedora, rispetto al linguaggio Ruby utilizzato in GitLab.
La piattaforma Forgejo è concepita per il deployment di sistemi di collaborazione con repository Git, simile a GitHub, Bitbucket e Gitlab. Forgejo è un fork del progetto Gitea, che è a sua volta derivato dalla piattaforma Gogs. La separazione di Forgejo avvenne nel 2022 dopo i tentativi di commercializzazione di Gitea e il passaggio della gestione a una società commerciale. Nell'ambito del progetto Forgejo, gli sviluppatori indipendenti hanno cercato di mantenere i principi di gestione indipendente e responsabilità verso la comunità. Il codice del progetto è scritto in Go. A partire dalla versione 9.0, il codice di Forgejo è distribuito sotto la licenza GPLv3+, mentre il codice precedente rimane sotto la licenza MIT.
Le caratteristiche chiave della piattaforma Forgejo includono un basso consumo di risorse (può essere utilizzata su una scheda Raspberry Pi o su soluzioni economiche VPS) e un processo di installazione semplice. Sono disponibili funzionalità standard per la gestione dei progetti, come la gestione delle attività, il tracciamento dei problemi, le pull request, un wiki, strumenti per la coordinazione dei gruppi di sviluppo, la preparazione delle versioni, l'automazione della distribuzione dei pacchetti nei repository, la gestione dei diritti di accesso, l'integrazione con piattaforme di integrazione continua, la ricerca del codice, l'autenticazione tramite LDAP e OAuth, l'accesso al repository tramite i protocolli SSH e HTTP/HTTPS, il collegamento di webhooks per l'integrazione con Slack, Discord e altri servizi, il supporto per i Git-hooks e Git LFS, strumenti per la migrazione e il mirroring dei repository. Si sottolinea inoltre la possibilità di utilizzare il protocollo ActivityPub per unire in una rete federata diverse server sviluppatori.
Fonte: opennet.ru
