- O código aberto tradicionalmente tem operado sobre um modelo de trust and verify
- Com a disseminação de ferramentas de IA, a barreira de entrada para contribuir praticamente desapareceu, e o antigo modelo implícito de confiança já não funciona mais
- Um sistema de gestão de confiança para código aberto projetado para permitir participação somente após uma garantia explícita de confiança (vouch) antes da contribuição
- Contribuidores confiáveis podem dar vouch a outros usuários, e agentes maliciosos podem ser bloqueados explicitamente com denounce
denounce é mantido como registro público, permitindo que outros projetos o usem como referência
- Quem pode dar
vouch/denounce, e com quais critérios, é uma decisão autônoma de cada projeto
- O sistema não impõe valores específicos, e as decisões de política cabem à comunidade
- Todos os dados de confiança são versionados junto com o código em um único arquivo de texto simples (
VOUCHED) dentro do repositório, garantindo transparência e portabilidade
- No longo prazo, a estrutura pretende compartilhar informações de confiança por meio da formação de uma rede de confiança (Web of Trust) entre projetos
- Cabe aos projetos dependentes decidir se aceitam ou não integralmente os julgamentos de projetos superiores
- Projetos que fazem
vouch/denounce de forma indiscriminada podem ser naturalmente excluídos da rede de confiança
- Pode ser integrado facilmente com GitHub Actions e gerenciado em comentários de issues ou PRs com palavras-chave como
lgtm e denounce
- O Ghostty migrou seu modelo de contribuição para um sistema baseado em
vouch
- Implementado com inspiração no projeto Pi, e no momento está em fase experimental
Comandos disponíveis
- Arquivo local
vouch.nu check <user>: verifica o estado de vouch/denounce do usuário
vouch.nu add <user>: dá vouch ao usuário
vouch.nu denounce <user>: faz denounce do usuário
- Integração com GitHub
vouch.nu gh-check-pr <pr>: verifica o estado do autor do PR e processa automaticamente
vouch.nu gh-manage-by-issue <issue> <comment>: faz vouch/denounce com base em comentários de issue
3 comentários
Parece que o próprio sistema precisa conquistar autoridade para ser aceito.
Parece que o assunto gerou interesse, mas também alguns mal-entendidos, então ele organizou um FAQ separado.
https://x.com/mitchellh/status/2020628046009831542
Comentários do Hacker News
Acho arriscado presumir que um usuário confiável em um projeto será automaticamente confiável em outros projetos
Esse tipo de estrutura pode ser explorado em ataques à cadeia de suprimentos. Isso porque um atacante pode construir confiança como um “bom contribuidor” em vários projetos e depois se aproximar do projeto-alvo
Se essa confiança cruzada for automatizada, qualquer conta que tenha sido confiável ao menos uma vez pode virar alvo de ataque. Em vez de começar com uma “lista de confiança”, parece mais seguro começar com uma “lista de desconfiança”
Acho que seria bom cobrar um custo de US$ 1 para enviar um PR.
Se o PR for válido, o mantenedor devolve o valor.
Hoje em dia comunicar ficou fácil demais, então estamos inundados por comunicação de baixa qualidade. Isso não é apenas algo sem valor, é um mal que consome tempo
Fico me perguntando como um novo contribuidor sem rede de contatos conseguiria romper a barreira de entrada.
Mesmo que haja muito ruído gerado por IA, essa não é a solução
Não concordo com a frase “open source funciona sobre um sistema de confiar e verificar”.
Idealmente, o próprio código deveria poder ser avaliado por si só.
Quando vejo um PR, decido em poucos segundos se vou fazer merge ou não. O difícil é escrever de forma educada o motivo da rejeição.
(Referência: repositório openpilot)
Fico curioso sobre como o projeto Vouch pretende evitar virar uma bolha fechada, como o Bluesky.
O Bluesky vem encolhendo desde a eleição. Esse tipo de filtragem social também pode bloquear novas contribuições
Além disso, como o objetivo do Vouch desde o início é elevar a barreira de entrada, provavelmente isso nem seria visto como problema
Um comentário sarcástico: claro que um sistema desses jamais seria abusado em uma comunidade open source sem dramas.
Fico me perguntando se por acaso já compartilharam uma lista negra de desenvolvedores
Acho que um sistema baseado em confiança só funciona de verdade se envolver risco.
Se eu garantir alguém e essa pessoa causar problemas, minha reputação também deveria cair.
Por outro lado, se eu acusar alguém sem fundamento e essa pessoa for ok, minha reputação também deveria ser reduzida.
Caso contrário, o aval será usado de forma irresponsável e abusiva
Talvez uma estrutura dessas pudesse ser implementada como um grafo de confiança baseado em blockchain
Esse sistema lembra um app de namoro.
Há muitos candidatos desqualificados excessivamente motivados que precisam ser filtrados, e parece que no fim vão surgir padrões como participação paga, baseada em localização, verificação de identidade e pontuação social.
Hoje em dia é cansativo ver gente tentando ganhar fama no GitHub com pedidos de contribuição sem sentido
Imaginei uma estrutura mínima de forge que deixasse só o que o Git não consegue fazer por padrão.
O núcleo seriam identidade (Identity), atestados assinados (Attestation) e política (Policy).
O Vouch lida, entre essas coisas, com assinaturas sobre pessoas — uma assinatura dizendo “essa pessoa é confiável” tem estruturalmente o mesmo formato que uma assinatura dizendo “este commit passou nos testes”.
Ou seja, é uma camada de política para controlar a própria participação.
Esse tipo de funcionalidade deveria existir como metadados dentro do repositório, não em uma plataforma fechada como o GitHub.
Fico curioso para ver até onde essa ideia vai evoluir nos próximos 5 anos
Numa era em que o código gerado por LLM só aumenta, esse tipo de infraestrutura de reputação pode se tornar um elemento essencial da internet
No começo parecia ok, mas no fim isso parece resultar em uma estrutura de “só pessoas confiáveis podem contribuir”
(killfile wiki, DNS blocklist)