È disponibile Linux From Scratch 13.1, nuova versione dello storico progetto che propone un approccio radicalmente diverso rispetto alle normali distribuzioni GNU/Linux: invece di fornire un sistema operativo già pronto da installare, mette a disposizione un libro che accompagna il lettore nella costruzione del proprio ambiente Linux direttamente a partire dal codice sorgente.
La nuova versione, pubblicata il 1° settembre, aggiorna profondamente gli strumenti fondamentali utilizzati per costruire il sistema. La toolchain comprende ora Binutils 2.47, GCC 16.2.0 e Glibc 2.44, mentre il kernel utilizzato dal libro passa a Linux 7.1.8. Complessivamente 46 pacchetti sono stati aggiornati o aggiunti rispetto alla precedente versione stabile e il progetto ha accumulato oltre 200 commit.
Numerosi aggiornamenti riguardano inoltre la sicurezza e coinvolgono componenti fondamentali del sistema, tra cui Glibc, il kernel Linux, Python, systemd, util-linux, Vim, Expat e altre librerie e utilità.
Ma limitarsi all'elenco delle nuove versioni significherebbe perdere completamente il significato di Linux From Scratch.
LFS non nasce principalmente per offrire un'altra distribuzione GNU/Linux. Nasce per insegnare come una distribuzione viene costruita.
Normalmente installiamo Debian, Fedora, Arch Linux, openSUSE o una delle moltissime distribuzioni disponibili e troviamo davanti a noi un sistema già organizzato: kernel, compilatore, librerie, shell, programmi fondamentali, sistema di inizializzazione e struttura delle directory sono stati selezionati, compilati, configurati e integrati dai responsabili della distribuzione.
Linux From Scratch percorre la strada opposta.
Il lettore parte da un sistema GNU/Linux già funzionante che serve come ambiente di costruzione, prepara una toolchain temporanea e comincia progressivamente a compilare gli elementi necessari al nuovo sistema. Binutils fornisce strumenti fondamentali come linker e assembler, GCC diventa il compilatore con cui costruire gran parte del software successivo e Glibc mette a disposizione la libreria C utilizzata da una quantità enorme di programmi.
A poco a poco compare un sistema autonomo.
Ed è durante questo percorso che termini spesso incontrati nella documentazione Linux smettono di essere semplicemente nomi di pacchetti e cominciano ad assumere un significato concreto.
Si comprende perché esiste una toolchain, come un programma viene collegato alle librerie, quale funzione svolge il kernel rispetto allo spazio utente, come viene costruita la struttura del filesystem, cosa avviene durante l'avvio e perché determinate dipendenze devono essere compilate prima di altre.
Naturalmente tutto questo ha un prezzo: Linux From Scratch non è la soluzione che consiglierei a chi desidera semplicemente installare GNU/Linux sul proprio computer e iniziare a lavorare.
Per quell'obiettivo esistono distribuzioni mature che risolvono automaticamente migliaia di problemi: installazione, dipendenze, aggiornamenti, sicurezza, configurazione hardware e gestione dei pacchetti.
Con LFS molte di queste comodità vengono deliberatamente eliminate.
Ed è proprio questo il punto.
Costruire manualmente un sistema costringe a vedere ciò che normalmente rimane nascosto dietro un installer o un comando del package manager.
LFS rappresenta quindi una sorta di laboratorio didattico del Software Libero.
Il progetto non si ferma inoltre al sistema minimo. Intorno al libro principale esiste Beyond Linux From Scratch, che spiega come aggiungere molti degli elementi necessari a trasformare quella base in un sistema più completo: networking, ambienti grafici, applicazioni e numerosi altri componenti.
Esistono poi documenti dedicati ad aspetti specifici, formando un vero percorso di studio sulla costruzione di GNU/Linux.
Questo modello è possibile anche grazie a una caratteristica essenziale del Software Libero.
Per costruire un sistema partendo dai sorgenti dobbiamo poter ottenere quei sorgenti, studiarli, compilarli e modificarli.
L'accesso al codice non è quindi soltanto una questione teorica o una garanzia destinata agli sviluppatori professionisti. Può diventare uno strumento attraverso il quale una persona comprende concretamente l'infrastruttura digitale che utilizza.
Naturalmente nessuno deve compilare personalmente il proprio sistema operativo per poter utilizzare Software Libero. Sarebbe assurdo trasformare una possibilità in un obbligo.
Il valore sta precisamente nella possibilità.
Possiamo utilizzare una distribuzione pronta quando vogliamo semplicemente lavorare, ma possiamo anche aprire il cofano, smontare il sistema pezzo dopo pezzo e capire come quelle stesse tecnologie vengono assemblate.
In questo senso Linux From Scratch rappresenta quasi l'opposto del modello tecnologico verso il quale una parte dell'informatica contemporanea sembra dirigersi.
Sempre più spesso utilizziamo dispositivi e servizi dei quali possiamo osservare soltanto l'interfaccia finale. Il funzionamento interno rimane nascosto, le decisioni tecniche vengono prese dal produttore e l'utente deve limitarsi a utilizzare ciò che gli viene fornito.
Linux From Scratch parte invece da un principio differente: non nascondere la complessità, ma trasformarla in conoscenza.
Non promette che costruire GNU/Linux da zero sia facile e non cerca di convincerci che tutti debbano farlo.
Ci dice semplicemente che possiamo farlo.
Ed è difficile trovare una dimostrazione più concreta di uno dei valori fondamentali del Software Libero: un computer può essere non soltanto qualcosa che utilizziamo, ma qualcosa che abbiamo il diritto e la possibilità di comprendere.