No hagas publicidad en tus commits
(akselmo.dev)- Los mensajes de commit son un espacio para información técnica, y frases como “Assisted by blabot” terminan siendo publicidad que expone el nombre de una herramienta o empresa
- Aunque los proyectos de código abierto no reciben dinero de esas empresas, se vuelve problemático que usuarios que pagan una suscripción metan frases promocionales dentro de los commits
- Si hace falta indicar que se usó una herramienta de IA, es mejor hacerlo en el merge request; en el commit resulta más apropiada una expresión genérica como “generated by an LLM”
- Las herramientas que insertan automáticamente frases publicitarias en commits, correos u otros mensajes son malas herramientas; el punto central no es usar la herramienta, sino la contaminación de los metadatos
- Incluso formatos como “Co-authored-by”, si van más allá de la información técnica de colaboración y se usan para exponer un bot o servicio específico, se convierten en espacio publicitario gratuito
Los mensajes de commit deberían ser un espacio de información técnica
- Poner frases como “Assisted by blabot”, “co-authored-by: slopgpt”, “sent from my fartphone” en los mensajes de commit termina siendo publicidad que expone el nombre de una empresa o herramienta
- Aunque los proyectos de código abierto no reciben dinero de esas empresas, el problema es la dinámica en la que usuarios que pagan una suscripción terminan metiendo frases promocionales de la empresa dentro del commit
- Se da la contradicción de usar bloqueadores de anuncios y aun así meter publicidad en los commits
- Un commit debe contener información técnica, no ser un espacio de promoción para una herramienta o empresa específica
Cómo revelar el uso de herramientas de IA
- Si es necesario, el uso de herramientas de IA puede revelarse en el merge request
- En el commit, en vez de poner el nombre de una empresa o producto específico, es más apropiado dejar una expresión genérica como “generated by an LLM”
- Incluir el nombre de una empresa específica en un commit equivale a darle espacio publicitario gratuito
- También existe la opción de simplemente no usar este tipo de herramientas
Criterios para evaluar herramientas
- Las herramientas que insertan automáticamente frases publicitarias en commits, correos electrónicos u otros mensajes pueden considerarse malas herramientas
- El problema de fondo no es tanto si se usa o no la herramienta, sino la manera en que frases promocionales de una empresa se cuelan en los metadatos o mensajes del contenido generado
- Incluso un formato como “Co-authored-by”, si se usa para exponer un bot o servicio específico más allá de la información técnica de colaboración, se convierte en publicidad
Postura relacionada
- Why I will likely never use AI programming tools: resumen aparte de su postura sobre la IA
1 comentarios
Opiniones de Lobste.rs
Es cierto que las herramientas que agregan publicidad a mensajes como commits o correos son realmente malas, pero la solución no es hacer más difícil detectar el uso de malas herramientas, sino no usarlas
Personalmente, hasta agradezco que la gente que hace esto quiera delatarse sola
Al final, la verdadera solución es no usar herramientas que metan publicidad en el resultado
A mucha gente le importa evitar el código generado por LLM, así que no me parece correcto ir en la dirección de reducir la divulgación de su uso
Si esa información va en el mensaje del commit, también es más fácil determinar automáticamente si una base de código contiene código generado por LLM con herramientas como slopcheck
Pero lo importante no es qué LLM se usó, sino el hecho de que se usó un LLM. Si los usuarios de estas herramientas cambiaran a ese formato, se podría reducir el daño de la publicidad a productos específicos y al mismo tiempo cumplir con la necesidad de transparencia
Entiendo perfectamente a qué se refieren, pero en una parte lo veo un poco distinto
No me gusta nada cómo las empresas de IA están obteniendo publicidad completamente gratis ni la forma en que se infiltran en el software de código abierto
Aun así, me opongo a que la divulgación quede solo en las solicitudes de merge. No todo el mundo revisa las solicitudes de merge, y para saber si se puede confiar en este commit no debería hacer falta depender de otra cosa que no sea el historial de git
Pero en el caso del código generado por LLM no veo muy bien qué significado tiene. Que herramientas como Dependabot firmen commits me parece bien, porque cuando algo sale mal eso da información útil para corregir el problema y evitar que vuelva a pasar
Entonces, ¿qué tal usar algo como “Proudly typed in nano”? :D
Si Visual Studio empezara a agregar “Made using Visual Studio” a mis commits, creo que me enojaría bastante
Sent using
Firefox 140.10.2esr (64-bit)
Debian GNU/Linux 13 (trixie) x86_64
Linux 6.12.86+deb13-amd64
Using locally sourced electricity from free range waterfalls
Method names suggested by Microsoft IntelliSense (R) and Pyright (TM)\
Grammar and spelling corrections by Apple Intelligence (R)
Tal vez sea por la misma razón por la que la gente usa camisetas con “Nike” o “Adidas”
Tal vez sería mejor usar ropa deportiva
Si programo en pareja con alguien y hago el commit, su nombre va en co-authored-by
Cuando programo, considero que la contribución de un LLM sí es lo bastante grande como para reconocerla en el commit. Yo hago el commit y asumo la responsabilidad, pero no soy el único autor de ese código
Sin embargo, nunca he visto a nadie apurarse a poner en un commit “consulté Google para escribir esto y presioné tab cuatro veces en xcode”
Puedes iniciar un proyecto de Spring, generar algo en Go con echo o cobra CLI, o crear boilerplate de Laravel. Hay generadores en muchos lenguajes
Aun así, no agregamos “co-authored by X tool”
No es exactamente lo mismo, lo sé, pero se parece. Estás metiendo metadatos de herramienta en el conjunto de cambios. No hace falta. Basta con poner los conceptos de negocio relevantes y avisos sobre decisiones técnicas
No hay necesidad de mencionar la herramienta
No sé si el servidor web está sobrecargado, si está mal configurado o si me clasificó como bot, pero tengo que esperar unos 30 segundos para una conexión HTTPS
Más bien me parece una buena señal. Es una buena forma de ver cuánto esfuerzo, o qué tan poco esfuerzo, se puso en el código
Estoy muy en contra de la publicidad, pero no porque quiera que nadie conozca o use productos de consumo
Sino porque quiero que la gente obtenga información exacta y sin sesgos sobre los productos de consumo
No creo que poner esta información en los commits genere sesgo. Que Claude, Copilot o lo que sea haya intervenido en hacer ese commit es claramente un hecho, y mucha gente tiene un interés razonable en saberlo en ese contexto. En cambio, que el autor del commit haya usado Emacs no es información que le importe a nadie. Esto no está ahí sin motivo
Si no te gusta, puedes configurar tu user agent para que no lo emita