Мэттью Миллер (Matthew Miller), лидер проекта Fedora, представил инициативу по уходу от использования собственной платформы совместной разработки Pagure. В качестве замены управляющий совет Fedora Council отдал предпочтение платформе Forgejo, но перед утверждением перехода на Forgejo решил провести публичное обсуждение своего выбора и учесть мнение сообщества. Финальное голосование будет проведено через 2 недели и до этого времени любой может поделится своими мыслями по поводу сделанного выбора.
Используемая ныне собственная платформа 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, подключение web-хуков для интеграции со Slack, Discord и другими сервисами, поддержка Git-хуков и Git LFS, инструменты для миграции и зеркалирования репозиториев. Отдельно выделяется возможность использования протокола ActivityPub для объединения в федеративную сеть отдельных серверов разработчиков.
|