Publicado hace 1 año por pignito a elchapuzasinformatico.com

GitHub Copilot ya generó cierta controversia por el mero hecho de que era una IA entrenada con varios terabytes de código fuente. Resulta que la compañía decidió emplear el código abierto de los desarrolladores de GitHub sin que estos pudieran decidir o hacer algo al respecto. Con esto, millones de usuarios han visto como su código ha sido analizado por la IA para que esta aprendiera. Bajo esta premisa, llega la primera demanda colectiva contra un algoritmo de aprendizaje automático como este, la cual se ha presentado en un tribunal federal de

Comentarios

banyan

#3 es lo salomónico. 👍

D

#3 No, porque para entrenarse ha usado código que no estaba necesariamente bajo licencia libre. Entonces, puede ofrecerte fragmentos de código que existirán ahí porque alguien lo subió y lo licenció. No es un asunto sencillo.

D

#11 Pues... que se indemnice a los cientos de miles de usuarios. Seguro que con un par de billones de euros sobra.

tul

#12 si alguien tiene dinero para pagar eso y mas es micro$hit.

Fernando_x

#9 Se puede argüir que la IA no está usando fragmentos de código preexistente, sino que, igual que un humano, ha aprendido a programar a base de estudiar códigos de otros, y luego está creando su propio código a partir de su aprendizaje, igual que hace un humano.

D

#21 Lo cual también puede ser ilegal si ha usado para su aprendizaje código no libre. Hay una importante discusión sobre el tema y de hecho creo recordar que se ha incluido una opción para bloquear sugerencias de código que coincidan con repositorios en 150 caracteres o más.

Fernando_x

#30 Interesante, no lo sabía.

f

#9 Eso da igual. Si se ha usado código con licencia GPL esté prohibe que se use para luego crear código privado. Si sólo hubiera usado código con licencias que permitan cerrar el código sin problemas. O si sólo sirviera para crear código libre.

Las licencias están para algo, no para que unos se las salten y se aprovechen de ellas.

D

#71 Es exactamente lo que yo defiendo...

c

#3 y por eso no se debe usar en empresas que trabajen en soluciones cerradas

tul

#15 eso solo son palabras en libros de leyes que se pueden modificar o hacer añadidos y ten por seguro que cambiaran cuando las IAs empiecen a ser productivas en ciertos campos.

D

#15 asi es como van a empezar las granjas de seres humanos tipo Matrix lol, yo dando ideas a las maquinas!!! 
Vamos que puede ser mas facil, que lo que iba a explicar de tener una granja de humanos, puede empezar con poderes, un ser humano se hace responsable ultimo de lo que pasa con una IA, pero este vive en un paraiso. 
Solo tienes que firmar una papelito, ejercer de poder, y tu firmas todo, y como vives en un paraiso donde no tienen accesso ni juridiccion otros paises, pues es posible que impedir extradicciones.
Vamos, yo no soy muy bueno pensando esto, pero no creo que sea una limitacion, si un grupo de personas creen que pueden hacer pasta creando tal estructuras para una IA, lo van a hacer.
Es gracioso, que creamos que esto no esta pasando ya, lo que pasa que en ves de llamarlas IA, son organizaciones, como el ejercito, las agencias de inteligencia, ya son sistemas autoorganizativos que cambian leyes para su supervivencia mas alla de solucionar el problema inicial.
fijate en la OTAN, se suponia que era una supuesta respuesta a la URSS (aunque se creo antes que el Tratado de Varsovia lol), y ahi sigue, ha sobrevivido a la URSS y se reinventa, y sigue expandiendo.
Con las IA pues creo que pasara lo mismo.

Oedi

#20 completamente de acuerdo, hay infinitas formas de que las IAs se nos acaben yendo de las manos.

trivi

#3 seguirían incumpliendo la obligación de citar al autor original, y también la obligación de publicar bajo la misma licencia que incluyen algunas.

Si Microsoft quiere copiar código que entrene la IA con sus propios repos privados y compre los de otros que estén dispuestos a vender. O que saquen una licencia open source que incluya una excepción explícita para poder usarla para entrenar IAs (a ver si alguien la usa...).

Lo que no es de recibo es comprar GitHub y cagarte en todas las licencias de software libre.

tul

#32 lo de cargarse las licencias libres es algo que micro$hit lleva intentando por activa y por pasiva muchos años

dudo

#3 no, no tiene ningún sentido, la IA ha aprendido a programar viendo ese código como lo haría un humano, ahora todo el código que cree no tiene que ser libre. Como tampoco lo es el de un humano que aprenda viendo código libre.

Si aprendes música tocando canciones de los Beatles luego cuando compongass tus canciones no tienes que pagarle derechos a los Beatles.

La demanda no tiene ningún sentido, si se sabe lo que hace una IA, aprender como lo hacen los humanos, no usar el código ni copiarlo.

tul

#55 leete la noticia anda, dice que la IA usa trozos de codigo copiados literalmente de proyectos de software libre. Y no, las IAs no aprenden como los humanos.

dudo

#56 la noticia no dice eso, y sé lo que es una IA.

l

#55 ni de lejos aprende como un humano. Infiere patrones, pero de ahí a aprender como un humano hay un trecho. Por otro lado, puede estar aprendiendo en base a código que no permite su uso comercial, y ese aprendizaje en sí mismo puede ser considerado un uso comercial

dudo

#60 Los humanos también inferimos patrones. Y también aprendemos de código que no permite su uso, y creamos nuevo código quie si podemos usar.

Las leyes de copyright, nunca tuvieron ningún sentido, la humanidad recoge lo que han creado generaciones anteriores y construye a partir de ahí, nada parte de cero, y a veces existen un gran progreso en una pequeña diferencia. Debería haber libertad total, y menos barreras imaginarias.

xiobit

#55 lo mismo pienso yo.
Si descubren que copia partes de código, pues vale. Pero es que solo se ha entrenado viendo código, como cualquier otro programador.

M

#3 No, mientras el código que genere no sea una copia literal. Sería como obligar a alguien que haya usado proyectos de código abierto para aprender o mejorar su nivel de programación a publicar todo lo que programe luego él bajo una licencia libre.

Lo justo sería que se preguntara antes a los autores si querían que su código se utilizase para el aprendizaje de esta IA y tener su permiso explícito para usarlo.

tul

#67 pero como eso se lo han pasado por el forro de los cojones ahora lo justo es que tengan que compartir el codigo que genere esa IA con toda la comunidad.

inar

#68 Cualquier humano puede ver y aprender a programar leyendo ese código sin necesidad de pedir permiso a sus autores. No hablamos de fusilar código, sino de verlo, entenderlo, aprender de ello y generar coódigo propio con ese conocimiento adquirido.

Yo no veo diferencia entre esa IA y cualquier estudiante de informática.

tul

#77 que tu no la veas no quiere decir que no este ahi

inar

#80 O que simplemente no la hay.

tul

#81 no flipes anda

inar

#82 Respecto al tema que nos ocupa puedes ilustrarnos a todos con las diferencias que consideres, y luego se las mandas también al tribunal en EEUU, que seguro te lo agradece.

c

#6 El problema por ahora al menos, es que en muchas ocasiones la "creación" de la IA no es más que un copia pega de las creaciones de personas que no han dado su permiso para que le hagan ese copia pega.

#23 Hace lo mismo que haría cualquier persona que consultara en Stack Overflow y adaptara la solución encontrada a las necesidades de su caso particular. Pero encima aprende de lo que tú has escrito e intenta adaptar un poco ese "copia pega" a lo que tú has hecho. Y si lo usas para generar la documentación, lo que te sugiere respeta el contexto de lo que ya has programado. Así que no se queda en un simple copia y pega de lo que ya ha visto

c

#43 No es así siempre, además de que obviamente no es lo mismo coger un código que se ha escrito específicamente para que otros programadores lo usen (stackoverflow) a coger código licenciado de github.

anv

#6 La verdad es que Copilot es la mejor herramienta que se ha desarrollado jamás para los programadores

No estoy muy de acuerdo: copilot puede ahorrarte teclear un poco... o más bien puede ahorrarte una búsqueda en google y un copiar y pegar. Pero el tiempo que ahorras de teclear te lo gastas en revisar el código que generó a ver si funciona y hace lo que necesitas. Y analizar un código que no has hecho tu es engorroso y te distrae del problema que intentabas resolver.

similar a lo que ocurre con los modelos de generación de imágenes

La diferencia es que con un generador de imagenes, una persona que NO sabe dibujar le pide "cerdo volador", y de los resultados elige a simple vista cuál le gusta y listo. Un programa no se puede mirar a simple vista para saber si es lo que querías y para colmo requiere que quien lo use sepa programar, con lo que no te hace nada que no pudieras hacer tu mismo y en más o menos el mismo tiempo.

rojo_separatista

#45, sinceramente, yo no se como cojones estáis usando Copilot todos los que decís que no sirve para aumentar la productividad, pero estoy realmente convencido de que estáis haciendo algo realmente mal. Bien usada mejora la productividad por tres o por cuatro veces, además de generar un código más limpio. Os recomiendo que en lugar de bajaros del carro investigueis que estáis haciendo mal, porque si en poco tiempo no tenéis estas herramientas perfectamente integradas en vuestro modo de trabajo, en muy poco tiempo os vais a quedar desfasados.

alexwing

Es el mismo asunto que los algoritmos de texto a imágenes, la IA no contiene el código de esos repositorios, sino el resultado del aprendizaje con ese código, aunque pueda parecer lo mismo no lo es.

dvdkrku

#4 Si a esta IA le pides ciertos fragmentos de código que existen en Github y que están licenciados, te los devolverá inalterados. Ergo, es discutible que sus resultados sean fruto de un aprendizaje puro tal y como se entiende y aplica este en los humanos.

alexwing

#22 Eso que dices no es cierto, lo que devuelve es según el contexto que le das, siempre, que coincida no significa de que copie.

Es como si a Stable diffusion le pides que te pinte a Brat Pit, el no tiene la imagen de Brat Pit guardada sino como el se pinta, obviamente te sale algo que se parece a el, pero no es una foto que puedas encontrar de el.

s

#26 Entonces si yo utilizo una imagen tuya comprimida no hay problema, porque es el descompresor el que hace que se parezca a ti. Microsoft (y todos los otros) están utilizando información que no les pertenece para sacar lucro. Yo sí espero que prospere la demanda.

anv

#36 Es más bien como si yo conociera aalexwingalexwing y tu me pides que te lo describa detalladamente, y con eso pintas un cuadro de él. A medida que lo pintas yo te voy diciendo qué tan parecido te va saliendo hasta que finalmente terminas por pintarlo muy bien. Tu no lo has visto nunca, yo sí. Pero el que lo pintó eres tu así que no has copiado.

Es el mismo truco que usó hace muchos años Compaq para crear el primer PC compatible: una persona analizó el BIOS de los PCs de IBM, y le explicó a otro programador como funcionaba. El programador escribió un nuevo BIOS compatible con IBM PC y así evitaron una demanda por copyright. El programador jamás vio el BIOS original y mucho menos copió su código así que la demanda no prosperó pero en realidad sí fue una copia, aunque indirecta.

s

#42 Pero es que el programa sí vio el código original. El equivalente sería que el programador, mirando el código de IBM, escribiera su propia versión. No hay intermediario por ninguna parte.

anv

#47 Pero es que el programa sí vio el código original.

Más o menos. Recuerda que estos sistemas usan dos redes neuronales: una que genera y otra que compara. La que compara es el "profesor" que va calificando a la que genera hasta que aprende a "sacar una buena nota".

s

#50 Eso son las GANs, que son para imágenes (actualmente ya no son las mejores, son los Diffusion Models). Esto es un Transformer con Encoder-Decoder. Asumir que el encoder es el profesor es mucho asumir creo yo.

editado:
por extenderlo un poco más: Copilot funciona exactamente igual que un modelo de traducción, es el mismo modelo. Sólo cambia que, en lugar de traducir entre idiomas hablados, traduce a lenguaje de programación.

anv

#51 Aunque no sean dos IAs antagónicas, igual se trata de dos procesos que "colaboran": uno que aprende y otro que le dice cuán cerca está del resultado esperado.

s

#84 No, es el mismo. El que le dice cuán cerca está es la función de coste que relaciona la entrada y la salida esperada. Si eso fuera una IA antagónica, entonces el 99.999% los modelos de machine learning lo serían, y no es así.

alexwing

#47 #42 No, ambos estáis equivocados, la analogía más bien seria, tengo una serie de fotos de alguien, con todas esas fotos hago una plantilla que es una especie de boceto con todos los rasgos de la persona. Luego otra persona pide una imagen de ese alguien en un contexto (con gafas, pintado al oleo, etc) cogiendo ese boceto y los otros bocetos de esas entradas (gafas, oleo, etc) realiza la imagen.

Con respecto al código, si tienes poco contexto ofrecerá la solución más parecida a un boceto especifico, en este caso, un código se asemejará a un código fuente en particular, si tiene mucho contexto, ofrecerá una solución combinada de todos los "bocetos" implicados, de hecho, Copilot no ofrece una solución, sino varias.

s

#66 eso es el caso general. Pero estas redes funcionan muy bien porque el overfitting no es un problema. Si yo le pido el código para hacer un modelo explicable como LIME (es un modelo conocido bastante simple), te podría devolver el código tal cuál. Es cierto que puede ofrecer una solución combinada pero, ¿qué pasa si le pides algo para lo que no hay múltiples opciones? Te va a devolver la única que tiene. Que tenga dos pinceladas que no lo hagan exactamente igual al original no invalida que siga siendo una copia.

c

#22 Es que ese aprendizaje no lo tiene ninguna IA. Ni se espera.
Por mucha "I" que le pongan

c

#8 Este tema no tiene nada que ver con la IA, si no con la propiedad intelectual

banyan

Interesante, no se si prosperará ni que argumentos prevalecerán.

banyan

#7 no estamos mas que asomandonos al comienzo de la madriguera. Lo de beneficios de la implantación de la IA no parecen vislumbrarse mientras que los perjuicios parecen muy claros.

Nova6K0

#7 El tema es más complicado. Si tu creas algo con una licencia libre y/o de código abierto. Esa IA, aunque lo que genere sea código para programadorxs. No deja de ser que Microsoft, indirectamente está generando beneficios. Si esa licencia impide, por ejemplo el uso comercial, especialmente a empresas, pues... La demanda, y más en EE.UU, tiene posibilidades.

Es que desde que me enroqué en todo estos temas, llevo viendo cosas curiosas. Y es que supuestos "expertos" del Copyright y que dan lecciones de piratería, no tienen ni idea de como funcionan las licencias libres y/o de código abierto (y cuidado porque aún no vi a Microsoft defender las licencias libres, si no solo las de código abierto, donde parte de sus proyectos, son semi-privativos, como VS Code). En realidad no tienen ni idea, porque no salen de la clásica licencia ultra-restrictiva copyright.

Esto sin hablar que quienes van de izquierdas, y por tanto más deberían defender las licencias libres, por ser pro-común. Son quienes más lloran por su propiedad intelectual, sin importarles un pimiento, el resto de autorxs, artistas, creadorxs, y por supuesto el público. Y ni que decir tiene que no son siempre intermediarios.

Y las IAs, como dice el compañero banyan en su comentario #8, deben respetar la ética y la moralidad. Cosa que por ahora no están haciendo mucho, y está sirviendo para marcar a ciertas personas, con una especie de letra escarlata. Todo esto sin hablar de la abismal cantidad de falsos positivos, cuando se usan en temas de seguridad, del propio copyright, o de protección de menores. Al menos como excusas.

Saludos.

c

#19 Exacto. Y no es "una IA" la que lo hace. Es una empresa con nombres y apellidos

V

#7 El problema no es que se use esa tecnólogia, sino vulnerar las licencias de los autores. Sin leerlo mucho en detalle, no puedes basarte en codigo libre para generar algo de pago si la licencia original no lo permite (tendrá que ser libre también) y citar o hacer las referencias necesarias a los autores originales.

i

#24 Bueno leerte código fuente para aprender a programar no es exactamente usar ese código con fines lucrativos. Desconozco los detalles de como funciona la IA, supongo que todo dependerá de si hace copy paste del codigo o realmente solo lo lee para crear "reglas" básicas de como implementar algoritmos y el resultado es de cosecha propia en base a esas reglas "aprendidas"

analphabet

#65 Al menos en ciertos casos son copy paste descarados. Han salido ya varios ejemplos de gente (que supongo que más de uno será parte de esta demanda) que hace unos prompts muy concretos a la IA y prácticamente saca su mismo código que está en disponible en github.

b

#c-74" class="content-link" style="color: rgb(227, 86, 20)" data-toggle="popover" data-popover-type="comment" data-popover-url="/tooltip/comment/3746689/order/74">#74 yo llevo usándolo desde que salió para C# y la verdad es que es una gozada.
Lo de poner un comentario del tipo
// read a file and convert it to base64
Y te pone las líneas de código que tocan sin tener que ir a buscarlo a stack overflow.
Luego, imagina una clase producto que le tiene un miembro atributos y otro miembro etiquetas.
Haces los tres métodos para añadir, modif y borrar el atributos, y luego te pone directamente las tres funciones para el miembro etiquetas.
Que si, que es un copy paste con replace, pero ahorra muchos minutos

Acido

#7
"Hay que pelear para que los beneficios de la implantación de la IA reviertan en toda la sociedad"

En toda la sociedad, claro, ¿Y qué pasa si una empresa privada, Microsoft, de las mayores empresas por capitalización y creo que la mayor en software, se lleva esos beneficios?
Google no es solo empresa de software, se dedica ampliamente a la publicidad, a través de su buscador, o a través de YouTube... Apple no es solo de software, ya que se dedica principalmente a vender hardware. Pero Microsoft sí se centra principalmente en Software.

Cuando Microsoft hace esto redunda en su valoración en bolsa y en sus ingresos. Es el beneficio del mas poderoso en software, haciendo bullying a los débiles. Y tú a eso lo llamas "beneficio de todos" aha aha.

SiCk

#7 Los beneficios aquí son para Microsoft, que usa código libre para una herramienta privada. Hay proyectos de IA libres, es un problema que estén en manos privadas. Ahí tienes Stable Diffusion. Bien, que lo usen open source, que aprendan de open source.

c

#7 De qué estás hablando?

Todo esto no va de IA ni de nada más que de una gran empresa, Microsoft, aprovechándose por la cara de código ajeno.

No veo ahí ningún progreso

o

#7 la demanda va por el uso privativo del código precisamente pero quizás no lo hayas entendido, tu públicas algo en Internet y otro aprovecha ese algo para sacar un beneficio privado, no me parece muy justo la verdad, si quieres usa código con licencia que obliga a no sacar beneficio tendrás que liberar también

D

#7 Puedo meterme en los locales de la competencia y ver cómo hacen sus productos? Puedo grabarlo todo y estudiarlo con detalle luego en mi empresa?

No es para mi, es para un amigo-IA ...

e

#7 creo que no tienes claro las condiciones en las que uno puede usar el código publicado en GitHub.

ytuqdizes

#7 No es poner cortapisas a una tecnología, sino a una empresa que ha utilizado código fuente que no fué cedido para entrenar su IA. A tope con la IA. En contra de apropiaciones indebidas.

Manolitro

#1 A mí lo que más curiosidad me suscita es si la IA se presentará o no al juicio.

pedrobz

#18 Es Microsoft, deberían tener ese dataset

p

#40 Touché lol

Miguel_Diaz_2

#17 Si pierde el caso se enfrenta hasta 5 años de pendrive.

Azrapse

#1 Muy muy interesante. Como dicen en los comentarios de la noticia, está realmente Microsoft incumpliendo la GLP por que su IA lea el código y aprenda de él?
Algunos argumentan que la GPL regula el uso del código GPL como parte del código de otro producto. Pero en este caso, el código GLP no es parte del código de la IA, propiamente dicho.
La IA tan solo ha leído el código, y un aprendizaje de este código se han incorporado a su modelo, pero el código en sí no está literalmente ni en el modelo ni en el código de la IA.

En cierto sentido la IA está "copiando la idea" del código, pero no el código en sí.
Entonces... está eso realmente incumpliendo la GPL?

Como se ve en el pantallazo que hay en la noticia, el usuario escribe su propia estructura de datos, y luego le pide a la IA que haga un procedimiento para rellenar esa estructura de datos. Y vemos que la IA escribe ese procedimiento, haciendo uso de la estructura de datos del usuario, no de lo que haya podido ver en el código que usó para aprender. Si fuera así, veríamos que hace uso de estructuras de datos no definidas en el código del usuario, sino de algún tercero. Pero no es así.

anv

#61 No están copiando... bueno, estrictamente hablando, aprender es copiar. Estas IAs no es que copien literalmente. Simplemente aprenden a contestar una pregunta en función de lo que se les solicita. Si la mejor manera de contestar es copiando, pues eso hacen igual que cualquier humano haría. Si con una simple copia no puede responder, entonces combinan diferentes conocimientos para formar el resultado.

anv

Lo siguiente va a ser que los profesores demanden a sus alumnos porque el dinero que ganan en sus empleos es gracias a lo que aprendieron de sus profesores.

j0seant

#37 no es comparable, la tecnología aun no esta a esa altura, son meros algoritmos estadísticos que ni entienden lo que copian (y modifican para que no cante tanto supongo)..

rogerius

He leído «Demandan a la IA de Microsoft que se encargue de gestionar Github».

D

No queréis software abierto? Pues no abráis vuestro código. O al menos no lo alojéis en un tercero

D

Me suena a pataleta propagandística por el tirón que da eso de luchar contra la malvada Microsoft.

Si tú expones tu código, es porque estás dispuesto a que alguien lo lea.

Si yo aprendo cosas de tu forma de programar, ¿tengo que darte créditos o seguir tu licencia cada vez que aplique algún truquillo que he aprendido viendo código ajeno?

Porque no estamos hablando de reproducir partes de código enteras. Estamos hablando de estructuras básicas de programación que se repiten en todos los programas: bloques, funciones, algoritmos...

D

Yo estoy a favor del argumento de que la IA tiene el mismo derecho que yo a leer código y aprender de él.

Lo que no puede hacer, si la licencia no lo permite, es copiarlo. Pero aprender de él sí.

Veremos que sale de aquí.

c

#28 Las IA no aprenden igual que tú.

m

#28 No es sencillo. Si coges El Capitán Alatriste, cambias los nombres de los personajes, y lo publicas, será plagio.

En teoría es lo mismo si coges un código y le cambias el nombre a las variables. Y eso es lo que hace esta IA en muchas ocasiones, al menos por lo que pude ver mientras lo usaba (unos meses que tenían de prueba y la verdad , funcionaba muy bien, las sugerencias de código a veces no te podías creer que fueran tan acertadas).

c

¿?

Demandar a un programa?

Están gilipollas. La demanda se debe hacer contra Microsoft

j0seant

Un algoritmo estadístico (alias "inteligencia" que ni entiende lo que copia) que roba código que sube la gente a sus repositorios, que podía salir mal..