- El código abierto ha funcionado tradicionalmente sobre un modelo de trust and verify
- Con la expansión de las herramientas de IA, la barrera de entrada para contribuir prácticamente desapareció, y el modelo implícito de confianza existente ya no funciona
- Un sistema de gestión de confianza para código abierto diseñado para que solo se pueda participar si la confianza se avala explícitamente (vouch) antes de contribuir
- Los contribuidores de confianza pueden hacer vouch por otros usuarios, y los actores maliciosos pueden ser bloqueados explícitamente con denounce
denounce se mantiene como un registro público para que otros proyectos puedan consultarlo
- Cada proyecto decide de forma autónoma quién puede hacer vouch/denounce y con qué criterios
- El sistema no impone una visión de valores específica; las decisiones de política quedan en manos de la comunidad
- Todos los datos de confianza se gestionan por versiones junto con el código dentro del repositorio en un solo archivo de texto plano (VOUCHED), garantizando transparencia y portabilidad
- A largo plazo, la idea es compartir información de confianza entre proyectos mediante una red de confianza (Web of Trust)
- Los proyectos descendientes eligen si aceptan o no tal cual los criterios de un proyecto superior
- Los proyectos que hagan vouch/denounce de forma irresponsable pueden quedar excluidos naturalmente de la red de confianza
- Puede integrarse fácilmente con GitHub Actions y administrarse desde comentarios en issues o PR con palabras clave como
lgtm y denounce
- Ghostty cambió su modelo de contribución a un sistema basado en vouch
- Implementado con inspiración en el proyecto Pi, y actualmente se encuentra en etapa experimental
Comandos disponibles
- Archivo local
vouch.nu check <user>: comprobar el estado de vouch/denounce de un usuario
vouch.nu add <user>: hacer vouch por un usuario
vouch.nu denounce <user>: hacer denounce de un usuario
- Integración con GitHub
vouch.nu gh-check-pr <pr>: comprobar el estado del autor del PR y procesarlo automáticamente
vouch.nu gh-manage-by-issue <issue> <comment>: hacer vouch/denounce a partir de comentarios en issues
3 comentarios
Creo que el propio sistema tendría que ganarse autoridad para que sea aceptado.
Parece que, como está recibiendo atención, hubo algunos malentendidos, así que organizaron un FAQ por separado
https://x.com/mitchellh/status/2020628046009831542
Comentarios en Hacker News
Me parece riesgoso asumir que un usuario de confianza en un proyecto quede automáticamente como confiable en otros proyectos.
Una estructura así puede explotarse para ataques a la cadena de suministro. Un atacante podría ganarse la confianza como “buen contribuidor” en varios proyectos y luego acercarse al proyecto objetivo.
Si esa confianza cruzada se automatiza, cualquier cuenta que haya sido confiable хотя sea una vez puede convertirse en objetivo de ataque. Me parece más seguro empezar con una lista de desconfianza que con una “lista de confianza”.
Creo que sería bueno imponer un costo de $1 por enviar un PR.
Si el PR es válido, el mantenedor lo reembolsa.
Ahora comunicarse es demasiado fácil, así que hay un exceso de comunicación de baja calidad. Esto no solo carece de valor, sino que es un perjuicio que te consume tiempo
Me pregunto cómo un contribuidor nuevo, sin red de contactos, podría romper la barrera de entrada.
Aunque haya mucho ruido generado por IA, esto no me parece la solución
No estoy de acuerdo con la idea de que “el open source funciona sobre un sistema de confiar y verificar”.
Idealmente, el código debería poder evaluarse por sí mismo.
Cuando veo un PR, en pocos segundos decido si se fusiona o no. Lo difícil es redactar con cortesía la razón del rechazo.
(Referencia: repositorio de openpilot)
Me pregunto cómo evitarán que el proyecto Vouch se convierta en una burbuja cerrada como Bluesky.
Bluesky se ha ido reduciendo poco a poco después de las elecciones. Este tipo de filtrado social también podría bloquear nuevas contribuciones
Además, el objetivo de Vouch desde el inicio es justamente elevar la barrera de entrada, así que probablemente no les preocupe ese problema
Se comenta con sarcasmo que un sistema así jamás dejaría espacio para abusos en una comunidad open source sin dramas.
Se preguntan si acaso ya se compartió alguna lista negra de desarrolladores
Creo que un sistema basado en confianza solo funciona si necesariamente conlleva riesgo.
Si yo avalo a alguien y esa persona causa problemas, mi reputación también debería caer.
Al contrario, si acuso a alguien sin fundamento y resulta ser una buena persona, mi reputación también debería verse afectada.
Si no, los avales se usarán irresponsablemente y en exceso
Una estructura así incluso podría implementarse como un grafo de confianza basado en blockchain
Este sistema se siente parecido a una app de citas.
Hay demasiados candidatos no aptos pero demasiado entusiastas que filtrar, y parece que al final surgirán patrones como participación pagada, ubicación, verificación de identidad y puntajes sociales.
Últimamente cansa ver gente que quiere ganar prestigio en GitHub dejando solicitudes de contribución sin sentido
Imagino una forja minimalista que solo conserve lo que Git por sí mismo no puede hacer.
Lo central sería Identidad (Identity), atestaciones firmadas (Attestation) y política (Policy).
Vouch, entre esas piezas, se ocupa de las firmas sobre personas: una firma de “esta persona es confiable” es estructuralmente igual a una firma de “este commit pasó las pruebas”.
Es decir, es una capa de política que controla la participación misma.
Este tipo de función debería existir como metadatos dentro del repo, no en una plataforma cerrada como GitHub.
Me da curiosidad hasta dónde evolucionará esta idea en cinco años
En una era donde el código generado por LLM va en aumento, esta infraestructura de reputación podría volverse un elemento esencial de internet
Al principio parecía razonable, pero al final da la impresión de desembocar en una estructura donde solo puede contribuir gente de confianza
(wiki de killfile, DNS blocklist)