Ariel Costas

Sobre Github Copilot y la GPL

Hace unos meses, GitHub (la empresa de alojamiento de código de Microsoft) anunció un nuevo programa privativo de autocompletado basado en inteligencia artificial (concretamente, GPT-3), llamado GitHub Copilot. Hubo cierto revuelo, porque este programa había aprendido de todos los repositorios de GitHub, tanto públicos como privados. GitHub también hablaba de que su IA había aprendido de memoria el texto completo de la GPL, con lo que al intentar completar un archivo de licencia completaba "GNU GENERAL PUBLIC LICENSE".

Esto hizo saltar las alarmas de muchas personas, porque GitHub había usado código fuente libre bajo la GPL para un programa privativo, y esto podría ser una violación de la GPL: todo programa que use código licenciado bajo la GPL debe ser publicado bajo la misma licencia. Esta es la característica "copyleft viral" de la GPL: que no solo los derivados deben liberarse, sino cualquier programa que lo use.

No voy a entrar en la ética de esto, o la legalidad de las licencias virales, porque varían de país a país (en la UE, por ejemplo, no se puede hacer cumplir por cómo es la ley). Ahora bien, GitHub según este principio estaría violando la GPL bajo la licencia de esos repositorios, pero cabe preguntarse ¿de veras una empresa del calibre de GitHub y con Microsoft detrás haría esto sabiendo que es ilegal?

La respuesta es sencilla: no, es legal. La tesis de que GitHub usó esos proyectos con la licencia GPL es incorrecta desde un principio. Los Términos de Servicio de Github (que supuestamente la gente se lee antes de registrarse) describen a la perfección la licencia que das a GitHub sobre tu código.

Nos otorgas a nosotros y a nuestros sucesores legales el derecho a almacenar, archivar, analizar y mostrar tu contenido, y hacer copias incidentales, según sea necesario para proporcionar el servicio, incluyendo la mejora del servicio con el paso del tiempo. Esta licencia incluye el derecho a hacer cosas como copiarlo en nuestra base de datos y hacer copias de seguridad; mostrártelo y a otros usuarios; analizarlo en un índice de búsqueda o analizarlo de cualquier otra manera en nuestros servidores; compartirlo con otros usuarios; y reproducirlo, en caso de que tu contenido sea algo así como música o video. Términos de servicio de GitHub apartado D.4

Leyendo esto, nos queda claro que GitHub puede hacer casi cualquier cosa con el código que publiquemos, independientemente de la licencia libre que pongamos. Ahora bien, cabría pensar "pero es que Copilot no es el servicio GitHub, es otro servicio", pero aquí es donde llega el siguiente punto: ¿que definen los TdS como servicio?

El “Servicio” se refiere a las aplicaciones, software, productos y servicios proporcionados por GitHub, incluyendo cualquier Vista Previa Beta. Términos de servicio de GitHub apartado A.6

Por tanto, cabe entender que GitHub tiene razón, porque el usuario le ha dado dicha licencia para hacer esto al registrarse en GitHub y poner su código fuente ahí.

Mi opinión

No soy nada fan de GitHub, nunca lo he sido y menos tras la compra de este por Microsoft. Sin embargo, entiendo que aunque es un poco "cogido por los pelos" están cumpliendo sus términos de servicio, y por tanto están en su derecho a hacerlo.

Y si un usuario no quería esto, que se hubiera leído los términos antes de aceptarlos y registrarse en GitHub.