Gli sviluppatori della distribuzione Linux Gentoo e dell'OS unix-like NetBSD hanno deciso di non accettare codice generato tramite Intelligenze Artificiali Generative nei loro progetti. Di parere contrario sembrerebbero essere invece i colleghi di Debian. È quindi possibile, ma non scontato, che nell'evoluzione futura di quest'ultima gli LLM (Large Language Model) possano avere un ruolo importante.
Gentoo and NetBSD ban 'AI' code, but Debian doesn't – yet https://t.co/XoCuj3ifds
— The Register (@TheRegister) May 18, 2024
Le decisioni di Gentoo e NetBSD
Gentoo è stato il primo sistema operativo FOSS (Free and Open Source Software) ad escludere l'AI direttamente nelle proprie policy di sviluppo. Tale decisione risale ad aprile 2024, mentre quella riguardante NetBSD, con il medesimo divieto, è arrivata soltanto nelle scorse ore.
Copyright
La scelta di Gentoo è stata motivata innanzitutto da ragioni legate alla tutela della proprietà intellettuale, esiste infatti il rischi che gli LLM restituiscono in output codice protetto da Copyright e che questo venga utilizzato erroneamente all'interno di free software.
Etica
In secondo luogo si è fatto riferimenti alla necessità di salvaguardare la qualità del codice e a motivazioni di carattere etico. Queste ultime si ricollegano a loro volta a quelle legate al Copyright perché, in ogni caso, sussiste il pericolo che il codice generato dagli assistenti LLM, come per esempio GitHub Copilot, possa essere troppo simile a quello utilizzato in fase di training, portando a potenziali violazioni di licenza e problemi di attribuzione delle proprietà intellettuali.
Qualità del codice
Il discorso riguardante la qualità del codice è invece più articolato in quanto parte dall'assunto che gli LLM non sono considerati "intelligenti" nel senso tradizionale del termine. In realtà infatti, essi si "limiterebbero" a generare del testo plausibile in linguaggio naturale (o del codice) basato sui dataset di addestramento. Da questo punto di vista, ad esempio, non esiste alcuna garanzia relativa al controllo sull'assenza di vulnerabilità. La qualità del codice non è data soltanto dal rispetto della sintassi o dal fatto che l'output generato sia adeguato al contesto della richiesta.
Esiste naturalmente la possibilità di una supervisione umana ma quando si parla di sorgenti destinati ad un sistema operativo essa potrebbe diventare molto complessa.