Un’occhiata indietro a 40 anni di GNU e della Free Software Foundation

40 Years of GNU and the Free Software Foundation

Penseresti che quasi tutta la tecnologia che usi oggi sia qui a causa di una stampante che non funzionava correttamente? Credilo. 

All’inizio degli anni ’80, un programmatore del Laboratorio di Intelligenza Artificiale del MIT di nome Richard M. Stallman (RMS) aveva problemi con una stampante notoriamente poco affidabile, una Xerox 9700. Voleva modificare il software per avvisare gli utenti dei frequenti inceppamenti. Grande idea, ma non riusciva ad accedere al codice sorgente per apportare queste modifiche. Questo andava contro l’etica aperta del Laboratorio. Così decise che il codice del software dovrebbe essere libero. Non libero nel senso di birra gratis, ma libero come libertà di parola.

Inoltre: Ian Murdock, fondatore di Debian Linux, sarebbe rimasto stupito dal suo lascito

Inoltre, RMS era irritato dal fatto che nel 1982, il MIT aveva acquistato un computer DEC PDP-10 con il sistema di condivisione del tempo non libero di Digital invece del sistema Incompatible Timesharing System (ITS) libero. 

Arrabbiato, RMS voleva che gli utenti fossero liberi di utilizzare, modificare e distribuire il software. Nel 1983, questa visione si era cristallizzata in una missione: creare un sistema operativo Unix-like libero. Così nacque GNU, che sta per “GNU’s Not Unix”.

Come scrisse RMS all’epoca, “A partire da questo Ringraziamento, scriverò un sistema software Unix-compatibile completo chiamato GNU (per GNU’s Not Unix) e lo regalerò gratuitamente a tutti coloro che possono usarlo. Sono molto necessari contributi di tempo, denaro, programmi e attrezzature.”

Il suo sogno di scrivere un sistema operativo non si è mai avverato. Il progetto del kernel del sistema operativo, GNU Hurd, rimane incompiuto. Ma, ispirato dalla sua idea che il sistema sociale del software proprietario sia antisociale, non etico e semplicemente sbagliato, lui e altri hanno iniziato a costruire la famiglia di software GNU. Da essa sono nati numerosi altri programmi.

Detto questo, RMS talvolta non è stato sincero sul suo lavoro. Ad esempio, afferma di essere l'”inventore dell’originale e molto imitato editor EMACS”. In realtà, il merito di EMACS va a David A. Moon e Guy L. Steele Jr. come un insieme di macro dell’editor TECO.

Inoltre: Google compie 25 anni: da startup in garage a gigante globale

James Gosling, meglio conosciuto come il padre del linguaggio Java, prese poi l’idea di EMACS, la portò su Unix e migliorò le sue prestazioni grafiche. Poi, di fronte alla scelta di “Sono il signor EMACS per la vita o mi laureo”, decise di terminare i suoi studi universitari e diede a una società chiamata Unipress i diritti di supporto e vendita di EMACS. RMS allora, come racconta la storia Gosling, “impazzì” e “prese tutto il codice sorgente”. 

Stallman riscrisse il codice incriminato dopo una causa tra IBM e DEC contro Unipress e molte parole dure tra Gosling e RMS. Ironicamente, da questa lotta poco decorosa, RMS creò la sua più grande realizzazione: la GNU General Public License (GPL)

RMS si rese conto che, secondo le regole informali della comunità EMACS, anche la comunità EMACS non poteva controllare nemmeno la propria versione di EMACS. RMS e i suoi colleghi decisero che gli utenti potevano modificare il codice di GNU EMACS a patto che pubblicassero le loro modifiche e che le loro opere “derivate” avessero anche la stessa GNU EMACS License. Si stavano compiendo i primi passi verso la GNU General Public License (GPL).

Inoltre: Conosci la storia delle origini di Apple, ma conosci quella di Samsung? È quasi troppo assurda per crederci

L’idea radicale che le persone fossero libere di modificare il codice a condizione che lo condividessero come software libero era la base dell’open source. Ora, l’idea del software libero è molto più antica del software libero. All’inizio dell’informatica, il software era semplicemente condiviso. Come effetto collaterale inaspettato del processo legale antitrust tra Stati Uniti e IBM del 1969, tuttavia, i mainframe e i minicomputer, come DEC e IBM, smisero di fornire software gratuito e iniziarono a vendere sistemi operativi e programmi proprietari. Alla fine degli anni ’70 e agli inizi degli anni ’80, il software proprietario stava diventando la nuova normalità. 

Con l’aiuto di Mark Fischer e Jerry Cohen, avvocati specializzati in proprietà intellettuale (IP), e John Gilmore, sviluppatore di software libero e co-fondatore dell’Electronic Frontier Foundation (EFF), RMS si rese conto che la Licenza GNU EMACS era troppo limitata. Fischer aveva incoraggiato RMS a utilizzare il copyright come base per la licenza, mentre Gilmore aveva suggerito: “Dovresti probabilmente rimuovere ‘EMACS’ dalla licenza e sostituirlo con ‘SOFTWARE’ o qualcosa del genere. Presto, speriamo, Emacs non sarà più la parte più grande del sistema GNU, e la licenza si applicherà a tutto.”

Inoltre: Neutralità della rete: che cos’è e perché se ne parla di nuovo

Prendendo queste idee, RMS creò la prima versione della GPL: “Il copyleft utilizzato dal progetto GNU è composto da una combinazione di un avviso di copyright e la GNU General Public License. L’avviso di copyright è quello solito. La General Public License è una licenza di copia che sostanzialmente afferma che hai le libertà che vogliamo che tu abbia e che non puoi togliere queste libertà a nessun altro.”

Queste quattro libertà sono ora fondamentali per tutti i software liberi e le licenze open-source. Queste sono:

  • La libertà di eseguire il programma come desideri per qualsiasi scopo.

  • La libertà di studiare come funziona il programma e modificarlo in modo che faccia i calcoli come desideri tu. L’accesso al codice sorgente è una condizione necessaria per questo.

  • La libertà di distribuire copie in modo da poter aiutare gli altri.

  • La libertà di distribuire copie delle tue versioni modificate agli altri. Facendo questo, puoi offrire all’intera comunità la possibilità di beneficiare delle tue modifiche. L’accesso al codice sorgente è una condizione necessaria per questo.

La GPL si sarebbe evoluta nel corso degli anni e avrebbe guadagnato importanza. La GPLv2 è forse la più importante delle sue varianti in quanto è la licenza di Linux. La versione più recente, GPLv3, ha esteso i concetti del software libero per coprire la gestione dei diritti digitali (DRM) e i brevetti.

Per sostenere lo sviluppo dei programmi GNU, nel 1985 è stata fondata la Free Software Foundation (FSF) per supportare e promuovere la GPL e i programmatori del movimento del software libero. Il passo successivo significativo è stato lo sviluppo del GNU C Compiler (GCC) nel 1987. GCC non era solo gratuito, ma superava molti compilatori contemporanei, guadagnando un’adozione rapida e contribuendo all’impulso del progetto.

Inoltre: Perché l’open source è la culla dell’intelligenza artificiale

GCC è ampiamente considerato come il risultato principale di GNU e Stallman nel campo della programmazione. Michael Tiemann, programmatore di software e fondatore della prima azienda di open source, Cygnus Support, ha proclamato GCC una “bomba. Proprio come ogni scrittore sogna di scrivere il grande romanzo americano, ogni programmatore negli anni ’80 parlava di scrivere il grande compilatore americano. Improvvisamente Stallman l’aveva fatto. Era molto umiliante.”

Ci sono altri programmi GNU. Questi includono il GNU Project Debugger (Gdb); il bootloader GRUB e GNU Common Lisp.

Un punto doloroso è che RMS non è mai riuscito a creare un sistema operativo. È vero, entro gli anni ’90, il Progetto GNU aveva riscritto con successo gran parte del sistema Unix. Ma c’era ancora una grande eccezione: un kernel di sistema operativo.

Entra in scena Linus Torvalds, uno studente finlandese di informatica che nel 1991 ha iniziato a lavorare su un kernel di sistema operativo come progetto di hobby. Questo kernel, chiamato Linux, combinato con il sistema GNU, ha creato un sistema operativo completamente libero. Ancora oggi, Stallman e la FSF insistono sul fatto che Linux dovrebbe essere conosciuto come “GNU/Linux”.

Inoltre: Perché non più persone utilizzano Linux desktop? Ho una teoria che potrebbe non piacervi

Sebbene, come ha recentemente affermato un lettore di Linux Weekly News (LWN), “GNU e RMS meritano credito per aver visto cosa era possibile e per aver sviluppato gcc, glibc e una serie di utilità da zero. Ma negli ultimi 30 anni su 40 hanno cercato di prendersi il merito di Linux. La versione di Linus nel 1991 può aver dipenduto pesantemente da GNU, ma lo sviluppo del software GNU negli ultimi 30+ anni ha dipenduto e è stato guidato da Linux e dalla sua comunità.”

Inoltre, non ha aiutato il fatto che, nel corso degli anni, RMS abbia acquisito una reputazione controversa. Questo è culminato nel 2019 quando la sua difesa del defunto Marvin Minsky, pioniere dell’intelligenza artificiale e associato del notorio miliardario pedofilo Jeffrey Epstein, ha portato alle sue dimissioni dalla presidenza della FSF. Poi, nel 2021, RMS è tornato nel Consiglio della FSF, una mossa che ha suscitato opposizione sia all’interno che all’esterno della FSF.

Oggi, nel 2023, RMS è ancora un membro del Consiglio della FSF. La FSF sponsorizza anche il Progetto GNU, che continua a cercare di creare un sistema operativo completo di software libero. La FSF possiede anche i diritti d’autore di molti dei programmi GNU.

Inoltre: 8 cose che puoi fare con Linux che non puoi fare con MacOS o Windows

Col passare degli anni, alcuni sviluppatori e aziende hanno ritenuto che la GPL fosse troppo restrittiva. Ciò ha portato alla creazione di licenze alternative, come la Licenza Apache e la Licenza MIT, che offrivano termini più permissivi. Queste tensioni hanno contribuito all’emergere dell’open source, che molti vedono come un approccio più pragmatico alla libertà del software.

Ma, nonostante GNU e RMS abbiano affrontato opposizioni e avuto i loro problemi, i fatti fondamentali sono che hanno cambiato il mondo. Per gli sviluppatori, il lascito di GNU rimane una testimonianza duratura dell’idea che il software dovrebbe dare potere agli utenti anziché limitarli.

Per il mondo in generale, i loro contributi sono stati profondi. Senza la GPL, non ci sarebbe software libero o open source. Infatti, è quasi impossibile immaginare come sarebbero le nostre vite senza di esso. Quasi tutto ciò che usi su un computer oggi, dall’internet ai servizi cloud ai giochi, deve molto al GNU e al suo lavoro pionieristico.