No hace mucho se dio a conocer y sobre todo compartimos aquí en el blog el lanzamiento general 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 interesante a Copilot, 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 describa lo que desea que haga el código. GitHub Copilot analiza el contexto del archivo que está editando, así como los archivos relacionados, y ofrece sugerencias de su editor de texto.
GitHub Copilot está optimizado para Python, JavaScript, TypeScript, Ruby, Go, C# o C++. También es posible utilizar GitHub Copilot para generar sugerencias en otros lenguajes y una gran variedad de frameworks. GitHub Copilot funciona con OpenAI Codex, un nuevo sistema de IA creado por 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 repositorios de GitHub, lo cual desde un inicio alarmo a muchos y sobre todo llevo a un punto en general de todos sus críticos 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, profesor de informática e ingeniería en la Universidad de Texas A&M, afirmó en Twitter que GitHub Copilot:
«emite grandes fragmentos de mi código protegidos por derechos de autor, sin atribución, sin licencia LGPC».
Ante tal comentario Alex Graveley, ingeniero principal de GitHub e inventor de Copilot, respondió que
“el código en cuestión es diferente al ejemplo dado. Similares, pero diferentes”. 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. El desarrollador Tim Davis publicó esta imagen en Twitter, mostrando su comentario en Visual Studio Code, su código original de otro proyecto a continuación y la sugerencia de Copilot a la derecha.
@github copilot, with «public code» blocked, emits large chunks of my copyrighted code, with no attribution, no LGPL license. For example, the simple prompt «sparse matrix transpose, cs_» produces my cs_transpose in CSparse. My code on left, github on right. Not OK. pic.twitter.com/sqpOThi8nf
— Tim Davis (@DocSparse) October 16, 2022
Es importante tener en cuenta que el código original en cuestión es de código abierto y se puede encontrar en GitHub bajo la licencia 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 en el mismo proyecto. Copilot anticipa este problema hasta cierto punto. Hay un filtro de código público descrito aquí que afirma
«detectar sugerencias de código que coinciden con el código público en GitHub… cuando el filtro está habilitado, GitHub Copilot verifica las sugerencias de código con el código circundante de aproximadamente 150 caracteres con el código público en GitHub . Si hay una coincidencia o casi coincidencia, no se le mostrará la sugerencia”.
Sin embargo, Davis aclara que “cuando me registré, desactivé la opción ‘Permitir que Github use mi 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 en 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 Copilot se menciona 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 proporciona una serie de funciones para ayudar a monitorear y mejorar la calidad del código, como GitHub Actions, Dependabot, CodeQL y análisis de código. Todas estas funciones son gratuitas y se pueden usar en repositorios públicos.
GitHub Copilot usa filtros para bloquear palabras ofensivas en las indicaciones.
«Estamos comprometidos a mejorar constantemente el sistema de filtro para detectar y eliminar de manera más inteligente las sugerencias ofensivas generadas por GitHub Copilot, incluidas las salidas sesgadas, discriminatorias o abusivas», escribe GitHub.
Finalmente, la pregunta aquí que muchos tienen es, ¿Hasta qué punto es bueno el uso de Copilot?
from Desde Linux https://ift.tt/QzSNtgu
via IFTTT
No hay comentarios.:
Publicar un comentario