Matthew Miller, líder do projeto Fedora, apresentou a iniciativa de abandonar o uso da sua própria plataforma de desenvolvimento colaborativo, Pagure. Como alternativa, o conselho de administração do Fedora Council preferiu a plataforma Forgejo, mas decidiu conduzir uma discussão pública sobre sua escolha antes de aprová-la e considerar a opinião da comunidade. A votação final será realizada em duas semanas e, até lá, qualquer pessoa pode compartilhar suas opiniões sobre a escolha feita.
A atual plataforma proprietária Pagure se tornou obsoleta, exige muitos recursos para manutenção, está em estado de estagnação e não ganhou ampla adoção fora do Fedora. Em 2020, uma tentativa de substituição do Pagure pelo GitLab foi feita, mas essa iniciativa não foi além das discussões. Neste ano, após uma avaliação das plataformas de desenvolvimento colaborativo existentes, ficou claro que o projeto precisava de uma solução aberta, adequada para implantação em seus próprios servidores. Os critérios que atendiam melhor a essas necessidades foram o GitLab Community Edition e o Forgejo.
As plataformas GitLab e Forgejo têm seus prós e contras, e ambas requerem certas adaptações para recriar a funcionalidade da plataforma Dist Git baseada no Pagure, utilizada no desenvolvimento do Fedora Linux. Em particular, a nova plataforma precisará garantir a integração com serviços associados do projeto, como Bodhi, Fedora CI, COPR, Fedpkg, Hotness, Fedora Notifications, Toddlers, Fedora Messaging, Monitor Gating, Release Engineering Scripts, Fedora Packagers e Packit.
Pesando todos os argumentos, os membros do conselho de administração escolheram a plataforma Forgejo como preferida, pois ela é desenvolvida por uma comunidade independente, enquanto o GitLab é um produto de uma empresa comercial, desenvolvido sob o modelo Open Core, onde algumas funções avançadas, incluindo aquelas necessárias no Fedora, estão disponíveis apenas no produto comercial. Durante a escolha, também foi levado em conta o receio de que, ao longo do tempo, a política do GitLab pudesse mudar e o projeto se tornasse menos aberto. Outro argumento a favor do Forgejo foi que a linguagem Go e a base de código do Forgejo eram mais familiares para a equipe responsável pela infraestrutura no Fedora do que a linguagem Ruby usada no GitLab.
A plataforma Forgejo é destinada à implementação de um sistema de colaboração com repositórios Git, semelhante às soluções oferecidas pelo GitHub, Bitbucket e Gitlab. Forgejo é um fork do projeto Gitea, que por sua vez se originou da plataforma Gogs. O desmembramento do Forgejo ocorreu em 2022, após tentativas de comercialização do Gitea e a transferência de gestão para uma empresa comercial. Neste projeto, desenvolvedores independentes buscaram manter os princípios de gestão independente e controle da comunidade. O código do projeto é escrito na linguagem Go. Desde o lançamento da versão 9.0, o código do Forgejo está sob a licença GPLv3+, enquanto o código antigo permanece sob a licença MIT.
As principais características da plataforma Forgejo incluem baixo consumo de recursos (pode ser utilizado em placas Raspberry Pi ou em sistemas mais baratos VPS) e um processo de instalação simples. São oferecidas funcionalidades padrão para o gerenciamento de projetos, como gerenciamento de tarefas, rastreamento de problemas (issues), pull requests, wiki, ferramentas para coordenação de grupos de desenvolvedores, preparação de lançamentos, automação da publicação de pacotes em repositórios, gestão de permissões, integração com plataformas de integração contínua, busca de código, autenticação via LDAP e OAuth, acesso ao repositório pelos protocolos SSH e HTTP/HTTPS, integração de webhooks para serviços como Slack, Discord e outros, suporte a Git hooks e Git LFS, além de ferramentas para migração e espelhamento de repositórios. Destaca-se ainda a possibilidade de usar o protocolo ActivityPub para integrar desenvolvedores em uma rede federativa. servidores desenvolvedores.
Fonte: opennet.ru
