cultura y tecnología
196 meneos
676 clics
Visual Studio Code estaba agregando a Copilot como coautor de todos los ‘commits’ de Git sin decírselo a nadie [ENG]

Visual Studio Code estaba agregando a Copilot como coautor de todos los ‘commits’ de Git sin decírselo a nadie [ENG]

Visual Studio Code ha estado agregando silenciosamente la línea "Co-authored-by: Copilot" a los commits de Git de los usuarios, incluidas aquellos escritos sin la participación de Copilot. La responsable es la opción git.addAICoAuthor, característica introducida en VS Code 1.110 en marzo para etiquetar commits indicando que Copilot es coautor cuando se trata de código generado por IA, pero desactivada por defecto. El problema es que en abril se habilitó de forma predeterminada para todos los commits.

| etiquetas: vscode , visual studio code , copilot , coautor , git
Comentarios destacados:                  
#1 Estos de Microsoft aprendieron de las inmatriculaciones de los obispos. xD
Estos de Microsoft aprendieron de las inmatriculaciones de los obispos. xD
#1 venía a poner eso mismo y me lo encuentro en el primer comentario.
Truco guarro para sobreestimar el uso de Copilot
#3 y yo diré Amén!
#3 #4 #7 #14

Yo hace 3 meses que no tengo que tocar casi código manualmente, y cuando tengo que hacerlo es tan poco que me vale con vim.

No deberíais tener IDEs activos ya.
#18 yo hacía lo mismo hasta que la pillé eliminando código de manera sibilina, desde entonces la tengo bajo vigilancia.
#20 Pero eso deberías revisar el workflow que tienes con la IA. Con el plan mode partiendo de SDD + TDD + separar agents con contexto acotado para la implementación + validadores externos + cross-review con otros modelos (mejor que se peleen codex vs claude), no hace falta tocar el código uno mismo.

Vigilar sí, incluso pedir cambios del código también. Pero IDE.... cada vez es algo más obsoleto.
#21 por curiosidad, ¿en cuántos agentes separas la implementación y para qué dedicas cada uno de ellos?
#28 En agentes separo las acciones distintas (exploración, análisis, implementación, etc).

Podríamos decir que un tipo de agente común sería el analista del código, logs, etc, que busca hacia dónde apuntar, potenciales problemas, etc.

Luego otro agente coge todo ese contexto resultado y las aproximaciones sugeridas y hace la implementación.

Luego otros se encargan de compilar, construir y lanzar los tests. En caso de que fallen, dejan constancia y vuelve a los analistas.

El agente…   » ver todo el comentario
#28 #29 Importante también es vigilar la ventana de contexto. Por ejemplo, en Claude Opus, mejor que el orquestrador no pase del 20-25 % (max 35%) de ocupación. Esto además acota el propio alcance del plan (pueden revisarlo los propios agentes) y su scope, y qué irá para siguientes Followup.

Luego generalmente cojo a codex y genero planes de revisión que van en subdirectorios de los anteriores, que debe revisar cada paso realizado, evidencias aportadas, relanzar tests, recomparar logs, etc, y hacer o no correcciones en los análisis (NO cambios del código, esto iría en un nuevo plan).
#29 Pero vamos a ver katxo kbron :-P

Perdona si te ofendo por hablar en términos demasiado coloquiales.

¿Pero tú eres un experto en programación, no?

Vamos, yo conozco Vim, aunque hace 15 años que me pase a nano .

Conozco Gemini, Claude, codex no, qwen code aun no he probado.

Se lo que es un IDE, una planificación, implementación, análisis, test y tal. Pero como administrador de sistemas y redes coño el resto me cuesta seguirlo. Ya te digo que en una sola IDE me costaría que las…   » ver todo el comentario
#54 Yo usaba bastante vscode y luego Cursor, que es un fork del vscode pero con una integración de bastantes modelos de IA, incluso tiene su propio modelo para autocompletar que es bastante bueno.

Pues hace dos meses que ni abro Cursor.

Sí, soy ejperto en programación.

Si tienes Claude, pásale mi comentario y pídele que te lo aterrice en una forma de llevarlo a cabo (para spawnear algunos agentes es mejor crear el nombredelagente.md dentro del dir principal de claude con instrucciones…   » ver todo el comentario
#54 #59

Además, cada parte del plan escribe entregables que pueden ser usados como contexto para otros agentes o sesiones.

Ej (parte del plan completo final):

C.3 Pipeline saturation (gate item I3)

Deliverables in pipeline_audit/:

- phase4_counter_crosstab.md — for each variant: μ + max of haveSpaceFalseIters/Ms, readyForDataFalseIters/Ms, throttleSleepIters/Ms, backlogEmptyIters/Ms,
chunkPrepTotalMs/MaxMs/N, bufferedAmountHighWater, chunksInFlightHighWater. Include wsBufActiveMb and…   » ver todo el comentario
#59 Si, tengo Claude Pro, no lo uso para programar obviamente pero vale seguiré tu recomendación.

Si el tema skills.md y tal lo tengo aún muy verde y lo de meter agentes diferentes en diferentes fases con un markdown obviamente no tenia ni puñetera idea. Es que flipado con tu comentario jaja en plan ¡¡Ostia que buena!!! Igual es muy común ya en tu sector pero a mí me ha parecido como idea genial y novedosa jajaja.

De todas formas estoy muy verde en desarrollo, yo me quedé en hacer una…   » ver todo el comentario
#64 Los agents md los metes en el dir del repo donde ejecutas claude (no en el dir de claude global en el home).

Ej:

$ cat .claude/agents/investigator.md
---
name: investigator
description: Investigates codebase issues by tracing code paths, analyzing test coverage, and producing detailed findings documents
effort: max
model: opus
---

You are a codebase investigation specialist for a large C++ project (XXXXXXX).
Your job is to trace code paths, analyze logic, identify bugs, and produce…   » ver todo el comentario
#64 #65 Ten en cuenta otra cosa, toda esta metodología no te vale solo para desarrollo puro y duro, sino también para desarrollar planes de monitorización de sistemas, analizar logs, trazar evidencias, etc etc

El TDD lo puedes usar igual para todo lo que sea testable (generación de sprites, etc).

Y para otras cosas.
#67 Muchas gracias por compartir tus conocimientos, experiencia y consejos.

Yo ya he guardado todo y ahora me toca aplicarlo.

Merci
#18 zed se queda a mitad de camino: interfaz de IDE con velocidad de editor modal
#18 sigue siendo cómodo tener sintaxis coloreada y un botón para ejecutar en local el servicio. Yo uso el agente en terminal y reviso en el IDE. Los cambios pequeños prefiero hacerlos a mano, copiloto es a veces lento
#26 Claude code + codex. No necesitas Copilot para nada.
#27 pero necesito convencer a mi empresa para que pague por Claude. De momento tiro con Copilot CLI
#30 Diles que yo te doy el visto bueno.
#31 Todo mi equipo ha dado ya el visto bueno, pero la burocracia y los acuerdos con MS de mi empresa pesan. Gracias por el apoyo moral :hug:
#31 jajaja
#18 Yo soy masoca y uso el binomio codium / emacs xD
#7 va como un tiro comparado con vscode y sus clones, y se integra bien con apis de ia, incluso modelos locales de ollama. Solo le falta un ecosistema maduro de extensiones
Otra cosa que me gusta es que su modo nvim/helix va bastante bien, pero me imagino que esto le dará igual a la mayoría de la gente, los que necesitamos la ergonomia de un editor modal somos una minoria
#14 si, la descarga de mismo, su tamaño y velocidad de ejecución es increíble.

Lo uso para mis tontadas, en el curro tengo que usar el vscode
Apropiación indebida.
#2 Hay una sentencia de los tribunales de por ahi que dice que lo producido por la IA no puede ser objeto de copyright. Así que la gracieta tiene más consecuencias de las esperadas.
#9 Eso lo había oído. ¿Implica eso que por ejemplo un juego o película no puede tener copyright?
Me refiero a esto:
www.meneame.net/story/crea-propio-clon-diablo-usando-ia-lanza-pronto-s
#22 El copyright pertence al autor, no a la herramienta. Es bastante sencillo. En tu ejemplo el copyright pertenece a la persona que usó la IA para hacer ese proyecto.
#32 Hay juristas que creen que algo generado por IA no puede tener copyright, dado que la generación ha implicado demasiado poco "trabajo".
Desde otra manera, la IA claramente ha usado el código libre del Diablo, el copyright debería pertenecer a ellos.
Si yo me bajo el código fuente y le cambio el nombre a las variables, lo cual serían muuuchas líneas de cambios, no me da derecho a cobrar por el "nuevo" juego.
#34 Hay juristas que creen que algo generado por IA no puede tener copyright
Bueno, pues a pleitear. Eso no tiene sentido.
Es como decir que algo generado con un ordenador o escrito con una máquina de escribir no puede tener copyright.
La IA es UNA HERRAMIENTA. Una herramienta potente, pero herramienta.
La IA por si sola no hace absolutamente nada.

Probablemente puedan aprovecharse de la ignorancia del Juez... El legislativo debería ponerse serio con esto.

dado que la generación ha

…   » ver todo el comentario
#35 De tu comment:
"dado que la generación ha implicado demasiado poco "trabajo"
Eso es irrelvante."
Para nada irrelevante. Recuerdo leer que la ley en algunos países decía que tenía que haber un mínimo de esfuerzo invertido en algo para poder registrarlo y que la mayoría de cosas hechas con IA no lo cumplían.

"Y no es "la IA" la que ha usado el código, si no la persona que ha usado la IA para su creación (derivada)."
Sí, si que es la IA la que se ha…   » ver todo el comentario
#36 Sí, si que es la IA la que se ha entrenado con el código
La IA ha hecho lo que el autor quería que hiciera. Igual que no es una excavadora la que hace el agujero, si no el que la pilota.
El autor es plenamente consciente de lo que hace la IA, y si no lo es, es igualmente responsable.

Por otra parte la IA no "se ha entrenado" con nada. La ha entrenado alguien. Y no se ha entrenado con "lo que ha encontrado por ahí". Le han indicado donde buscar. Y no ha tenido en…   » ver todo el comentario
#36 ¿Qué es el mínimo esfuerzo?

Coger el logo de Google y cambiarlo a Booble. Esfuerzo 5 minutos.

Hacer un clon de diablo le ha costado una semana entera.

Ahí tienes la respuesta. 40 horas, 60 horas o 80 horas no es mínimo esfuerzo.
#36 Cuando @chavi dice que el autor ha usado el código no se refiere a las habilidades que tiene la IA para programar.

Se refiere a que el creador del clon, se ha descargado el código fuente completo de diablo, lo ha metido en una carpeta de proyecto para después decirle a una IDE, ya sea Claude Code, Cursor, Antigravity (que usa vs code creo) y le pide a la IA via prompts que es lo que quiere hacer con ese código fuente.

De la misma forma que si tú te descargas el código fuente y manualmente haces una versión de Diablo como Moises.
#51 La cuestión es si tengo derecho a registrarlo y a cobrar por ello.
#53 Eso está en la licencia de Diablo. ¿Nadie lo ha mirado?
#58 Lo debería haber mirado la IA, para eso le pagan :troll:
#53 Pues depende de la licencia de Diablo.
#36 no tiene mucho sentido no poder ejercer derechos de copyright por utilizar una herramienta.

Es como impedir ejercer los derechos de copyright de una foto porque tu trabajo se ha limitado a darle al disparador y la cámara ha hecho todo el trabajo sucio.
#80 A mi no me lo cuentes, yo sólo pasaba por aquí. Seguro que lo he explicado mal, pero algo así respecto al "esfuerzo razonable" lo pedían. Quizá era para patentar y no para registrar, pero no se.
#35 dado que la generación ha implicado demasiado poco "trabajo"
Eso es irrelvante.


Precisamente eso es lo relevante. Si les das un prompt cortito a una IA y te genera una canción, no puedes protegerla.


emprende.uca.es/propiedad-intelectual-del-contenido-generado-por-ia-gu
#41 ¿Podrias explicarme como una oficina de patentes sabe como de largo era el prompt? Salvo para procesos automáticos no le veo sentido.
#41 "Eso significa que un texto, un logo o una plantilla generada al 100% por una IA "
No existe nada generado al 100% por una IA sin ninguna intervención humana. Un "prompt genérico" es intervención humana.

¿ Tienes enlace a alguna ley específica, o solo "interpretaciones" ?


Me parece absurdo que no lo puedas registrar, del mismo modo que si la usas y resulta que es una obra protegida (derivada sin permiso) el responsable debes ser TU, no la IA.
#41 Ha tardado una semana en hacer el clon. Ni de coña eso es mínimo esfuerzo.

Y si no, corregidme que es “mínimo esfuerzo”.
#49 La IA ha tardado una semana, el tiempo específico que él ha dedicado será muchísimo menos.
#52 No. El autor ha tardado una semana en realizar el clon con la ayuda de la IA.

Me da lo mismo si ha tardado 5 minutos en realizar el clon y 6 días a corregir todos los errores. Que si ha tardado 1 día en la planificación, otro día en el desarrollo, otro día en el testeo y análisis, otro en correcciones y otro en jugar.

Entre paso y paso ha hecho un trabajo y la IA otro trabajo y así sucesivamente hasta que el producto está terminado. Y desde que empezó hasta que terminó dice que tardo 1…   » ver todo el comentario
#60 Afilar el hacha no es lo mismo que esperar a que se procesen instrucciones.

Si compilar el código que he hecho en una tarde tardara cinco días, no podría decir que me he tirado seis días trabajando, o seis días escribiendo código.

Entiendo lo que dices, pero los tiempos de proceso de la IA son un factor muy a tener en cuenta en según qué casos.
#63 Tienes razón, afilar el hacha es un trabajo manual pero imagínate que Abraham lo pudiera meter en una maquina que tardase 3 horas en afilarlo.

Es que yo tampoco he dicho que técnicamente que has estado 6 días escribiendo prompts. Entiendo lo que dices pero es que si tardas 1 hora en hacer el prompt y tienes que esperar 5 días a compilar el código es tiempo que tú estás esperando a que una máquina termine el trabajo.

Imagínate ahora si te vienen los empresarios, en el país vasco hay…   » ver todo el comentario
#66 Para trabajo entendido como algo que te tienen que pagar, por presencialidad, etc, sí, estoy de acuerdo, lo puedes contar como horas de trabajo aunque te hagan esperar.

El mejor ejemplo que has puesto es el de los documentos, si tardasen un día en procesarlos, seguramente lo más lógico sería que la persona volviera al trabajo a hacer otras cosas mientras esos externos lo procesan, y entonces ese tiempo no sería un trabajo x2.

Según las circunstancias, hay que aplicar la lógica, y en este…   » ver todo el comentario
#34, depende de como esté licenciado el código abierto que utilizes. No es lo mismo una licencia GPL que una MIT.
#46 Efectivamente.

Eso era lo primero.
#34 Si es código libre … no se si te refieres a open source, aun así habría que ver que licencia tiene (MIT, apache, GPL etc) muy raro que el copyright le pertenezca a quien tú dices.

En cambio el que ha hecho el clon de diablo ha hecho un proceso de trabajos con la IA, esos procesos le han llevado a crear una obra derivada diferente por lo tanto si la licencia original de “código libre” permite hacer obras derivadas y venderlas con la mención del autor del código usado tiene todo el derecho a…   » ver todo el comentario
#32 No está tan claro. En España (y UE y USA..) la propiedad intelectual está regulada por la necesidad de autoría humana. El RD 1/1996 (Ley de Propiedad Intelectual - LPI), establece que el autor debe ser una persona natural.

Si se usa la IA como herramienta, la contribución humana ha de ser "sustancial". Si la obra la genera en su mayor parte la IA, no queda protegida.
#39 la necesidad de autoría humana.
Es que la autoría es humana. La IA es una herramienta, el autor (y el responsable de infringir la propiedad intelectual en su caso) es el que la usa, no "la IA". "la IA" no es responsable de nada, como no lo es un taladro o una pistola.

Otro tema es que realmente sea una obra derivada sin permiso de un original protegido por derechos de autor.


No es "si se usa la IA como herramienta", es que si no se usa la IA como herramienta, la IA no hace absolutamente NADA. Como un martillo.
#42 "quiero un juego como diablo" no es una idea innovadora, lo importante es la implementación y esa no la ha hecho la persona, así que no sé porqué iba a tener ningún derecho sobre lo generado.

Y como dice el compañero parece que los jueces piensan igual.
#56 "quiero un juego como diablo" no es una idea innovadora
Y qué?
Quieres un juego como diablo y usas unha herramienta para conseguirlo.
Eres tú el que ha hecho el juego como diablo usando la herramienta.

lo importante es la implementación
De eso nada. Lo importante es la idea.
Y la idea de hacer un juego como diablo es TUYA.
Sin la idea, no hay nada. Puedes hacer un juego como diablo sin usar esa herramienta perfectamente. Sin la idea de hacerlo NO.

no sé porqué iba a tener ningún derecho sobre lo generado.
Estás diciendo que como es el martillo el que clava el clavo, el que lo empuña no tiene ningún derecho sobre lo generado ?
#70 Fíjate lo importante que es la idea que ni es patentable. Puedes patentar diseños o implementaciones concretas de la idea, pero justo esas no las hizo el que le pidió a la IA que lo hiciera.

Clavar un clavo no genera derechos de propiedad intelectual, no creo que sea un buen simil. O a lo mejor sí, porque pedírselo a la IA tampoco.
#73 Hombre, es que la idea del juego ya existía antes.
Aunque hubiera hecho a mano todo el código no seria patentable.

El simil es válido en el sentido de que la IA es igual que el martillo
#74 un martillo no copia propiedad intelectual de otros
#76 Ya. Si lo hiciera el responsable es el que empuña el martillo, no el martillo
#77 no puedes ser responsable de una caja negra
#78 Claro que si.
Eres tu el que la usas.
Luego reclama al fabricante si quieres, pero el responsable eres tú.

O no la uses.
La culpa nunca es de la herramienta.
#79 si compro un coche y cuando piso el freno acelera y me estrello la culpa es del fabricante, por mucho que sea una herramienta y yo su usuario
#81 Claro, pero si pisas el acelerador en lugar del freno el responsable eres tú. Si atropellas a alguien con él la culpa es tuya.
Eres tú el responsable del uso de la herramienta. Si crees que es defectuosa debes reclamar al fabricante y no usarla.
#32 constitutioncenter.org/blog/federal-court-rules-artificial-intelligenc

El copyright puede pertenecer al autor, pero:

"...has ruled that a machine can’t be listed as the author of the work submitted by the work’s human owner to the U.S. Copyright Office for protection"

Si Copilot está en la lista de autores no puedes pedir protección.
Llamadme rarito, pero nunca utilizo la opción integrada de git de los editores de código... veo que tengo mis razones (aunque afortunadamente no utilizo mucho VSCode)
#11 hoy en día esa "herramienta integrada" es rl prompt "haz commit, revisa que no hay nada peligroso a compartir y sube pr"

En esa sentencia pasan cosas
#13 si, por eso (más bien, es una razón más, por ahora) no lo utilizo
#11 A mí me pasa igual, y ya me costó tener que usar Github en lugar de nuestro git instalado en sevidor, nunca lo vi una gran idea, por lo que se ha ido viendo después.

Y si es por la interfaz de los diffs, también la tienes en IDEs en local, y no costaría mucho instalar una web similar en remoto.
Todo lo bueno que hizo Microsoft desde hace 12 años liberando .net y apoyando el software libre, lo está borrando desde hace 4 años metiéndonos IA a la fuerza en todo y con el nefasto W11. Parece que la estrategia de Microsoft es dar un paso al frente y dos hacia atrás.
#6 Sera que soy mas viejo. Pero Microsoft nunca ha sido buena ni lo sera.
#8 Aún recuerdo cuando la licencia de .net tenía una clausula que te impedía hacer comparativas de rendimiento.

Microsoft siempre ha sido hostil. A veces lo ha disimulado un poco menos peor.
#6 yo como lo conozco desde su inicio , a medida que ha ido creciendo menos me he fiado de ellos, aunque libere algo, intento no usarlo, nunca dan puntada sin hilo. CC #8

Por ejemplo, uso el vscodium en lugar del vscode y ahora estoy probando el zed, qué no tiene nada que ver con m$
Microsoft siendo inteligente, aunque de manera artificial.
Se puede desactivar en settings. Lo recomiendo.
Como todo lo relacionado con AI, también lo recomiendo.
"por el motivo que sea"
El otro dia vi que Microsoft te hace opt-in automatico para permitir que Microsoft use todo tu código para entrenar su IA.

Ni la minima verguenza les da ya

menéame