Foi lançado o Forgejo 9.0, uma plataforma de desenvolvimento colaborativo que permite implantar em seus próprios servidores um sistema para colaboração em repositórios Git, semelhante ao GitHub, Bitbucket e GitLab. O Forgejo é um fork do projeto Gitea, que por sua vez se originou da plataforma Gogs. A separação do Forgejo ocorreu em 2022 após tentativas de comercialização do Gitea e a transferência de sua gestão para uma empresa comercial. O projeto Forgejo adere aos princípios de gestão independente e responsabilidade comunitária. O serviço de hospedagem Git Codeberg.org agora utiliza o Forgejo. O código do projeto é escrito em Go e é distribuído sob a licença MIT.
As principais características da plataforma incluem baixo consumo de recursos (pode ser utilizado em uma placa Raspberry Pi ou em dispositivos de baixo custo 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.
Principais mudanças:
- Foi feita a transição de uma licença permissiva MIT para uma licença copyleft GPLv3+ para o novo código. A mudança de licença facilitará o uso de código sob licenças copyleft que não são compatíveis com a MIT, além de reduzir o risco de práticas comerciais desonestas, como a vinculação do usuário a um fornecedor específico e a criação de versões modificadas do Forgejo que são distribuídas com restrições adicionais.
- Foi adicionada a implementação inicial de um sistema de quotas personalizáveis, que permite limitar o tamanho dos dados do usuário no servidor. A implementação é baseada na configuração de quotas suaves (soft quota), cujo limite é verificado apenas antes da execução de operações, mas não é restringido caso o limite seja ultrapassado durante a execução das operações.
- O uso de chaves SSH em vez de senhas para autenticação de operações de espelhamento foi permitido.
- Para trabalhar com Git, foi mantido apenas o backend baseado nas ferramentas padrão do Git. O backend go-git, que implementava Git na linguagem Go, foi removido, o que simplificará a manutenção, permitirá o desenvolvimento do Forgejo sem depender das funcionalidades do go-git e eliminará problemas de corrupção de repositórios que ocorriam no go-git.
- O provedor de sessões baseado no banco de dados Couchbase foi removido, pois depende de software não livre, cujas possibilidades de teste são limitadas.
Fonte: opennet.ru
