}}
'''GitHub Copilot''' è un [[software|programma]] dell'[[intelligenza artificiale]] operante nella [[cloud|nuvola]] e sviluppato da [[GitHub]] e [[OpenAI]] per assistere gli utenti degli [[ambiente di sviluppo integrato |ambienti di sviluppo integrato]] (IDE) di [[Visual Studio Code]], [[Visual Studio]], [[Vim (editor di testo)#Neovim|Neovim]] e [[JetBrains]] mediante l'[[autocompletamento]] del [[codice sorgente|codice]].<ref name=":0">{{citecita web |last1cognome1=Gershgorn |first1nome1=Dave |titletitolo=GitHub and OpenAI launch a new AI tool that generates its own code |url=https://www.theverge.com/2021/6/29/22555777/github-openai-ai-tool-autocomplete-code |websitesito=[[The Verge]] |datedata=29 giugno 2021}}</ref> Disponibile su abbonamento per singoli sviluppatori, fu annunciato per la prima volta da GitHub il 29 giugno 2021 ed è ottimizzato per i linguaggi di programmazione [[Python]], [[JavaScript]], [[TypeScript]], [[Ruby (linguaggio di programmazione)|Ruby]] e [[Go (linguaggio di programmazione)|Go]].<ref name=":2" />
==Storia==
Il [[29 giugno]] 2021 GitHub annunciò il lancio di GitHub Copilot per l'anteprima tecnica nell'ambiente di sviluppo di Visual Studio Code.<ref name=":0" /><ref>{{CiteCita web |datedata=29 Junegiugno 2021 |titletitolo=Introducing GitHub Copilot: your AI pair programmer |url=https://github.blog/2021-06-29-introducing-github-copilot-ai-pair-programmer/ |languagelingua=en-US}}</ref> Il [[29 ottobre]] 2021 GitHub Copilot fu rilasciato come [[plug-in]] nel negozio elettronico di JetBrains.<ref>{{CiteCita web |titletitolo=GitHub Copilot - IntelliJ IDEs Plugin - Marketplace |url=https://plugins.jetbrains.com/plugin/17718-github-copilot/versions/stable}}</ref> Il [[27 ottobre]] 2021 GitHub pubblicò il plug-in GitHub Copilot Neovim come [[repository]] pubblico.<ref>{{CiteCita web |titletitolo=Copilot.vim |datedata=7 Aprilaprile 2022 |url=https://github.com/github/copilot.vim}}</ref> Il [[29 marzo]] 2022 fu annunciata la versione per Visual Studio.<ref>{{CiteCita web |datedata=29 Marchmarzo 2022 |titletitolo=GitHub Copilot now available for Visual Studio 2022 |url=https://github.blog/2022-03-29-github-copilot-now-available-for-visual-studio-2022/ |languagelingua=en-US}}</ref> Il [[21 giugno]] 2022 GitHub dichiarò che Copilot non era più nella fase di "anteprima tecnica" e che era disponibile come [[servizio web|servizio]] in abbonamento per sviluppatori singoli.<ref>{{CiteCita web |datedata=21 Junegiugno 2022 |titletitolo=GitHub Copilot is generally available to all developers |url=https://github.blog/2022-06-21-github-copilot-is-generally-available-to-all-developers/ |languagelingua=en-US}}</ref>
==Caratteristiche==
Codex è in grado di generare codice risolutivo di problemi di programmazione viene formulati in [[linguaggio naturale]].<ref name=":1">{{Cite journalCita pubblicazione|last1cognome1=Finnie-Ansley |first1nome1=James |last2cognome2=Denny |first2nome2=Paul |last3cognome3=Becker |first3nome3=Brett A. |last4cognome4=Luxton-Reilly |first4nome4=Andrew |last5cognome5=Prather |first5nome5=James |datedata=14 Februaryfebbraio 2022 |titletitolo=The Robots Are Coming: Exploring the Implications of OpenAI Codex on Introductory Programming |journalrivista=Australasian Computing Education Conference |seriesserie=ACE '22 |___locationcittà=New York, NY, USA |publishereditore=Association for Computing Machinery |pagespp=10–19 |doi=10.1145/3511861.3511863 |isbn=978-1-4503-9643-1|s2cid=246681316 |doi-access=free }}</ref> È anche in grado di documentare il codice sorgente in inglese e di tradurlo in [[linguaggio di programmazione|linguaggi di programmazione]] differenti.<ref name=":1" />
Secondo il [[sito web]], GitHub Copilot include funzionalità di supporto per i programmatori, come la possibilità di convertire i commenti del codice in [[codice eseguibile]] e il completamento automatico per [[Codice a blocchi|blocchi di codice]], sezioni ripetitive di codice e interi [[Metodo (programmazione)|metodi]] e/o [[Funzione (informatica)|funzioni]].<ref name=":2" /><ref>{{Cite journalCita pubblicazione|last1cognome1=Sobania |first1nome1=Dominik |last2cognome2=Schweim |first2nome2=Dirk |last3cognome3=Rothlauf |first3nome3=Franz |datedata=2022 |titletitolo=A Comprehensive Survey on Program Synthesis with Evolutionary Algorithms |url=https://ieeexplore.ieee.org/abstract/document/9743417?casa_token=2vffB_1z0UsAAAAA:7YGw6NRDYQE9UBDPUdv7Ij7EwySLOMENhzzRmIYo5erRHv0qtESQn-lCkMAh35cWn-DVrcP69Q |journalrivista=IEEE Transactions on Evolutionary Computation |volume=27 |pagespp=82–97 |doi=10.1109/TEVC.2022.3162324 |s2cid=247721793 |issn=1941-0026}}</ref> GitHub riferisce che la funzione di completamento automatico di Copilot è accurata al 50%; ad esempio, con un codice di intestazione di una funzione in Python, Copilot ha completato correttamente in automatico il resto del codice del corpo della funzione il 43% delle volte al primo tentativo e il 57% delle volte dopo dieci tentativi.<ref name=":2" />
GitHub afferma che le funzionalità di Copilot consentono ai programmatori di navigare al'interno di [[framework]] e [[Linguaggio macchina|linguaggi di codifica]] sconosciuti, riducendo la quantità di tempo dedicata alla lettura della documentazione.<ref name=":2" />
==Implementazione==
GitHub Copilot è alimentato da [[OpenAI Codex]]<ref>{{CiteCita web |lastcognome=Krill |firstnome=Paul |datedata=12 agosto 2021 |titletitolo=OpenAI offers API for GitHub Copilot AI model |url=https://www.infoworld.com/article/3629469/openai-offers-api-for-github-copilot-ai-model.html|languagelingua=en}}</ref>, una versione di produzione modificata del Generative Pre-addestrato Transformer 3 ([[GPT-3]]), un modello linguistico che utilizza il [[deep learning]] per produrre testo simile a quello umano.<ref>{{CiteCita web |datedata=3 Junegiugno 2020 |titletitolo=OpenAI Releases GPT-3, The Largest Model So Far |url=https://analyticsindiamag.com/open-ai-gpt-3-language-model/|languagelingua=en-US}}</ref>
Il modello Codex è inoltre addestrato su [[byte|gigabyte]] di codice sorgente in una dozzina di linguaggi di programmazione diversi. Esso è addestrato su una selezione di lingua inglese, atingendo a repository di GitHub pubblici e ad altro codice sorgente pubblicamente disponibile.<ref name=":2">{{CiteCita web |titletitolo=GitHub Copilot · Your AI pair programmer |url=https://copilot.github.com/}}</ref> In particolare, è incluso un [[dataset]] [[Filtro (software)|filtrato]] di 159 gigabyte di codice Python proveniente da 54 milioni di repository GitHub pubblici.<ref>{{CiteCita web |titletitolo=OpenAI Announces 12 Billion Parameter Code-Generation AI Codex |url=https://www.infoq.com/news/2021/08/openai-codex/ |languagelingua=en}}</ref>
GPT-3 di Open AI è concesso in licenza esclusivamente a [[Microsoft]], la casa madre di GitHub.<ref>{{CiteCita web |titletitolo=OpenAI is giving Microsoft exclusive access to its GPT-3 language model |url=https://www.technologyreview.com/2020/09/23/1008729/openai-is-giving-microsoft-exclusive-access-to-its-gpt-3-language-model/|languagelingua=en}}</ref>
==Accoglienza==
Fin dal rilascio di Copilot ci sono state preoccupazioni per il suo impatto sulla sicurezza e sull'istruzione, nonché controversie sulla licenza relativa al codice da esso generato.<ref name="Verge legal:1" /><ref name=":1Verge legal" /><ref name=":4">{{cite webcita testo|last1cognome1=Pearce |first1nome1=Hammond |last2cognome2=Ahmad |first2nome2=Baleegh |last3cognome3=Tan |first3nome3=Benjamin |last4cognome4=Dolan-Gavitt |first4nome4=Brendan |last5cognome5=Karri |first5nome5=Ramesh |datedata=16 dicembre 2021 |titletitolo=Asleep at the Keyboard? Assessing the Security of GitHub Copilot's Code Contributions |class=cs.CR |eprint=2108.09293 }}</ref>
===Controversie sulla licenza===
Nel giugno 2021 l'[[amministratore delegato]] di GitHub Nat Friedman affermò che "addestrare i sistemi [[machine learning|ML]] sui dati pubblici rientra nel [[fair use]]".<ref>{{CiteCita tweet |userutente=natfriedman|numbernumero=1409914420579344385|authorautore=Nat Friedman|titletitolo=In general: (1) training ML systems on public data is fair use|languagelingua=en|archive-urlurlarchivio=https://web.archive.org/web/20210630043243/https://twitter.com/natfriedman/status/1409914420579344385|archive-date=2021-06-30}}</ref> Una [[class action|causa legale collettiva]] intentata nel novembre 2022 replicò che si trattava di "pura speculazione", asserendo che "nessun tribunale ha considerato la questione del fatto che "addestrare i sistemi di ML sui dati pubblici sia una forma di fair use".<ref name="class action suit">{{citecita web |last1cognome1=Butterick |first1nome1=Matthew |titletitolo=GitHub Copilot litigation |url=https://githubcopilotlitigation.com/ |websitesito=githubcopilotlitigation.com |datedata=3 novembre 2022|archive-urlurlarchivio=https://web.archive.org/web/20221103204107/https://githubcopilotlitigation.com/pdf/1-0-github_complaint.pdf|archive-date=2022-11-03}}</ref> La causa intentata dallo studio legale Joseph Savericontesta diversi aspetti legali, che vanno dalla violazione del contratto con gli utenti di GitHub alla violazione della [[privacy]] ai sensi del California Consumer Privacy Act per quanto atiene alla condivisione dei [[dati personali]].<ref name="class action suit"/><ref name="Verge class action">{{CiteCita web |lastcognome=Vincent |firstnome=James |datedata=8 novembre 2022-11-08 |titletitolo=The lawsuit that could rewrite the rules of AI copyright |url=https://www.theverge.com/2022/11/8/23446821/microsoft-openai-github-copilot-class-action-lawsuit-ai-copyright-violation-training-data|languagelingua=en-US}}</ref><ref name="class action suit"/>
GitHub ha confessato che una piccola parte dell'output può risultare letteralmente copiata, cosa che ha fatto temere che il codice di output non sia sufficientemente trasformativo per essere classificato come fair use e possa violare il [[copyright]] del proprietario originale.<ref name="Verge legal" >{{citecita news|url=https://www.theverge.com/2021/7/7/22561180/github-copilot-legal-copyright-fair-use-public-code|titletitolo=GitHub's automatic coding tool rests on untested legal ground|datedata=7 luglio 2021|workopera=[[The Verge]]}}</ref> Nel giugno 2022, la [[Software Freedom Conservancy]] notificò il divieto di usare GitHub all'interno dei propri progetti<ref>{{CiteCita web |titletitolo=Give Up GitHub: The Time Has Come! |url=https://sfconservancy.org/blog/2022/jun/30/give-up-github-launch/|languagelingua=en}}</ref>, accusando Copilot di ignorare le licenze di rilascio del codice presenti nei dati di addestramento.<ref>{{CiteCita web |titletitolo=If Software is My Copilot, Who Programmed My Software? |url=https://sfconservancy.org/blog/2022/feb/03/github-copilot-copyleft-gpl/ |languagelingua=en}}</ref> In un messaggio di assistenza clienti, GitHub sostenne che "l'addestramento di modelli di machine learning su dati pubblicamente disponibili è considerato fair use da parte della comunità del machine learning. L'azione legale collettiva definì ciò "falso", osservando altresì che "indipendentemente dal livello di accettazione di questo concetto nella 'comunità del machine learning', secondo la legge federale, è illegale".<ref name="class action suit" />
===Libri bianchi della FSF===
Il [[28 luglio]] 2021, la [[Free Software Foundation]] (FSF) pubblicò un banco retribuito per la presentazione di un [[libro bianco]] relativo a questioni filosofiche e legali relative a Copilot.<ref name=FSFCall>{{citecita web |url=https://www.fsf.org/blogs/licensing/fsf-funded-call-for-white-papers-on-philosophical-and-legal-questions-around-copilot |titletitolo=FSF-funded call for white papers on philosophical and legal questions around Copilot |publishereditore=Free Software Foundation |datedata=28 luglio 2021}}</ref> Donald Robertson, Licensing and Compliance Manager della FSF, disse che "Copilot solleva molte [...] domande che richiedono un esame più approfondito".<ref name=FSFCall /> Il [[24 febbraio]] 2022, la FSF comunicò di aver ricevuto 22 documenti sull'argomento e di averne selezionato 5 a conclusione di un processo di revisione anonimo.<ref>{{citecita web |url=https://www.fsf.org/news/publication-of-the-fsf-funded-white-papers-on-questions-around-copilot |titletitolo=Publication of the FSF-funded white papers on questions around Copilot |datedata=24 febbraio 2022}}</ref>
===Problemi di privacy===
Il servizio Copilot è basato sul cloud e richiede una comunicazione continua con i [[server]] di GitHub Copilot.<ref>{{citecita web |titletitolo=GitHub Copilot - Your AI pair programmer |url=https://github.com/features/copilot/#faq-privacy}}</ref> Questa [[Architettura (computer)|architettura]] opaca ha alimentato preoccupazioni circa il rischio di [[telemetria]] e [[data mining|estrazione di dati]] a fronte di eventi asincroni azionati dal mondo esterno e ricnosciuti dal programma.<ref>{{citecita web |titletitolo=CoPilot: Privacy & DataMining |url=https://github.com/community/community/discussions/7263}}</ref><ref>{{citecita web |titletitolo=Who does that server really serve?|url=https://www.gnu.org/philosophy/who-does-that-server-really-serve.en.html}}</ref>
===Problemi di sicurezza===
===Problemi relativi al mondo della scuola===
Un documento del febbraio 2022 pubblicato dall'[[Association for Computing Machinery]] valuta l'impatto che Codex, la tecnologia utilizzata da GitHub Copilot, potrebbe avere sulla formazione dei programmatori alle prime armi. Lo studio utilizza le domande di valutazione di un corso introduttivo di programmazione tenutosi presso l'[[Università di Auckland]] e mette a confronto le risposte di Codex con le prestazioni degli studenti.<ref name=":1" /> I ricercatori scoprirono che Codex, in media, otteneva risultati migliori di quelli della maggior parte degli studenti; tuttavia, le sue prestazioni erano inferiori su domande che limitavano le funzionalità che potevano essere utilizzate nella soluzione (ad esempio, condizionali, collezioni di dati numerici come [[Lista (informatica)|liste]] e [[grafo|grafi]], e [[cicli for]]).<ref name=":1" /> Dato questo tipo di problemi, "solo due delle 10 soluzioni [del Codex] hanno prodotto l'output corretto, ma entrambe [...] hanno violato [il] vincolo". Il documento conclude che Codex può essere utile nel fornire una varietà di soluzioni agli studenti, ma può anche indurre a un abuso della loro fiducia e al [[plagio]].<ref name=":1" />
==GitHub Copilot X==
==Collegamenti esterni==
* {{en}} {{citaCita web|lingua=en|url=https://copilot.github.com/|titolo=Sito ufficiale}}
{{controllo di autorità}}
{{portale|informatica}}
[[Categoria:GitHub]]
[[Categoria:Elaboratori di linguaggio naturale liberi]]
|