Durante décadas, los ingenieros de software y programadores han utilizado una técnica conocida como ingeniería inversa de “clean room” para recrear la funcionalidad de un programa sin copiar directamente su código protegido por derechos de autor.
Este método permite desarrollar software compatible con otro existente evitando infringir licencias o copyrights.
Sin embargo, el auge de las herramientas de programación basadas en inteligencia artificial está introduciendo nuevos dilemas legales y éticos. La capacidad de la IA para analizar, comprender y generar código plantea una pregunta cada vez más relevante: si una IA reescribe un proyecto de código abierto desde cero, ¿puede también cambiar la licencia original del software?
Este debate ha cobrado especial atención recientemente con un caso relacionado con la biblioteca de Python chardet.
El caso de la biblioteca chardet
La controversia surgió tras el lanzamiento de la versión 7.0 de chardet, una popular biblioteca de Python utilizada para detectar automáticamente codificaciones de texto.
El proyecto fue creado originalmente en 2006 por Mark Pilgrim, quien lo publicó bajo la licencia LGPL, una licencia de software libre que establece ciertas restricciones sobre su reutilización y redistribución.
En 2012, el mantenimiento del repositorio pasó a manos del desarrollador Dan Blanchard, quien continuó gestionando el proyecto durante los años siguientes.
Una reescritura completa con ayuda de IA
La polémica comenzó cuando Blanchard anunció que la nueva versión chardet 7.0 era una reescritura completa desde cero del proyecto.
Según explicó el desarrollador, el nuevo código fue generado con la ayuda de Claude Code, una herramienta de programación asistida por inteligencia artificial.
El resultado fue una versión que, según Blanchard:
- es mucho más rápida
- mejora la precisión
- fue desarrollada en aproximadamente cinco días
Además, la nueva versión se publicó bajo la licencia MIT, mucho más permisiva que la LGPL, lo que permite su uso incluso en proyectos de software propietario.
Blanchard señaló que esta reescritura buscaba solucionar varios problemas que impedían integrar la biblioteca en la biblioteca estándar de Python, entre ellos:
- la licencia original
- el rendimiento
- la precisión del algoritmo
Críticas sobre el cambio de licencia
No todos en la comunidad estuvieron de acuerdo con esta decisión.
Una cuenta en GitHub identificada como Mark Pilgrim cuestionó el cambio de licencia y argumentó que la nueva versión podría constituir una relicencia ilegítima del proyecto original.
Según Pilgrim, aunque el código haya sido reescrito, el desarrollador tuvo acceso directo al código original durante años, lo que invalidaría el concepto de una implementación completamente independiente.
En su opinión, esto significa que la nueva versión debería seguir manteniendo la licencia LGPL original.
Además, sostuvo que el uso de una herramienta de generación de código basada en IA no otorga derechos adicionales sobre la licencia del software.
¿Una reescritura independiente o un derivado?
Dan Blanchard respondió a las críticas reconociendo que tenía amplio conocimiento del código original, pero defendió que la nueva versión es estructuralmente independiente.
Para respaldar su postura, presentó resultados del sistema de comparación de código JPlag, que mide similitudes estructurales entre archivos.
Según estos análisis:
- el código de chardet 7.0 comparte como máximo 1,29 % de similitud estructural con la versión anterior
- versiones previas del proyecto tenían hasta 80 % de similitud entre sí
Esto indicaría que la nueva versión fue completamente reconstruida, sin reutilizar directamente el código original.
Blanchard también afirmó que ningún archivo del nuevo proyecto mantiene una estructura similar a las versiones anteriores.
Un nuevo debate sobre IA y licencias de software
Este caso refleja un problema emergente dentro del mundo del software libre y la inteligencia artificial.
Las herramientas de generación de código basadas en IA pueden analizar proyectos existentes y generar implementaciones alternativas en poco tiempo. Sin embargo, esto plantea interrogantes importantes sobre:
- propiedad intelectual
- derechos de autor
- licencias de software
- límites legales de la ingeniería inversa
El debate también afecta a proyectos de código abierto donde la comunidad debe decidir hasta qué punto una reimplementación puede considerarse independiente.
Conclusión
La controversia alrededor de chardet 7.0 muestra cómo la inteligencia artificial está cambiando las reglas tradicionales del desarrollo de software.
Aunque técnicamente una IA puede generar una reimplementación completa de un proyecto, todavía existe incertidumbre sobre si eso permite cambiar la licencia original del software.
A medida que las herramientas de programación asistida por IA se vuelvan más comunes, este tipo de conflictos legales y éticos probablemente se volverán cada vez más frecuentes dentro del ecosistema del software libre y el código abierto.


