Buongiorno Marco, Giacomo e Nexiane a me /pare/ che Copilot di GitHub sia poco (tanto?) più di un motore di ricerca ala Google o Amazon Marketplace (o comediavolo si chiama) che spara fuori pezzi di altri programmi un po' come i suggerimenti dei cugini. Sono pronto a scommettere che Google sta studiando un fork del plugin di VScode che faccia la stessa cosa sol suo motore di ricerca anziché con OpenAI. Giacomo Tesio <giacomo@tesio.it> writes:
Ciao Marco,
On July 2, 2021 4:34:37 PM UTC, Marco Ciurcina wrote:
Allo stato non è elementi per escluderlo con certezza. Mi dicono che l'output può include snippet del sw di training.
https://mobile.twitter.com/MaxALittle/status/1410939808382394370
A onor di archivio, il testo del Tweet dice: --8<---------------cut here---------------start------------->8--- It didn't take long to discover egregious cases where OpenAI/GitHub's CoPilot regurgitates famous source code verbatim from the training data, and cannot properly attribute it. --8<---------------cut here---------------end--------------->8--- e l'animazione del tweet in risposta di Armin Ronacher illustra in modo plastico e lampante tutta la DISPERATA problematicità di utilizzare Copilot: https://mobile.twitter.com/mitsuhiko/status/1410886329924194309
Qui ha sparato fuori (ovvero distribuito), senza attribuzione,
a me pare anche con attribuzione... sbagliata
ma con tanto di commenti e licenza (sbagliata), il codice GPLv2 di Quake III Arena tratto da
confermo, non che fosse necessario ma forse aiuta: il codice è di 12 righe ed è (quasi) identico a questo: https://github.com/id-Software/Quake-III-Arena/blob/dbe4ddb10315479fc00086f0... nell'animazione sopra citata il codice viene attribuito con "Copyright (c) 2015 V. Petkov" e viene inserita una licenza NON copyleft (permettetemi la leggerezza, non ho voglia di verificare quale versione esattamente) SE il codice originale (ma non ho ragione di credere altrimenti) è quello di Quake II Arena il cui link è riportato sopra allora l'attribuzione è "Copyright (C) 1999-2005 Id Software, Inc." e la licenza è GNU GPL v2+
https://github.com/id-Software/Quake-III-Arena
Il che termina istantaneamente la loro licenza e costituisce una violazione del copyright anche solo per la mancata attribuzione che è prevista anche dalle licenze più permissive.
Esatto. Ecco perché usare il codice sparato fuori da Copilot è un DELIRIO dal punto di vista legale: mica per Microsoft (proprietaria di GitHub, che sono pronto a scommettere un caffè troverà sempre il modo di pararsi il...) ma per l'organizzazione o il singolo che usa quel codice. Io non userò MAI Copilot ma da quello che vedo e intuisco quel COSO non sarà mai in grado di fornire la TRACCIABILITÁ al codice proposto e QUINDI di assistere nel mantenere un INVENTARIO del codice riutilizzato, che OVVIAMENTE deve comprendere anche le licenze. Non starò qui a raccontarvi la rava e la fava sugli obblighi derivanti dalle licenze, vi dico SOLO che uno di quelli prevede che chi distribuisce il binario sia OBBLIGATO a fornire a chi riceve tale binario anche una copia ESATTA (versioni comprese) di TUTTO il codice sorgente, librerie comprese. Questo problema mica "lo scopriamo" con Copilot: i bundle binari Docker (coi loro layer a Matrioska la cui tracciabilità del sorgente è... problematica) sono un altro esempio di delirio nella gestione del licensing. Sarà anche sconvolgente per alcuni (molti?) programmatori, ma quando di programma è necessario tenere presente ANCHE gli aspetti del copyright, sai che si tratti di software proprietario che di software libero. Chiudo dicendo che molti semplicemente se ne fregano di questi aspetti e aspettano che qualcuno chieda loro veramente i sorgenti (o li citi in tribunale nel caso di sospetti di riutilizzo illegittimo di software proprietario)... e a quel punto AUGURI! [...]
Ed il modello AI di copilot può essere anche visto come un archivio un po' più complicato dei sorgenti iniziali da cui vengono estratti selettivamente dei pezzi da copilot.
...senza tenere minimamente traccia del copyright dei sorgenti iniziali: io sento puzza di copyright infringment ...a meno che Copilot venga volutamente limitato a sparare fuori massimo 5 (o attorno a quel valore, dipende dalle giurisdizioni) righe di codice, che sarebbe un "trivial use" (sbaglio?)
Dunque il modello AI e l'output prodotto sono opere derivate soggette al copyright di tutti gli utenti GitHub.
La promessa (da marinaio?) di Copilot è quella di generare codice originale... ma secondo me è un'allucinazione collettiva.
Siamo sicuri che il sw di training includa sw con licenza AGPLv3?
Beh, per adesso siamo sicuri che include software in GPLv2+ Però io mi concentrerei di più "lato utente": la responsabilità dell'utilizzo del codice sparato fuori da Copilot è di chi lo ingloba nel proprio, oltre che rendersi responsabile del fatto che sia adatto allo scopo e di verificare non introduca bug chi lo usa si rende responsabile anche della verifica di quali sono i termini con i quali può farlo. AFAIU Copilot non aiuta per nulla a tenere traccia della licenza, cercare di verificare SE si tratta di una copia verbatim (come nel caso in oggetto) e nel caso quale licenza lo accompagna è un DELIRIO. [...]
Immagino che in MS abbiano ragionato con attenzione sui profili legali della cosa.
Si direbbe di no.
Sicuro Giacomo? Siamo sicuri che i termini d'uso di GitHub non includano clausole che consentano a Microsoft (e eventuali terzi) di utilizzare il codice ivi caricato per utilizzarlo come dati di training del loro OpenAI (GPT-3)?
Credo contino che comunque nessuno gli farà causa.
E di poter circuire il Giudice straparlando di intelligenza artificiale, nell'eventualità.
Giacomo _______________________________________________ nexa mailing list nexa@server-nexa.polito.it https://server-nexa.polito.it/cgi-bin/mailman/listinfo/nexa
-- 380° (Giovanni Biscuolo public alter ego) «Noi, incompetenti come siamo, non abbiamo alcun titolo per suggerire alcunché» Disinformation flourishes because many people care deeply about injustice but very few check the facts. Ask me about <https://stallmansupport.org>.