Matthew Miller, liderul proiectului Fedora, a prezentat inițiativa de a renunța la utilizarea propriei platforme de colaborare Pagure. Ca alternativă, consiliul Fedora Council a preferat platforma Forgejo, dar înainte de a aproba migrarea către Forgejo, a decis să organizeze o discuție publică pentru a lua în considerare opinia comunității. Votul final va avea loc peste 2 săptămâni, iar până atunci oricine poate împărtăși gândurile sale cu privire la alegerea făcută.
Platforma proprie Pagure, utilizată în prezent, și-a atins limita, necesită resurse mari pentru întreținere, se află într-o stare de stagnare și nu a avut o răspândire largă în afara Fedora. În 2020, a existat deja o încercare de a înlocui Pagure cu GitLab, dar această inițiativă nu a avansat dincolo de discuții. În acest an, după evaluarea platformelor existente de colaborare, s-a concluzionat că proiectul are nevoie de o soluție deschisă, potrivită pentru desfășurarea pe serverele proprii. Cele mai bine corespunzătoare criteriilor stabilite au fost GitLab Community Edition și Forgejo.
Platformele GitLab și Forgejo au avantajele și dezavantajele lor, și ambele necesită ajustări pentru a recrea funcționalitatea platformei Dist Git bazată pe Pagure, utilizată în dezvoltarea Fedora Linux. În special, noua platformă trebuie să asigure integrarea cu serviciile asociate ale proiectului, cum ar fi Bodhi, Fedora CI, COPR, Fedpkg, Hotness, Fedora Notifications, Toddlers, Fedora Messaging, Monitor Gating, Release Engineering Scripts, Fedora Packagers și Packit.
Analizând toate argumentele, membrii consiliului de conducere au ales ca platforma preferată Forgejo, deoarece aceasta se dezvoltă de o comunitate independentă, în timp ce GitLab este un produs al unei companii comerciale, dezvoltat conform modelului Open Core, unde unele funcții avansate, inclusiv cele necesare în Fedora, sunt disponibile doar în produsul comercial. În alegere a fost luată în considerare și teama că în timp politica GitLab s-ar putea schimba, iar proiectul ar putea deveni mai puțin deschis. Un alt argument în favoarea Forgejo a fost că limbajul Go și baza de cod Forgejo au fost mai familiare echipei responsabile de infrastructura Fedora decât limbajul Ruby utilizat în GitLab.
Platforma Forgejo este destinată desfășurării unui sistem de colaborare cu repositorii Git, asemănător cu soluțiile oferite de GitHub, Bitbucket și Gitlab. Forgejo este un fork al proiectului Gitea, care la rândul său s-a ramificat din platforma Gogs. Separarea Forgejo a avut loc în 2022, după încercările de comercializare a Gitea și transferul managementului într-o companie comercială. În cadrul proiectului Forgejo, dezvoltatorii independenți au încercat să mențină principiile anterioare de gestionare independentă și control comunitar. Codul proiectului este scris în limbajul Go. Începând cu versiunea 9.0, codul Forgejo este distribuit sub licența GPLv3+, iar codul vechi rămâne sub licența MIT.
Caracteristicile cheie ale platformei Forgejo includ un consum redus de resurse (poate fi utilizată pe un Raspberry Pi sau pe un PC ieftin VPS) și un proces simplu de instalare. Sunt oferite funcționalități standard pentru gestionarea proiectelor, cum ar fi managementul sarcinilor, urmărirea problemelor (issues), pull request-uri, wiki, instrumente pentru coordonarea grupurilor de dezvoltatori, pregătirea versiunilor, automatizarea distribuirii pachetelor în repositorii, gestionarea drepturilor de acces, integrarea cu platformele de integrare continuă, căutarea codului, autentificarea prin LDAP și OAuth, accesul la repositor cu protocoalele SSH și HTTP/HTTPS, conectarea web-hook-urilor pentru integrarea cu Slack, Discord și alte servicii, suport pentru Git hooks și Git LFS, precum și instrumente pentru migrarea și oglindirea repositoriilor. Este evidențiat în mod special suportul pentru utilizarea protocolului ActivityPub pentru unirea unor entități într-o rețea federațională. servere dezvoltatorilor.
Sursa: opennet.ro
