No hace mucho se dio a conocer y sobre todo compartimos aquí en el blog le lancement général de GitHub Copilot, el cual es un asistente de programación basado en IA que ofrece sugerencias similares a las de autocompletar mientras codificas.
Lo que hace intéressant un copilote, es que este puede dar sugerencias al usuario una vez comience a escribir el código que desea usar o escribiendo un comentario en lenguaje natural que decriba lo que desea que haga el código. GitHub Copilot analyse le contexte de l’archive qui est édité, ainsi que les archives associées, et propose les suggestions de l’éditeur de texte.
Copilote GitHub est optimisé pour Python, JavaScript, TypeScript, Ruby, Go, C# ou C++. Il est également possible d’utiliser GitHub Copilot pour des suggestions génériques dans d’autres langues et une grande variété de frameworks. GitHub Copilot fonctionne avec OpenAI Codex, un nouveau système d’IA créé par OpenAI.
Desde la perspectiva del cómo nos «venden» Copilot, es bastante «maravilloso» aunque el modelo detrás del entrañamiento está basado en el análisis de millones de líneas de código de los dépôts de GitHub, lo cual desde un inicio alarmo a muchos y sobre todo llevo a un punto en general de todos sus critiques y es que en algún momento generaría problemas por « código protegido por derechos de autor ».
Y bien tal parece que esta “predicción” no tardo mucho en volverse realidad, pues hace poco el desarrollador Tim Davis, professeur d’informatique et d’ingénierie à l’Université du Texas A&M, a confirmé sur Twitter que GitHub Copilot :
«emite grands fragmentos de mi código protegidos por derechos de autor, sin atribución, sin licencia LGPC».
Avant le commentaire d’Alex Graveley, ingénieur principal de GitHub et inventeur de Copilot, a répondu
“el código en cuestión es different al ejemplo dado. Semblables, mais différents ». Dicho esto, agregó : « Realmente es un problema difícil. Las soluciones escalables son bienvenidas. »
El código que publicó Davis y el generado por Copilot en realidad se parecen mucho. Le créateur Tim Davis a publié une image sur Twitter, a affiché le commentaire sur Visual Studio Code, son code original d’un autre projet a continué et la suggestion de Copilot a la derecha.
@github copilot, avec «code public» bloqué, émet de gros morceaux de mon code protégé par le droit d’auteur, sans attribution, sans licence LGPL. Par exemple, la simple invite «transposition de matrice creuse, cs_» produit mon cs_transpose dans CSparse. Mon code à gauche, github à droite. Pas d’accord. pic.twitter.com/sqpOThi8nf
– Tim Davis (@DocSparse) 16 octobre 2022
Es important tener en cuenta que el código original en cuestión es de código abierto y se puede encontrar sur GitHub bajo la licence LGPL 2.1. Sin embargo, código abierto no significa libre de derechos de autor, y existen muchas licencias de código abierto diferentes, cada una de las cuales otorga permisos diferentes.
Otra preocupación es que los desarrolladores pueden combinar sin darse cuenta código con licencias incompatibles dans le projet mismo. Copilot anticipa este problema hasta cierto punto. Hay un filtre de código público descrito aquí qu’afirma
“détecter les suggestions de code qui coïncident avec le code public sur GitHub… si le filtre est autorisé, GitHub Copilot vérifie les suggestions de code avec le code circundante d’environ 150 caractères avec le code public sur GitHub . Si hay una coïncidencia o casi coïncidencia, no se le mostrará la sugerencia ».
Sans embargo, Davis explique que « Je me suis enregistré, j’ai désactivé l’option ‘Permitir que Github use my código…’. Parte del problema es que, por diseño, es probable que el código fuente abierto aparezca en múltiples proyectos de diferentes personas, por lo que terminará varias veces in GitHub y entre múltiples usuarios de Copilot. Con o sin Copilot, los desarrolladores pueden hacer un mal uso del código protegido por derechos de autor.
Sobre el tema, en Copilote dit que «es responsabilidad del programador garantizar la seguridad y la calidad de su código. Se recomienda que tome las mismas precauciones cuando use el código generado por Copilot cuando use el código escrito por otra persona«.Estas precauciones incluyen pruebas rigurosas, escaneo de IP y seguimiento de vulnerabilidades de seguridad.
GitHub propose une série de fonctions pour aider à surveiller et améliorer la qualité du code, avec les actions GitHub, Dependabot, CodeQL et l’analyse du code. Todas estas funciones son gratuitas y se pueden usar en repositorios públicos.
GitHub Copilot utilise des filtres pour bloquer les palabras ofensivas en las indicaciones.
« Estamos comprometidos a mejorar constammente el sistema de filtro para detectar and eliminar de manera más inteligente las sugerencias ofensivas generadas por GitHub Copilot, incluidas las salidas sesgadas, discriminatorias o abusivas », écrit GitHub.
Enfin, la pregunta aquí que muchos tienen es, ¿Hasta qué punto es bueno el uso de Copilot ?