- Manganin é um forge Git em desenvolvimento em Zig com o objetivo de oferecer um gerenciamento moderno de código-fonte sem concessões, buscando novas formas de colaboração em vez de copiar o modelo tradicional do GitHub
- Contribuidores precisam do aval de membros existentes para criar issues e PRs, e uma árvore de aval (vouch tree) que rastreia a cadeia de responsabilidade por usuário protege o tempo e a atenção da equipe principal
- Com foco em auto-hospedagem, elimina formatos de dados proprietários e dependência de fornecedor, armazenando todos os dados em arquivos de texto simples do Git e exigindo o mínimo de hardware
- Também pode ser configurado para exigir aval até para clonar repositórios, bloqueando bots não autorizados e raspadores para treinamento de modelos sem JavaScript, redirecionamentos ou lentidão
- Busca reduzir o atrito e a inconveniência do modelo tradicional do GitHub com um fluxo de trabalho local-first em que issues podem ser criadas e editadas offline no editor de preferência e sincronizadas com Git
Estrutura de contribuição baseada em confiança
- Manganin é um forge Git) escrito em Zig
- O nome vem de uma liga de manganês e cobre cuja resistividade elétrica permanece relativamente constante mesmo com mudanças de temperatura
- O número de linhas de código em um PR nem sempre é proporcional à qualidade ou ao esforço investido, e o tempo e a atenção de mantenedores de open source estão cada vez mais escassos por causa do burnout
- O apelo nas redes sociais faz até quem nunca usou um projeto ter opiniões fortes sobre ele
- Na árvore de aval, novos contribuidores precisam receber o aval de contribuidores existentes
- Quem dá o aval promete que o usuário avalizado seguirá as regras do projeto
- Usuários avalizados ganham permissão para contribuir com o projeto, como criar issues e enviar PRs
- É possível rastrear a relação de responsabilidade de cada usuário até o topo da árvore, e pode haver consequências também para quem deu aval a um usuário que atrapalhou o projeto de forma deliberada
- A proposta é criar um ambiente de alta confiança, ligando o quanto alguém pode desperdiçar o tempo da equipe principal ao seu nível de confiança
- O caso comparativo citado é a estrutura de usuários do lobste.rs, onde até temas difíceis costumam ser discutidos com educação e casos de bloqueio são raros
Auto-hospedagem e propriedade dos dados
- A estrutura é centrada em auto-hospedagem para evitar formatos de dados proprietários e dependência de fornecedor, além de manter requisitos mínimos de hardware
- Operadores possuem diretamente o ambiente de implantação e os dados, e os dados são armazenados no Git como arquivos de texto simples
- Pode-se configurar para que apenas usuários avalizados possam clonar repositórios, bloqueando bots não autorizados e raspadores para treinamento de modelos
Reimaginando o modelo tradicional de forge Git
- Embora a maioria dos forges Git existentes ofereça funções parecidas, o Manganin quer trazer mais diversidade ao ecossistema de controle de versão com um novo modelo de colaboração
- No mínimo, a meta é oferecer um modelo único para desenvolvimentos futuros; no melhor cenário, tornar-se uma ferramenta que acelere o desenvolvimento de projetos open source existentes
- O GitHub ocupa uma posição enorme no desenvolvimento de software, a ponto de ser visto quase como sinônimo de Git
- Forgejo e Codeberg foram projetados como substitutos drop-in do GitHub, mas o Manganin busca uma hospedagem de código-fonte baseada em Git que não fique presa a decisões de design de décadas atrás
- A proposta imagina um fluxo em que issues são criadas e editadas offline no editor de texto preferido, depois sincronizadas de forma Git-native e local-first usando ferramentas existentes e já validadas
- Em todas as etapas de design e implementação, busca manter o cuidado para reduzir o atrito e a inconveniência criados pelo modelo do GitHub e oferecer soluções melhores para problemas comuns de fluxo de trabalho
- O objetivo final é servir aos usuários, mais do que à própria ferramenta
Ainda não há comentários.