GNOME ha aggiornato le linee guida delle Shell Extensions per vietare la pubblicazione di estensioni che includono codice generato dall’intelligenza artificiale. La decisione è dovuta all’incremento del tempo necessario per controllare il codice inutile aggiunto dai tool AI.
Ban delle estensioni con AI
Le Shell Extensions sono piccoli pacchetti che permettono di aggiungere funzionalità all’ambiente desktop GNOME, in modo simile agli add-on per i browser. Possono essere installate usando i tool delle distribuzioni, un’app dedicata oppure direttamente dal sito tramite browser.
Gli sviluppatori delle estensioni devono ovviamente seguire precise linee giuda. Un team del progetto GNOME verificherà il rispetto delle regole e l’assenza di rischi per la sicurezza. Come sottolineato da Javad Rahmatzadeh, uno degli sviluppatori che controlla la qualità delle estensioni, il numero dei pacchetti inviati per la revisione aumenta ogni mese.
In alcuni casi servono più di sei ore al giorno per analizzare oltre 15.000 linee di codice. Negli ultimi due mesi è stato registrato un incremento notevole delle estensioni. La scrittura del codice viene spesso facilitato dai vari tool di intelligenza artificiale generativa. Questi strumenti non sono vietati, ma gli sviluppatori devono comprendere e spiegare il codice.
Invece sono state inviate estensioni con molte linee di codice inutili e pratiche di programmazione sbagliate. GNOME ha pertanto deciso di vietare le estensioni generate con l’AI.
Le estensioni che contengono grandi quantità di codice non necessario, uno stile di codice incoerente, un utilizzo immaginario delle API, commenti che servono da prompt LLM o altre indicazioni di output generato dall’intelligenza artificiale verranno rifiutate.
I tool AI possono essere sfruttati come supporto (ad esempio per rilevare bug), ma non per generare il codice dell’intera estensione. Almeno finché l’AI non scriverà estensioni di alta qualità senza codice inutile. Fedora ha adottato invece un approccio più soft. Non ha vietato l’uso dell’AI, ma gli sviluppatori devono essere trasparenti.