GCC non può ignorare i contributi AI, ed ecco arrivare le regole insieme alla sfida nel farle rispettare

Il progetto GCC è nato nel 1987 come acronimo di GNU C Compiler, sviluppato da Richard Stallman per il progetto GNU. L’anno di creazione è importante, perché lo colloca due anni dopo l’uscita del primo film di Terminator di James Cameron. Direte, che c’entra? Poco e nulla, ma è utile per ricordare che, in quell’epoca, l’AI veniva rappresentata così e questo articolo parla proprio del rapporto tra GCC e l’AI.

Inizialmente GCC compilava solo C, ma col tempo il progetto si è esteso sino a diventare la GNU Compiler Collection, supportando oggi numerosi linguaggi: C, C++, Fortran, Ada, Go, D, Rust, COBOL e altri. GCC è uno dei pilastri della toolchain GNU/Linux e viene utilizzato anche per altri sistemi e architetture. Il Kernel Linux, per esempio, è scritto principalmente in C e viene tuttora compilato anche con GCC, sebbene supporti Clang.

Tutto questo per dire come GCC non è semplicemente “il compilatore del codice C”, ma una componente fondamentale dell’ecosistema open-source e della compilazione di software su moltissime piattaforme.

Poteva quindi un progetto così importante non fare una riflessione a proposito dell’AI? Ovviamente no, l’AI è ormai, per così dire, ineluttabile e, come racconta l’articolo di It’s FOSS, la decisione emersa nella discussione interna al GCC Steering Committee vale la pena di essere raccontata.

Il motivo principale è che l’esito della discussione non è un semplice AI sì o AI no, ma è più… sfumata e va aggiunto come in ogni caso verrà riesaminata all’inizio del 2027.

Riassumendola, GCC rifiuta contributi legalmente significativi se una parte deriva da un LLM (e sul come verificarlo si apre tutto un altro capitolo). Il problema centrale è infatti il copyright e la provenienza del codice: GCC vuole sapere da dove proviene ciò che entra nel progetto.

La soglia indicativa per un contributo “legalmente significativo” è rappresentata da circa 15 righe e viene comunque specificato come siano ammessi piccoli contributi AI, purché dichiarati e conformi alle normali regole del progetto. In tutto questo, i test case fanno eccezione, poiché possono essere generati dall’AI (anche quando sarebbero considerati significativi).

L’AI resta utilizzabile per ricerca, debugging, revisione, traduzione, spelling, ecc.: il divieto riguarda il materiale generato che finisce nel codice di GCC.

Eccoci quindi al primo punto fondamentale che emerge dalla scelta del progetto: GCC non sta dicendo che l’AI sia inutile, ma che, per un progetto infrastrutturale di questo peso, la provenienza del codice è un problema tecnico, legale e di manutenzione.

È un problema complesso, per così dire.

Sulla base di queste scelte è interessante notare come il 7 agosto scorso sia stato rilasciato GCC 16.2, e questa release include oltre 100 correzioni, soprattutto regressioni e bug seri presenti in GCC 16.1.

Il tempismo è, per così dire, narrativamente interessante: pochi giorni dopo la decisione di limitare l’AI, arriva una release con più di cento bug fix. Sia chiaro, non c’è nelle fonti alcuna indicazione che questi fix siano stati prodotti con l’AI. Anzi, GCC ha appena stabilito che contributi di codice AI “legalmente significativi” non vengono accettati.

E qui arriviamo al senso di questo post, che non è tanto chiedersi se il progetto GCC ha usato l’AI per correggere 102 bug, ma se un progetto come GCC può permettersi di rinunciare a quel contributo pur mantenendo il controllo su copyright, provenienza e qualità del codice.

La risposta, come avrete capito, è certamente no.

E sta qui la sfida del progetto per il futuro prossimo: riuscire a coniugare l’animo libero e rispettoso del copyright con la necessità di stare al passo coi tempi.

Un cammino difficile, ma di certo non solitario!

Da sempre appassionato del mondo open-source e di Linux nel 2009 ho fondato il portale Mia Mamma Usa Linux! per condividere articoli, notizie ed in generale tutto quello che riguarda il mondo del pinguino, con particolare attenzione alle tematiche di interoperabilità, HA e cloud.
E, sì, mia mamma usa Linux dal 2009.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *