Fedora w drodze do przeniesienia usług Git dla wspólnego rozwoju na platformę Forgejo

Matthew Miller, lider projektu Fedora, zaprezentował inicjatywę odejścia od używania własnej platformy współpracy Pagure. Jako alternatywę zarząd Fedora Council wybrał platformę Forgejo, ale przed zatwierdzeniem przejścia na Forgejo postanowił przeprowadzić publiczną dyskusję na ten temat i uwzględnić opinie społeczności. Ostateczne głosowanie odbędzie się za dwa tygodnie, a do tego czasu każdy może podzielić się swoimi przemyśleniami na temat podjętego wyboru.

Obecnie używana własna platforma Pagure przestała być efektywna, wymaga dużych zasobów do utrzymania, znajduje się w stagnacji i nie zyskała szerokiego uznania poza Fedory. W 2020 roku podjęto już próbę zastąpienia Pagure GitLabem, jednak inicjatywa ta nie posunęła się dalej niż do dyskusji. W bieżącym roku, po ocenie istniejących platform współpracy, stwierdzono, że projekt potrzebuje otwartego rozwiązania, odpowiedniego do wdrożenia na własnych serwerach. Najlepiej spełniającymi postulaty były GitLab Community Edition i Forgejo.

Platformy GitLab i Forgejo mają swoje zalety i wady, a obie wymagają pewnych poprawek, aby odtworzyć funkcjonalność platformy Dist Git opartej na Pagure, stosowanej przy tworzeniu Fedora Linux. Szczególnie w nowej platformie konieczne będzie zapewnienie integracji z pokrewnymi usługami projektu, takimi jak Bodhi, Fedora CI, COPR, Fedpkg, Hotness, Fedora Notifications, Toddlers, Fedora Messaging, Monitor Gating, Release Engineering Scripts, Fedora Packagers oraz Packit.

Po rozważeniu wszystkich argumentów członkowie zarządu wybrali jako preferowaną platformę Forgejo, ponieważ rozwija się ona pod auspicjami niezależnej społeczności, podczas gdy GitLab jest produktem komercyjnej firmy, rozwijanym zgodnie z modelem Open Core, w którym niektóre rozszerzone funkcje, w tym te wymagane w Fedora, dostępne są tylko w komercyjnym produkcie. Przy wyborze uwzględniono także obawę, że z czasem polityka GitLab może się zmienić, a projekt może stać się mniej otwarty. Dodatkowym argumentem na rzecz Forgejo było to, że język Go i baza kodu Forgejo okazały się bardziej znajome dla zespołu odpowiedzialnego w Fedory za infrastrukturę, niż język Ruby używany w GitLab.

Platforma Forgejo jest przeznaczona do wdrażania systemu współpracy z repozytoriami Git, przypominającego pod względem rozwiązywanych zadań GitHub, Bitbucket i Gitlab. Forgejo jest forkiem projektu Gitea, który z kolei wyewoluował z platformy Gogs. Oddzielenie Forgejo miało miejsce w 2022 roku po próbach komercjalizacji Gitea i przejęciu zarządzania przez firmę komercyjną. W ramach projektu Forgejo niezależni deweloperzy starali się zachować dotychczasowe zasady niezależnego zarządzania i kontroli przez społeczność. Kod projektu napisany jest w języku Go. Począwszy od wersji 9.0, kod Forgejo jest udostępniany na licencji GPLv3+, podczas gdy starszy kod pozostaje na licencji MIT.

Kluczowymi cechami platformy Forgejo jest niskie zużycie zasobów (może być używane na płycie Raspberry Pi lub w tanich VPS) oraz prosty proces instalacji. Oferuje standardowe możliwości pracy z projektami, takie jak zarządzanie zadaniami, śledzenie problemów (issues), pull-requesty, wiki, narzędzia do koordynacji grup programistów, przygotowanie wydań, automatyzacja publikacji pakietów w repozytoriach, zarządzanie uprawnieniami dostępu, integracja z platformami CI, przeszukiwanie kodu, autoryzacja przez LDAP i OAuth, dostęp do repozytorium za pomocą protokołów SSH oraz HTTP/HTTPS, połączenie web-huków dla integracji z Slack, Discord i innymi serwisami, wsparcie dla Git-hooks i Git LFS oraz narzędzia do migracji i lustrzania repozytoriów. Szczególnie wyróżnia się możliwość wykorzystania protokołu ActivityPub do łączenia w federacyjną sieć poszczególnych serwerów programistów.

Źródło: opennet.ru

Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster