Canonical sta preparando una revisione importante del suo sistema operativo open source, con l'obiettivo di rafforzare la sicurezza e ottimizzare le prestazioni di Ubuntu.
Ubuntu, una delle distribuzioni più longeve e diffuse nell'ecosistema Linux, sta per subire uno dei più grandi cambiamenti della sua storia. Per anni, la sua stabilità è stata supportata da componenti del progetto GNU , ma ora Canonical, la società responsabile del suo sviluppo, ha confermato una mossa che avverrà molto presto.
A partire dalla versione 25.10 di Ubuntu, la distribuzione sostituirà il tradizionale GNU coreutils. Ciò significa che comandi essenziali come ls, cp o rm, che fanno parte della vita quotidiana di qualsiasi utente di questo sistema, saranno sostituiti da nuove versioni sviluppate in Rust , un moderno linguaggio di programmazione che dà priorità a sicurezza, efficienza e prestazioni.
Ubuntu si sta reinventando, ma perché abbandona GNU?
La prossima versione di Ubuntu, 25.04 "Plucky Puffin", non è ancora disponibile, ma è in lavorazione un cambiamento significativo per la prossima versione, 25.10. Canonical e i suoi collaboratori sostituiranno quindi le attuali utilità principali (del progetto GNU e implementate in C) con la nuova suite di utilità, scritta in Rust.
La ragione di questo cambiamento non è solo tecnica, ma anche filosofica e strutturale. Le coreutils originali (U-utils) del progetto GNU si sono dimostrate robuste nel corso dei decenni, ma sono scritte in C, un ambiente che, seppur potente, è soggetto a vulnerabilità di sicurezza quali buffer overflow ed errori di accesso alla memoria.
Rust, d'altro canto, è stato progettato fin da zero dando priorità alla sicurezza. Il suo sistema di controllo della memoria in fase di compilazione elimina intere categorie di bug che affliggono il C. Offre inoltre un multithreading molto più sicuro, consentendo di sfruttare i moderni processori multicore senza i rischi tradizionali della programmazione parallela.
Canonical afferma che è più facile sostituire i frammenti dello spazio utente rispetto al kernel. Finora, le coreutils di Rust hanno superato circa 500 dei 600 benchmark GNU e, con l'attenzione aggiuntiva che questo cambiamento porterà al progetto, sembra probabile che il punteggio migliorerà rapidamente.
Questa modifica comporta anche una differenza fondamentale nelle licenze. Mentre il software GNU/Linux utilizza la GPL (General Public License), che richiede che qualsiasi modifica al codice sorgente venga distribuita sotto la stessa licenza, Rust e i pacchetti più recenti optano per la licenza MIT, molto più permissiva.
Ciò significa che altri progetti, anche proprietari, possono utilizzare e modificare il codice senza dover rilasciare le modifiche, cosa che ha generato un profondo dibattito all'interno della comunità open source e tra gli sviluppatori.
Inoltre, Jon Seager, vicepresidente dell'ingegneria di Canonical e promotore di questa modifica , fornisce uno strumento chiamato Oxidizr per abilitare o disabilitare globalmente i componenti sostitutivi. Ha illustrato alcune delle ragioni alla base di questa mossa in un post sul suo blog il mese scorso, "Progettare Ubuntu per i prossimi 20 anni " .
Oxidir può essere installato direttamente da GitHub o tramite il gestore di pacchetti Cargo. Consente di sostituire progressivamente e reversibilmente comandi chiave quali coreutils, diffutils, findutils e altri. Si consiglia di effettuare copie di backup prima di modificare componenti di sistema così essenziali.
È una mossa interessante, anche se sta già infastidendo alcuni osservatori. La realtà è che agli utenti di Ubuntu non interessano molto questioni come le licenze del software libero o i linguaggi di implementazione. Vogliono solo che le cose funzionino. Ciò potrebbe indurre altri utenti a passare a Debian, Devuan o a opzioni ancora più avanzate.
Una distribuzione piuttosto importante lo ha già fatto. Alpine Linux utilizza Busybox al posto di molti componenti Linux standard, anche se, se necessario, sono disponibili le utilità GNU Core.
Nel 2021, i leader del kernel Linux, come lo stesso fondatore e leader Linux Torvalds, rimasero colpiti dal linguaggio , ma scelsero di aspettare e vedere cosa sarebbe successo. Rust per Linux ha guadagnato terreno e supporto e, nell'ottobre 2022, Torvalds ha approvato una richiesta pull per supportare il codice Rust nel kernel.
Oltre a Ubuntu, questo cambiamento riflette una tendenza più ampia, poiché il kernel Linux stesso ha già iniziato a integrare componenti in Rust a partire dalla versione 6.1. Ciò apre le porte ad altre distribuzioni che seguiranno le orme di Canonical.
Trovato questo articolo interessante? Condividilo sulla tua rete di contatti in Twitter, sulla tua bacheca su Facebook, in Linkedin, Instagram o Pinterest. Diffondere contenuti che trovi rilevanti aiuta questo blog a crescere. Grazie!
0 commenti:
Posta un commento