El software libre se rebela contra la IA

Este tipo de herramientas ha comenzado a integrarse incluso en varios entornos de desarrollo de software de forma nativa.

Madrid, España.-   

Una de las utilidades más sorprendentes de los modelos largos de lenguaje, los "motores" de las actuales inteligencias artificiales generativas y conversacionales, es que pueden generar código en varios lenguajes de programación. Los resultados no son siempre perfectos pero en algunos casos ofrecen un buen punto de partida para que un programador los refine o incluso para que alguien que no sepa programar obtenga una aplicación funcional básica.

Este tipo de herramientas ha comenzado a integrarse incluso en varios entornos de desarrollo de software de forma nativa. La plataforma GitHub, por ejemplo, ofrece desde hace tiempo GitHub Copilot, que permite crear programas o porciones de los mismos a partir de descripciones de texto en lenguaje natural.

Se han convertido también en el centro de un debate que empieza a tomar forma dentro de la comunidad de software libre, que depende de las contribuciones de varios programadores para sus proyectos y donde no siempre hay un alto grado de supervisión. Porciones de código generado con este tipo de sistemas han empezado ya a entrar en muchas de las aplicaciones de software libre mantenidas de forma desinteresada por la comunidad.

Ahora, dos populares distribuciones de sistemas operativos basados en Unix, Gentoo Linux y NetBSD, han cerrado la puerta directamente a este tipo de contribuciones. Gentoo lo hizo el pasado mes de abril y NetBSD a mediados de este mes de mayo. Los contribuyentes a estos dos proyectos deben comprometerse a no utilizar código creado con herramientas de IA generativa.

"El código generado por un modelo largo de lenguaje o tecnologías similares, como es el caso de Copilot de GitHub/Microsoft, ChatGPT de OpenAI o Llama de Facebook/Meta, es un código con impurezas y no debe añadirse sin la aprobación previa por escrito del núcleo de contribuyentes", explican de forma tajante las nuevas guías de contribución de NetBSD.

Hay tres motivos fundamentales por los que estos proyectos han tomado la decisión.

La calidad del código generado es, evidentemente, uno de ellos. Los modelos largos de lenguaje pueden "alucinar" en sus respuestas e inventarse pasos o procesos no definidos en las instrucciones originales. Esto ocurre también con las respuestas que estas IA generativas dan en lenguaje natural a cualquier pregunta o solicitud. El código que generan, en cualquier caso, no suele ser de la misma calidad o eficiencia que el creado por un programador humano.

El segundo es que estos modelos no han aprendido a programar por arte de magia. Se entrenan utilizando repositorios de código que los motores de lenguaje aprenden a combinar para poder generar las respuestas necesarias. Para hacerlo a menudo utilizan fragmentos de código ya escrito que puede tener una licencia de distribución incompatible con las que suelen usarse en proyectos de código abierto.

Y por último, ambos proyectos citan también las consideraciones éticas que emanan de la sustitución de un programador humano por un sistema automatizado.

La política, aunque es difícil de aplicar en la práctica, podría extenderse pronto a otros proyectos de software libre

Según GitHub el 92% de los desarrolladores ha usado o está experimentando con herramientas de programación con inteligencia artificial generativa lo que significa que, con toda probabilidad, porciones de código generado con inteligencia artificial están ya presentes en muchas aplicaciones.

Esta semana, la comunidad de una popular distribución de Linux, Debian, ha considerado también la cuestión pero de momento mantiene la puerta abierta a código generado por IA.