Матю Милър, лидер на проекта Fedora, представи инициатива за преход от собствената си платформа за съвместна работа Pagure. Като заместител, Управителният съвет на Fedora Council предпочете платформата Forgejo, но реши да проведе публична дискусия за своя избор и да вземе предвид мнението на общността, преди да утвърди прехода към Forgejo. Финалното гласуване ще се проведе след две седмици и до тогава всеки може да сподели своите мисли относно направения избор.
В момента използваната собствена платформа Pagure е остаряла, изисква значителни ресурси за поддръжка, намира се в състояние на стагнация и не е получила широко разпространение извън Fedora. През 2020 година вече беше направен опит за замяна на Pagure с GitLab, но инициативата не напредна извън обсъжданията. През настоящата година, след оценка на съществуващите платформи за съвместна работа, беше констатирано, че проектът има нужда от открито решение, подходящо за разгръщане на собствените си сървъри. Най-добре на поставените критерии отговаряха GitLab Community Edition и Forgejo.
Платформите GitLab и Forgejo имат своите плюсове и минуси, и двете изискват определени доработки, за да се възпроизведе функционалността на платформата Dist Git на базата на Pagure, използвана при разработката на Fedora Linux. В частност, новата платформа трябва да осигури интеграция с придружаващите услуги на проекта, като Bodhi, Fedora CI, COPR, Fedpkg, Hotness, Fedora Notifications, Toddlers, Fedora Messaging, Monitor Gating, Release Engineering Scripts, Fedora Packagers и Packit.
След като взеха предвид всички аргументи, участниците в управителния съвет избраха като предпочитана платформа Forgejo, тъй като тя се развива от независима общност, докато GitLab е продукт на търговска компания, развиван в съответствие с модела Open Core, при който някои разширени функции, които са необходими на Fedora, са налични само в търговския продукт. При избора беше взето предвид и опасението, че с времето политиката на GitLab може да се промени и проектът да стане по-малко открит. Допълнителен аргумент в полза на Forgejo беше, че езикът Go и кодовата база на Forgejo се оказаха по-познати на екипа, отговарящ за инфраструктурата в Fedora, в сравнение с езика Ruby, използван в GitLab.
Платформата Forgejo е предназначена за внедряване на система за сътрудничество с Git хранилища, напомняща на GitHub, Bitbucket и Gitlab. Forgejo е форк на проекта Gitea, който от своя страна се отдели от платформата Gogs. Отделянето на Forgejo настъпи през 2022 година след опити за комерсиализация на Gitea и предаване на управлението в ръцете на търговска компания. В рамките на проекта Forgejo независими разработчици се опитаха да запазят предишните принципи на независимо управление и отчетност към общността. Кодът на проекта е написан на езика Go. От версия 9.0 кодът на Forgejo се разпространява под лиценз GPLv3+, а старият код остава под лиценз MIT.
Ключовите особености на платформата Forgejo включват ниска консумация на ресурси (може да се използва на дъска Raspberry Pi или в евтини VPS) и прост процес на инсталиране. Предоставят се стандартни функции за работа с проекти, като управление на задачи, проследяване на проблеми (issues), pull заявки, wiki, средства за координация на екипи от разработчици, подготовка на издания, автоматизация на разполагането на пакети в репозиториите, управление на права за достъп, интеграция с платформи за непрекъсната интеграция, търсене на код, аутентикация чрез LDAP и OAuth, достъп до репозитория по протоколите SSH и HTTP/HTTPS, свързване на уеб хук за интеграция с Slack, Discord и други услуги, поддръжка на Git hook и Git LFS, инструменти за миграция и огледално копие на репозитории. По-специално се откроява възможността за използване на протокола ActivityPub за свързване в федеративна мрежа на отделни сървъри разработчици.
Източник: opennet.ru
