GNU/Linux: cos’è e ha davvero senso fare polemica nel 2025?

Il termine GNU/Linux, che unisce il kernel Linux e il software libero del Progetto GNU, è da sempre al centro di interminabili discussioni. Non è forse ora di darci un taglio dando credito, come dice Linus Torvalds, a chi lo merita? Nel nostro piccolo, proviamo a riassumere l'avvincente storia che ha portato alla nascita del sistema operativo.

Mar 26, 2025 - 20:10
 0
GNU/Linux: cos’è e ha davvero senso fare polemica nel 2025?

Ancora oggi i sostenitori più radicali delle idee portate avanti dalla Free Software Foundation (FSF) tendono a riprendere coloro che, per riferirsi al sistema operativo del pinguino usano semplicemente il termine Linux e non GNU/Linux. Apriti cielo! “Linux è solo il kernel del sistema operativo, GNU/Linux si riferisce a un sistema operativo completo che combina il kernel Linux con il software libero e gli strumenti sviluppati dal progetto GNU“, tuonano i più puntigliosi a ogni piè sospinto.

Nel 2025, tuttavia, ha ancora senso proseguire con una diatriba sulla nomenclatura? O forse comincia a diventare anacronistica e oltremodo stucchevole? Lasciamo il giudizio al lettore, se avrà la bontà di seguirci in questo lungo e affascinante viaggio durato diversi decenni.

In GNU/Linux, cosa significa il termine GNU?

Se Linux è solo il kernel, mentre GNU/Linux è l’intero sistema operativo che utilizza quel kernel insieme agli strumenti GNU, allora cos’è GNU?

GNU è l’acronimo ricorsivo di “GNU’s Not Unix“. È ricorsivo perché il termine GNU compare anche all’interno della scrittura per esteso (“GNU’s Not Unix“), sviluppando di fatto una sequenza infinita. È un acronimo, inoltre, che sottolinea con forza come, nonostante le similitudini, “sotto il cofano” il codice sia frutto di una completa riscrittura e sia qualcosa di diverso rispetto a Unix.

L’idea è quella di un sistema operativo simile a Unix ma completamente libero e open source.

Il Progetto GNU ha sviluppato molti componenti fondamentali per un sistema operativo completo, tra cui:

  • Shell: come la bash (Bourne Again SHell)
  • Compilatori: come la GCC (GNU Compiler Collection)
  • Editor di testo: come GNU Emacs
  • Utilità di base: come le Core Utilities
  • Librerie: come la glibc (GNU C Library)

Questi componenti, combinati con il kernel Linux, formano appunto il sistema operativo completo noto come GNU/Linux. Il Progetto GNU aveva e avrebbe ancora oggi in programma di sviluppare un suo kernel, battezzato GNU Hurd, ma la sua messa a punto – iniziata anni fa – sembra essersi di fatto arrestata.

La storia del sistema operativo GNU/Linux

Il Progetto GNU/Linux affonda le sue radici in un contesto storico segnato dalla transizione da sistemi centralizzati ad architetture più aperte e dalla crescente consapevolezza dell’importanza della libertà del software.

La storia che ha portato alla nascita di GNU/Linux inizia nel 1965 quando MIT, Bell Labs e General Electric collaborarono allo sviluppo di Multics (Multiplexed Information and Computing Service). L’obiettivo era creare un sistema operativo time-sharing, capace di eseguire simultaneamente più applicazioni su un costoso mainframe GE 645, una risorsa accessibile solo a entità accademiche e aziende di elevato profilo.

Multics era progettato per essere molto potente, ma la sua complessità ne rese lo sviluppo e la manutenzione particolarmente difficili. Ken Thompson e Dennis Ritchie, due ingegneri di Bell Labs, furono coinvolti nel progetto Multics all’inizio degli anni ’60. Thompson, in particolare, lavorava sulla parte di implementazione, ma il progetto risultava estremamente complesso e non raggiungeva i risultati sperati.

Così, nel 1969, Thompson e Ritchie decisero di creare un nuovo sistema operativo che fosse più semplice e più facile da sviluppare. Dalla loro idea nacque Unix, sotto forma di progetto interno di Bell Labs. Unix fu inizialmente sviluppato come un sistema operativo per il terminale del PDP-7, una macchina minicomputer, e successivamente, quando Thompson e Ritchie si trasferirono su un sistema più potente (il PDP-11), venne riscritto in linguaggio C, una mossa che consentì una maggiore portabilità del sistema operativo.

Non per nulla Thompson e Ritchie sono considerati gli inventori del linguaggio C, anche se la sua creazione è stata un processo graduale frutto di diversi eminenti contributi.

La commercializzazione di Unix

Nel 1975, Bell Labs (che faceva parte di AT&T) iniziò a vendere licenze per l’uso del codice Unix a varie organizzazioni pubbliche e private, inclusi i poli accademici. Una delle università che acquisì una licenza Unix fu la Berkeley University (California), nel 1977.

Il team di Berkeley iniziò a sviluppare modifiche e miglioramenti al sistema operativo Unix, includendo nuove funzionalità come il supporto per la rete, miglioramenti nei file system e nuove utility. Queste modifiche vennero poi distribuite come BSD Unix dove “BSD” sta per Berkeley Software Distribution.

Il codice sorgente di BSD Unix era reso disponibile gratuitamente, permettendo a chiunque di modificarlo e distribuirlo, una caratteristica che lo differenziava dalle licenze di AT&T.

Nel 1983, AT&T fece causa alla Berkeley, sostenendo che alcune delle modifiche introdotte in BSD erano basate su codice proprietario di Unix. Ne scaturì una disputa legale sulla proprietà intellettuale di Unix.

Nel 1992, i giudici accertarono che BSD aveva violato i diritti di AT&T, ma Berkeley riuscì comunque a ottenere il permesso di distribuire BSD senza dover pagare royalty ad AT&T.

La frammentazione di Unix: System V e altri Fork

Parallelamente allo sviluppo di BSD, nel 1980 anche AT&T entrò nel mercato con la propria versione di Unix, chiamata System V. Sia BSD che System V divennero la base per numerosi fork, ossia versioni derivate del sistema operativo.

Alcune di esse sono giunte fino ai nostri giorni: si pensi ai noti sistemi Solaris, NetBSD, FreeBSD e OpenBSD. La licenza acquisita da Berkeley e il suo lavoro sul codice sorgente di Unix resero possibile la creazione di una versione di Unix che fosse open source e modificabile, a differenza delle versioni proprietarie distribuite da AT&T. Linux ancora non esisteva ma il seme era stato ormai gettato!

Nel 1985, ad esempio, il professore di informatica Andrew Tanenbaum creò Minix, un sistema operativo Unix-like che aveva uno scopo essenzialmente didattico. Serviva infatti a Tanenbaum per insegnare ai suoi studenti i fondamenti dei sistemi operativi.

Minix è basato su una architettura microkernel, il che significa che il sistema operativo è strutturato in modo tale che la maggior parte delle operazioni avvenga in moduli separati e indipendenti, riducendo il rischio di errori a livello di sistema. E, incredibile ma vero, Intel ha scelto Minix come sistema operativo per la gestione del funzionamento dei suoi processori a basso livello. E Tanenbaum ha manifestato il suo disappunto affermando di non essere stato neppure contattato né degnato di alcun credit.

Richard Stallman e la fondazione di Free Software Foundation

A metà anni ’80, quando da ricercatore presso il MIT (Massachusetts Institute of Technology) Richard Stallman si trovò a fare i conti con i software proprietari utilizzati per far funzionare una vasta schiera di dispositivi, decise di fondare Free Software Foundation (FSF).

Il fine primario era quello di creare un movimento di sensibilizzazione verso l’importanza della disponibilità del codice sorgente che fa funzionare hardware e software acquistati dagli utenti finali.

Parallelamente, quindi, FSF avviò il progetto di riscrivere completamente Unix per poterlo rilasciare con una licenza libera, senza alcun obbligo per gli utenti.

Nel 1988, con il proliferare di diverse varianti di Unix, emerse lo standard POSIX, volto a uniformare le interfacce di programmazione per garantire la compatibilità con Unix a livello di codice sorgente. Lo standard POSIX rimane rilevante ancora oggi.

L’anno seguente, nel 1989, Stallman presentò la prima GNU General Public License (GPL) e la versione iniziale del software GNU, così come presentato in precedenza. Quello che mancava all’appello era il kernel del sistema operativo.

L’avvento di Linux e la sua integrazione con GNU

La svolta arrivò nel 1991, grazie al lavoro svolto da Linus Torvalds, allora studente all’Università di Helsinki e appassionato del sistema operativo Minix. L’Università di Helsinki utilizzava Minix per scopi didattici, e Torvalds, ispirato da Tanenbaum, iniziò lo sviluppo del kernel Linux come un progetto di taglio “personale”.

Minix, come detto, è basato su un microkernel, mentre Linux è costruito su un kernel monolitico. Questo significa che in Linux gran parte delle funzioni del sistema operativo (come la gestione della memoria e dei processi) sono gestite direttamente dal kernel, senza l’uso di moduli separati.

Torvalds non aveva in mente di realizzare un prodotto dalle ambizioni commerciali o comunque destinato al “grande pubblico”. Nel 1992, complice anche il clamore sollevato da Torvalds con la sua realizzazione, il kernel Linux e il software GNU si unirono de facto. Gli utenti iniziarono a combinare il kernel Linux con le utilità del Progetto GNU per creare un sistema operativo che divenne noto come Linux o, più correttamente, GNU/Linux. L’insieme del kernel Linux e delle utilità GNU costituiva un sistema operativo completamente libero, che poteva essere usato, modificato e distribuito da chiunque.

Lo stesso anno Orest Zborowski, noto hacker statunitense, realizzò il porting del sistema grafico X Window System su Linux, rendendo possibile l’esecuzione di software con interfaccia grafica.

Nel 1995 nacque Apache HTTP Server, applicazione basata su Linux e sviluppata da programmatori che desideravano un server Web stabile e open source per il World Wide Web. Quella realizzazione contribuì alla diffusione senza confini di Linux presso i provider Internet.

La diffusione “universale” di Linux

Da metà anni ’90, con l'”esplosione” del Web a tutti i livelli, Linux è sempre protagonista. Linux è utilizzato nel 100% dei primi 500 supercomputer del mondo, evidenziando la sua capacità di gestire carichi di lavoro intensivi e complessi.

È ampiamente utilizzato nei data center e nelle piattaforme cloud. Ad esempio, il 92% delle macchine virtuali nei principali provider cloud come AWS, Google Cloud e Microsoft Azure utilizza Linux. Lato server, Linux ha una quota di mercato del 63% sui server, seguito da Windows Server e da altri sistemi operativi.

Ha senso usare ancora oggi il termine GNU/Linux o basta soltanto Linux?

Onestamente, è difficile dare una risposta definitiva. Tuttavia, vale la pena ricordare che lo stesso Linus Torvalds, nel 1996, scriveva quanto segue:

In realtà non importa come la gente chiama Linux, finché si dà credito a chi lo merita (…). Personalmente, continuerò a chiamarlo “Linux“, ma ci sono già state distribuzioni che lo chiamano (in altri modi, n.d.r.) il che non mi sorprende poi così tanto.

Se guardiamo all’evoluzione storica, il primo riferimento al nome “GNU/Linux” apparve nel 1992, ma fu solo dopo il 1994, con la distribuzione Debian GNU/Linux, che l’uso del nome divenne più comune, grazie anche al sostegno di FSF.

Stallman e FSF ritengono ancora oggi che il termine “Linux” sia inappropriato per riferirsi all’intero sistema operativo. Questo perché il nome “Linux” non riconosce il fondamentale contributo del Progetto GNU nella creazione del sistema. Secondo la FSF, chiamare l’intero sistema “GNU/Linux” aiuta a sensibilizzare gli utenti riguardo alla filosofia del software libero e a riconoscere l’importanza di questi ideali nel plasmare la comunità.

È nato prima il termine Linux o GNU/Linux?

D’altra parte, il nome “Linux” è stato adottato da gran parte della comunità, sia dagli sviluppatori che dagli utenti, come il termine standard per indicare il sistema operativo nella sua interezza. Questa scelta è stata facilitata dal fatto che “Linux” è più semplice da pronunciare e più immediatamente riconoscibile rispetto a “GNU/Linux”, che è stato proposto più tardi e che molti considerano ridondante.

Eric S. Raymond, programmatore e scrittore statunitense, noto principalmente per il suo contributo al movimento del software open source, ha sottolineato che l’uso del termine “Linux” per designare l’intero sistema operativo non è solo una questione di semplificazione, ma anche di storicità. Torvalds, infatti, ha sempre utilizzato “Linux” fin dall’inizio del progetto, e la popolarità del nome è cresciuta con il passare degli anni. In aggiunta, molte distribuzioni moderne Linux includono anche software che non è parte del progetto GNU, rendendo “Linux” una sorta di metonimia per l’intero ecosistema.

Torvalds usò “Linux” per riferirsi al “sistema combinato” kernel più GNU sin dal 1991, mentre Stallman iniziò a chiedere agli utenti di chiamare il sistema “GNU/Linux” verso la metà degli anni  ’90, quando il termine “Linux” era già divenuto popolare. Interessante anche la raccolta su Wikipedia “Come le distribuzioni definiscono se stesse“.

Quando il sistema non è più GNU/Linux

Un aspetto fondamentale da considerare è che, sebbene molte distribuzioni GNU/Linux adottino il kernel Linux insieme ai componenti di GNU, esistono anche sistemi che, pur utilizzando il kernel Linux, non si basano sul progetto GNU. Un esempio classico di tale sistema è Android, sviluppato da Google.

Pur essendo costruito sul kernel Linux, Android differisce in maniera sostanziale da una distribuzione GNU/Linux tradizionale. In Android, infatti, i componenti principali non sono quelli del Progetto GNU, ma includono una serie di librerie e tool appositamente creati per l’uso su dispositivi mobili, che lo rendono incompatibile con le distribuzioni GNU/Linux.

Ad esempio, il sistema di gestione dei pacchetti e le librerie fondamentali di Android sono molto diverse da quelle che si trovano nelle distribuzioni GNU/Linux classici.

Un altro esempio interessante è Debian GNU/kfreebsd, che adotta il sistema operativo FreeBSD invece del kernel Linux. Questo sistema è ancora compatibile con i programmi e le librerie tipiche di GNU/Linux, ma utilizza un kernel diverso, pur mantenendo la stessa interfaccia e strumenti. Gli utenti che lavorano con Debian GNU/kfreebsd possono sfruttare la stessa base software di un sistema GNU/Linux, ma con un kernel che offre prestazioni e caratteristiche proprie di FreeBSD.

Ancora, Ubuntu ha recentemente annunciato la volontà di discostarsi da GNU/Linux a partire dalla release 25.10 della distribuzione. Canonical ha annunciato piani per sostituire le GNU Coreutils (insieme di strumenti di base che includono comandi essenziali per la gestione di file, testo, processi e directory, come ls, cp, mv, rm, cat, echo e molti altri) con alternative scritte in Rust, come la suite Uutils.

Conclusioni

La storia di GNU/Linux si sviluppa come una narrazione che intreccia collaborazione, innovazione, ideali e risoluzione di sfide. Iniziando con le ambizioni di Multics e passando per la pragmatica genesi di Unix, fino alla visione di Richard Stallman per un software libero e all’intuizione tecnica di Linus Torvalds, il cammino che ha condotto alla creazione di GNU/Linux è segnato da figure fondamentali e momenti determinanti.

Oggi, la sua presenza dominante in ambiti strategici come il cloud, i server e il supercomputing è un chiaro segno della solidità, flessibilità e del potenziale offerto dal pinguino.

Nel settore desktop, Linux non è ancora riuscito a consolidare una posizione dominante, con una quota di mercato che si attesta al di sotto del 2%. Questo gap è in parte il risultato di uno sviluppo che, tradizionalmente, ha privilegiato altre aree, lasciando alcune funzionalità del desktop a un passo indietro rispetto a piattaforme concorrenti. La presenza preinstallata di Windows sui nuovi dispositivi e la familiarità degli utenti con questo sistema operativo costituiscono ulteriori barriere. Tuttavia, il sistema operativo è solo uno strumento: la consapevolezza e la libertà di scelta restano valori centrali per l’evoluzione dell’informatica.