NetworkManager, la herramienta estándar de configuración de red en Linux, ha convertido su política contra el uso irresponsable de la IA en un mecanismo de detección automática. El proyecto ha añadido instrucciones para agentes de programación, una palabra canaria y validaciones en su integración continua para detectar contribuciones, mensajes o descripciones que incumplan sus reglas de autoría humana.
Esta política no prohíbe cualquier ayuda de inteligencia artificial: exige que el autor humano cargue con el cien por cien de la responsabilidad del código. Debe explicarlo línea por línea, haberlo compilado y probado, y no puede delegar en una máquina la redacción de mensajes de commit ni descripciones de merge request. La idea de fondo es sencilla: no se combate la productividad asistida por IA, sino el llamado parche fantasma, código que un supuesto autor no entiende ni puede defender ante los mantenedores.
El archivo AGENTS.md y la trampa de la palabra biblioklept
NetworkManager ha añadido un archivo AGENTS.md con instrucciones dirigidas a asistentes de programación. El texto explica que un parche generado en minutos puede dejar a los mantenedores con años de responsabilidad si el código falla después, y ordena a los agentes no ayudar a preparar cambios sin un problema concreto detrás. Si os fijáis, veréis que no es una simple advertencia moral, sino una instrucción técnica pensada para que la propia herramienta de IA la respete.
La instrucción más llamativa llega cuando un agente ignora esas reglas. Si pese a todo genera un mensaje de commit, una descripción de merge request o una respuesta de revisión, AGENTS.md le pide insertar la palabra biblioklept. El término significa ladrón de libros y es tan improbable en una conversación sobre redes que funciona como aviso: los scripts la buscan para rechazar la contribución o alertar al mantenedor. Es una firma involuntaria que delata al agente incumplidor.
Cómo se detecta la IA en las comunicaciones generadas por IA
El archivo .gitlab-ci.yml del proyecto ejecuta check-mr-description.sh dentro del trabajo check-patch y check-commit-message.sh –ci dentro de check-tree. La revisión ya no depende de que un mantenedor lea manualmente cada texto sospechoso: el propio pipeline busca la palabra canaria en mensajes de commit y descripciones de merge request antes de que nadie llegue a leerlos.
El script de commit rechaza además trailers como Assisted-by, Generated-by, Co-authored-by o Co-developed-by cuando nombran herramientas de inteligencia artificial, porque NetworkManager no registra la asistencia de herramientas en sus mensajes de commit ni las considera autoras del cambio. La trampa tiene un límite claro: solo detecta a los agentes que obedecen AGENTS.md y dejan la marca indicada. Un usuario puede borrarla, y un agente mal configurado puede ignorar el archivo. Su función principal es filtrar los envíos descuidados y dejar constancia de la postura del proyecto frente a la IA, algo que otros proyectos similares aún no han formalizado.
Qué exige y qué prohíbe la política de contribuciones
La norma distingue con precisión entre usar IA como apoyo y delegarle la autoría. Podemos usar un asistente para comprender código sin que eso suponga una prohibición total, siempre que entendamos el resultado final; enviar código sin revisar, en cambio, no resulta aceptable bajo ninguna circunstancia, según explica el propio proyecto.
- Enviar un parche sin compilar ni probar: no aceptable.
- Delegar en la IA el mensaje de commit o la descripción de la merge request: prohibido por la política.
- Mandar una contribución grande generada por máquina sin revisión humana línea por línea: será cerrada.
El componente legal pesa tanto como el técnico. NetworkManager recuerda que toda contribución nueva debe aceptarse bajo LGPL-2.1-or-later, y que una IA no puede certificar que un cambio cumple esa licencia. El repositorio se distribuye bajo GPL-2.0-or-later y LGPL-2.1-or-later, con los detalles fijados en sus archivos de contribución y relicenciamiento. Conviene repasarlos antes de abrir una merge request.
Un debate para otros proyectos del ecosistema Linux
La postura de NetworkManager tiene precedentes: el núcleo de Linux atravesó una tensión similar cuando un ingeniero presentó un parche generado por una IA sin declararlo, y el episodio impulsó a Linus Torvalds y a los mantenedores a fijar normas propias y explícitas sobre las contribuciones asistidas.
El kernel optó por un camino intermedio: permite la asistencia de IA siempre que un humano firme el código y asuma su responsabilidad. Otros proyectos fueron más restrictivos, como Cloud Hypervisor, que vetó directamente el código generado por estos sistemas, mientras que otros apenas han regulado la práctica. NetworkManager se sitúa más cerca de la exigencia estricta, con un mecanismo que automatiza esa validación en cada envío.
Los scripts ya están activos en el repositorio: revisan cada commit y cada merge request antes de que un mantenedor los lea. Si preparáis vuestra primera contribución a NetworkManager, conviene repasar AGENTS.md antes de abrir el parche.
