Riassunto:
Lo sviluppo del kernel di un sistema operativo da zero di solito richiede diversi anni a un team di ingegneri esperti. Tuttavia, il cofondatore di CentOS e iniziatore del progetto Rocky Linux, Gregory Kurtzer, ha recentemente dimostrato un risultato piuttosto speciale: ha utilizzato agenti di intelligenza artificiale per creare un nuovo kernel del sistema operativo Ginux in soli 11 giorni. Questo kernel non utilizza alcun codice del kernel Linux, ma può già avviare Rocky Linux 10. Sebbene sia ancora un prototipo di ricerca, questo progetto mostra una nuova possibilità per l'intelligenza artificiale di partecipare allo sviluppo di un software complesso sottostante.

Kurtzer ha annunciato per la prima volta il progetto Ginux la settimana scorsa attraverso la piattaforma social X. Il relativo codice è stato caricato anche su GitHub e ha adottato la licenza open source Apache 2.0. Il nome Ginux combina i tre elementi di Linux, GPT e Greg. Nell'introduzione del progetto si scherzava addirittura sul fatto che, per evitare che l'autore si autoesaltasse, la lettera G avrebbe dovuto essere interpretata come GPT.
Ginux non è un fork di Linux, né copia i componenti del kernel dal codice Linux esistente. La gestione della memoria, la pianificazione dei processi, il file system e le funzioni di rete sono tutte scritte da zero e sviluppate principalmente utilizzando il linguaggio Rust. Ciò che realmente condivide con Linux è l'Application Binary Interface (ABI). Vale a dire, Ginux simula l'interfaccia di sistema fornita da Linux al software, in modo che i programmi originariamente scritti per Linux possano essere eseguiti senza modificare il codice.
Lo sviluppatore del progetto descrive questo design come: Linux non è solo un'implementazione del kernel, ma può anche essere considerato come una "personalità" o un ambiente di compatibilità presentato dal kernel al software applicativo. Attualmente Ginux implementa solo la modalità di compatibilità Linux e in futuro non è esclusa la possibilità di aggiungere la modalità di compatibilità BSD.
Tuttavia, Ginux è ancora lontano dall'essere completamente compatibile con Linux. Secondo la documentazione del progetto, prendendo come riferimento l'interfaccia x86-64 di Linux 6.12, solo 82 delle 375 chiamate di sistema sono state completamente implementate, altre 245 possono funzionare solo parzialmente e le restanti 48 sono intenzionalmente impostate come non disponibili. Ciò significa che, sebbene possa già eseguire alcuni software Linux esistenti, non può ancora essere considerato un sostituto maturo di Linux per scopi generali.
Ginux introduce anche una serie di meccanismi di isolamento chiamati "Domini". Il software viene eseguito in un ambiente isolato e ciascun dominio ha processi, spazio di memoria e file system indipendenti. Il progetto spera che questo meccanismo fornisca confini di isolamento più forti rispetto ai contenitori tradizionali. Tuttavia, Ginux può comunque utilizzare immagini di contenitori OCI standard per creare file system per ciascun dominio. È in questo modo che è stato in grado di caricare Rocky Linux 10 e far avanzare l'avvio del sistema verso il target multiutente systemd.
L'aspetto più interessante di questo sviluppo è il ruolo dell'intelligenza artificiale. Kurtzer definisce il suo approccio "ingegneria agentica diretta dall'uomo" in un rapporto tecnico. È responsabile della determinazione dell'architettura complessiva, della formulazione delle fasi di sviluppo e dei criteri di accettazione, mentre l'agente di intelligenza artificiale è responsabile della maggior parte del lavoro di esecuzione successivo, inclusa la scrittura del codice, l'avvio del kernel, l'esecuzione di test e la modifica del codice dopo aver scoperto i problemi.
L'intero processo è completato da un'attività OpenAI Codex in esecuzione continua e il modello utilizzato è GPT-5.6 Sol. In 11 giorni, l’intelligenza artificiale ha generato un totale di circa 139.000 righe di codice e contenuti di test e ha completato più di 1.000 invii di codice. Durante il processo di sviluppo, anche la vera distribuzione Rocky Linux ha svolto un ruolo importante: ha messo in luce alcuni problemi che i casi di test costruiti artificialmente non sono riusciti a trovare quando è stata effettivamente avviata ed eseguita.
Tuttavia, Kurtzer non ha inserito Ginux in un sistema operativo pronto per la produzione. Al momento, il progetto è ancora completamente in esecuzione nella macchina virtuale QEMU. Non supporta ancora l'avvio diretto sull'hardware fisico e non è disponibile il supporto per i dispositivi di archiviazione GPU e NVMe. Inoltre, Ginux non è stato ancora sottoposto a controlli di sicurezza indipendenti e la sua sicurezza non può essere completamente verificata.
Kurtzer ritiene che l'intelligenza artificiale abbia ora la capacità di scrivere software di sistema complessi, ma la vera parte difficile non è scomparsa. La compatibilità del software, la sicurezza e le capacità di manutenzione a lungo termine rappresentano ancora le principali barriere che determinano se un sistema operativo può davvero avere successo. In altre parole, l’intelligenza artificiale può abbreviare significativamente il processo di sviluppo del codice da zero, ma non può garantire automaticamente che questi codici siano sufficientemente affidabili, né può sostituire la verifica ingegneristica a lungo termine.
Allo stesso tempo, anche la comunità di sviluppo del kernel Linux sta gradualmente cercando di introdurre strumenti di intelligenza artificiale. Il mese scorso, il fondatore di Linux Linus Torvalds ha utilizzato Claude Code per scrivere una serie di patch sperimentali per la cache delle pagine, ma i revisori hanno successivamente scoperto che esistevano condizioni di competizione, quindi il codice pertinente è ancora in fase di revisione. Più o meno nello stesso periodo, i manutentori del kernel Linux hanno anche concordato di non richiedere più ai contributori di rivelare se il loro codice fosse assistito dall'intelligenza artificiale.
L'importanza di Ginux potrebbe non risiedere nel fatto che possa sostituire immediatamente Linux, ma nel fatto che dimostra un nuovo modello di ingegneria del software: gli esseri umani sono responsabili degli obiettivi, dell'architettura e delle decisioni chiave, e gli agenti IA sono responsabili di una grande quantità di implementazione specifica e del lavoro di test. Sistemi complessi che una volta richiedevano anni per prendere forma ora possono avere un prototipo funzionante in una frazione del tempo. Tuttavia, il percorso ingegneristico per passare da un prototipo a un sistema operativo veramente affidabile in grado di adattarsi a un’ampia gamma di hardware e di essere mantenuto a lungo termine è ancora lungo.
Commenti