La GNU General Public License
Con l’arrivo della primavera 1985 Richard Stallman aveva
posto la prima pietra miliare del progetto GNU -- la versione
libera dell’Emacs basata su Lisp. Un obiettivo raggiunto
dopo aver superato due grossi scogli. Prima di tutto aveva dovuto
ricostruire l’Emacs in modo da renderlo autonomo da
qualsiasi piattaforma. Secondo, si era reso necessario procedere
a un’analoga revisione della Comune dell’Emacs.
La disputa con la UniPress aveva evidenziato un difetto nel
contratto sociale applicato all’interno di tale Comune.
Quando gli utenti facevano pieno affidamento
sull’esperienza tecnica di Stallman, vigeva il rispetto
delle norme interne. In quelle aree in cui egli non conservava
più la posizione di hacker-leader -- ad esempio, i sistemi
Unix anteriori al 1984 -- i singoli e le aziende erano di liberi
di creare regole proprie.
La tensione tra la libertà di modifica e quella di
imporre i privilegi dell’autore esisteva in epoca
antecedente all’arrivo del GOSMACS. Il Copyright Act del
1976 aveva riscritto le norme vigenti negli Stati Uniti,
estendendo all’ambito del software la tutela legale del
copyright. Secondo la Sezione 102(b) della legislazione, a
singoli e aziende veniva garantita la protezione della
“espressione” di un programma ma non quella relativa
a “processi e metodi concreti utilizzati” nello
stesso.[84] In altri termini, programmatori
e aziende potevano ora trattare il software al pari di un testo
letterario o di una canzone. L’opera avrebbe ispirato altri
sviluppatori, ma per produrne una copia diretta o derivati
non-satirici occorreva prima ottenere l’autorizzazione del
creatore originale. Nonostante la nuova normativa garantisse che
anche i programmi privi di apposito avviso fossero comunque
tutelati, i programmatori furono lesti ad affermare i propri
diritti, apponendo specifiche postille sul copyright per ogni
software realizzato.
Inizialmente Stallman considerò con allarmismo quelle
diciture. Era raro il caso di un programma che non prendesse in
prestito parti di codice da un qualche software precedente, e
tuttavia era bastata la firma del Presidente e la volontà
del Congresso per consentire a programmatori e aziende di
affermare la proprietà individuale su quella comune nella
scrittura dei programmi. Ciò introdusse inoltre una buona
dose di formalismo all’interno di un sistema
precedentemente del tutto informale. Anche quando gli hacker
potevano dimostrare che il codice di un certo programma risaliva
in realtà a qualche anno addietro, se non spesso a decenni,
le risorse e il denaro necessari per controbattere legalmente la
veridicità di ogni dicitura relativa al copyright superavano
di gran lunga i mezzi a loro disposizione. Per dirla in maniera
semplice, le dispute una volta risolte faccia a faccia tra gli
hacker venivano ora passate ai rispettivi avvocati. In questo
tipo di sistema erano le aziende, non i singoli programmatori, a
trovarsi automaticamente in una posizione di vantaggio.
I sostenitori del copyright per il software avevano dalla loro
qualche buon argomento: senza quella tutela, le opere potevano
scivolare nel dominio pubblico. L’apposizione delle
relative note serviva anche come una sorta di bollino di
qualità. I programmatori o le aziende che associavano il
proprio nome al copyright mettevano anche in gioco la propria
reputazione. Si trattava infine di un contratto e di
un’affermazione di proprietà. Usando il copyright come
una forma di licenza elastica, l’autore poteva concedere
alcuni diritti in cambio di determinati comportamenti imposti
all’utente. Ad esempio, un autore poteva decidere di
rinunciare al diritto di sopprimere copie non autorizzate del
programma se in cambio l’utente si dichiarava
d’accordo a non crearne derivati commerciali.
Si deve a quest’ultima posizione un certo alleggerimento
finale della resistenza di Stallman alle note sul copyright
apposte in calce al software. Ripensando a quegli anni
preparatori al progetto GNU, egli sostiene di avere iniziato a
percepire la natura benefica del copyright all’incirca nel
periodo in cui venne diffuso l’Emacs 15.0, ultimo
aggiornamento significativo del programma precedente al progetto
GNU. “Avevo notato dei messaggi e-mail contenenti diciture
sul copyright con l’aggiunta di semplici licenze tipo
‘consentita la copia letterale’” ricorda
Stallman. “Ciò mi fu di grande ispirazione.”
Per l’Emacs 15.0, Stallman buttò giù una
postilla sul copyright in cui si consentiva agli utenti il
diritto di produrre e distribuire copie, comprese le versioni
modificate, ma non quello di reclamare la proprietà
esclusiva di tali versioni, come nel caso del GOSMACS.
Pur risultando d’aiuto nella stesura del contratto
sociale per la Comune dell’Emacs, quel testo si
dimostrò eccessivamente “informale” per gli
obiettivi del progetto GNU, spiega Stallman. Qualche tempo dopo
l’avvio della realizzazione di GNU Emacs, egli iniziò
a consultarsi con gli altri membri della Free Software Foundation
sul modo di migliorare il linguaggio di quella licenza. Si
consigliò anche con i legali che l’avevano assistito
nel lancio della stessa FSF.
Mark Fischer, avvocato di Boston specializzato sulle questioni
relative alla proprietà intellettuale, ricorda le
discussioni con Stallman di quel periodo. “Richard aveva
un’opinione assai precisa sulle modalità di
funzionamento”, afferma Fischer. “Partiva da due
principi di base. Primo, fare in modo che il software rimanesse
il più aperto possibile. Secondo, incoraggiare gli altri ad
adottare le medesime procedure sulle licenze.”
Quest’ultimo punto significava tappare le falle da cui
erano emerse le diverse versioni private dell’Emacs. Per
farlo, Stallman e i colleghi del software libero trovarono una
soluzione: gli utenti sarebbero stati liberi di modificare il GNU
Emacs fin tanto che ne pubblicavano ogni cambiamento. Inoltre, le
opere “derivate” avrebbero mantenuto l’identica
licenza apposta in calce a quel programma.
Occorrerà tempo prima di rendersi pienamente conto della
natura rivoluzionaria insita in quest’ultima norma. Allora,
aggiunge Fischer, egli aveva considerato la licenza
dell’Emacs per GNU come un semplice contratto. Metteva il
cartellino del prezzo sull’utilizzo del programma.
Anziché denaro, Stallman imponeva agli utenti il pieno
accesso alle modifiche successive. Ciò detto, però,
Fischer non manca di sottolineare l’originalità dei
termini contrattuali.
“Credo che il fatto di chiedere agli altri di accettare
di quel prezzo costituisse qualcosa di veramente insolito, se non
proprio unico, per quell’epoca”, rammenta.
La licenza fece il suo debutto nel 1985 in occasione della
diffusione del GNU Emacs. In quella circostanza Stallman
incoraggiò i commenti della comunità hacker in generale
su eventuali miglioramenti da apportare al linguaggio della
licenza. A farsi avanti fu John Gilmore, hacker allora consulente
per la Sun Microsystems e futuro attivista a sostegno del
software libero. Come parte del suo lavoro di consulenza, Gilmore
aveva adattato l’Emacs per il SunOS, versione locale di
Unix. Nel corso del processo, ne aveva pubblicato i cambiamenti
seguendo i dettati della relativa licenza. Anziché
considerare quest’ultima un’affermazione di
responsabilità, la intese come chiara e concisa espressione
dell’ethos tipico degli hacker. “Fino ad allora gran
parte delle licenze ricorrevano a un linguaggio decisamente
informale”, spiega Gilmore.
E cita come esempio una nota sul copyright, risalente agli
anni ‘80, relativa a trn, una utility Unix scritta da
Larry Wall, futuro creatore dell’utlity “patch”
per Unix nonché del linguaggio di scripting Perl. Nella
speranza di mantenere un certo equilibrio fra la cortesia tipica
di un hacker e il suo diritto di creatore a stabilire le
modalità ci pubblicazione del software, Wall inserì
nell’allegato file README la seguente dicitura sul
copyright:
Copyright (c) 1985, Larry Wall
Potete copiare il kit trn per intero o in parte, senza
però cercare di guadagnarci oppure di fingere di averlo
scritto voi.[85]
Simili annotazioni, pur se in sintonia con l’etica
hacker, riflettono anche la difficoltà di tradurre la natura
agile e informale di tale etica nel linguaggio rigido e legale
del copyright. Stilando il testo per la licenza dell’Emacs
versione GNU, Stallman fece qualcosa in più che bloccare la
fuga verso derivati proprietari. Riuscì a esprimere
l’etica hacker in maniera comprensibile sia per gli
avvocati sia per gli stessi hacker.
Non passò molto tempo, aggiunge Gilmore, che altri hacker
iniziarono a discutere le modalità per adattare tale licenza
ai propri programmi. Stimolato da un’analoga conversazione
su Usenet, nel novembre 1986 Gilmore inviò una e-mail a
Stallman suggerendo alcune modifiche:
Forse dovresti eliminare dal testo “EMACS” per
sostituirlo con “SOFTWARE” o qualcosa di simile.
Presto, speriamo, l’Emacs cesserà di essere la parte
più consistente del sistema GNU, e la licenza va invece
applicata al sistema per intero.[86]
Gilmore non si mostrò l’unico a suggerire un
approccio più generalizzato. Alla fine del 1986, lo stesso
Stallman era tutto preso dalla successiva pietra miliare del
progetto GNU, un “debugger” per codice sorgente e
stava cercando di rivedere la licenza dell’Emacs in modo da
poterla applicare a entrambi i programmi. Soluzione: eliminare
ogni specifico riferimento all’Emacs per convertirla in un
copyright generico che abbracciasse l’intero progetto GNU.
Nacque così la GNU General Public License, meglio nota con
l’acronimo GPL.
In questo caso Stallman aderì alla convenzione di
ricorrere ai numeri decimali per indicare le versioni
sperimentali e ai numeri interi per quelle più stabili. La
versione 1.0 venne pubblicata nel 1989 e proposta come licenza
ufficiale di GNU Emacs e di GNU debugger, il secondo importante
successo di Stallman nel regno della programmazione Unix. La
licenza si apriva con un preambolo a chiarimento delle
prospettive politiche:
La General Public License è redatta in modo da garantire
la libertà di regalare o vendere copie di software libero,
di ricevere o ottenere il codice sorgente desiderato, di
modificare il software o usarne parti all’interno di nuovi
programmi liberi; e di informare l’utente su tutto
ciò.
A tutela dei diritti dell’utente, dobbiamo stabilire
delle restrizioni in modo da impedire a chicchessia di negarvi
tali diritti o chiedervi di rinunciarvi. Queste restrizioni
comportano determinate responsabilità a vostro carico nel
caso vogliate distribuire copie del software, oppure apportarvi
delle modifiche.[87]
Mentre lavorava alla stesura del testo, Stallman fu costretto
a rivedere ulteriormente le linee-guida informali relative alla
vecchia Comune dell’Emacs. Laddove una volta chiedeva a
ogni aderente di pubblicarne tutti i cambiamenti apportati, ora
la richiesta si limitava soltanto a quei casi in cui i
programmatori facevano circolare le versioni derivate
all’interno del medesimo ambito pubblico in cui operava
Stallman. In altri termini, i programmatori che modificavano
l’Emacs puramente a uso privato non dovevano più
metterlo a conoscenza del nuovo codice. In quello che sarebbe
divenuto un raro compromesso nella dottrina del software libero,
decise in tal modo di ridurne drasticamente il prezzo. Gli utenti
avrebbero potuto introdurre innovazioni senza il suo consenso
fintanto che non ponevano alcun divieto allo stesso Stallman e al
resto della comunità hacker per quanto riguardava i
successivi scambi del medesimo programma.
Guardando indietro, Stallman ritiene che il compromesso sulla
GPL fosse dovuto alla propria insoddisfazione per la connotazione
da Grande Fratello del contratto sociale originario della Comune
dell’Emacs. Per quanto gli piacesse curiosare nei sistemi
altrui, la possibilità che qualcuno incaricato del
mantenimento del codice di un programma potesse usare tale potere
in maniera distorta lo convinse a moderare i toni della GPL.
“Non mi sembrava giusto imporre la pubblicazione di
tutti i cambiamenti”, sostiene Stallman. “Era
sbagliato richiederne l’inoltro a un unico sviluppatore
privilegiato. Quel tipo di centralizzazione e di prerogativa
riservata a un singolo individuo faceva a pugni con una
società in cui vigono uguali diritti per tutti.”
È così che la GPL rimane una delle migliori creature
partorite da Stallman. Grazie a essa, venne a crearsi un sistema
di proprietà condivisa all’interno dei normali confini
della legislazione sul copyright. Fatto ancor più
importante, questo mise in evidenza la somiglianza intellettuale
tra il codice legale e quello del software. Il preambolo della
GPL conteneva un profondo messaggio implicito: anziché
considerare con sospetto le norme sul copyright, gli hacker
avrebbero dovuto interpretarle come un ulteriore contesto su cui
poter intervenire.
“La GPL prese forma in maniera analoga a qualsiasi
programma di software libero, facendo affidamento su
un’ampia comunità che ne discuteva la struttura, sul
rispetto delle posizioni contrarie, sulla necessità di
addolcirla e anche di trovare un compromesso per garantirne la
maggiore accettazione possibile”, sostiene Jerry Cohen, un
altro avvocato che aiutò Stallman nella messa a punto della
licenza. “Il procedimento funzionò molto bene e nelle
successive versioni della GPL si è passati da una reazione
diffusamente scettica e talvolta ostile a un’accettazione
assai vasta.”
In un’intervista apparsa nel 1986 sulla rivista Byte, Stallman sintetizza la GPL
in toni coloriti. Oltre a una dichiarazione dei valori hacker,
disse, i lettori dovrebbero considerarla anche “come una
forma di jujitsu intellettuale, dove il sistema legale impostato
dai magnati del software si ritorce contro di
loro”.[88] Qualche anno dopo, Stallman ne
avrebbe descritto la creazione in termini meno duri. “Mi
trovai a riflettere su diverse questioni a livello etico,
politico e legale”, spiegò. “Dovevo cercare di
mettere insieme qualcosa che potesse rientrare nell’attuale
sistema legale. Lo spirito del lavoro voleva porre le basi
normative per una società di tipo nuovo ma, visto che non
rappresentavo alcun governo, in realtà non potevo modificare
alcuna normativa. Dovevo provarci tenendo conto dei sistemi
legali attualmente in vigore, i quali non prevedevano nulla di
simile.”
Mentre Stallman rifletteva sulle questioni etiche, politiche e
legali legate al software libero, un hacker californiano
rispondente al nome di Don Hopkins gli rispedì un manuale
per il microprocessore 68000. Hopkins, specializzato in Unix e
amante della fantascienza, lo aveva ricevuto in prestito da
Stallman tempo addietro. In segno di riconoscenza, Hopkins
decorò la busta con adesivi presi a un incontro locale sulla
fantascienza. Uno di questi catturò l’attenzione di
Stallman. Diceva, “Copyleft (L), All Rights Reversed”
(Copyleft (L), tutti i diritti rovesciati).[89]
Con la diffusione della prima versione della GPL, egli decise
di adattarvi quella dicitura, dando alla licenza sul software
libero il soprannome di “Copyleft”. Col tempo, tale
soprannome e il relativo simbolo, una “C” rovesciata,
sarebbero divenuti il sinonimo ufficiale apposto dalla stessa
Free Software Foundation a ogni tipo di copyright “che
vuole che ogni programma sia ‘software libero’ e che
lo stesso valga per tutte le sue versioni modificate e
ampliate”.
Una volta il sociologo tedesco Max Weber avanzò il
sospetto che tutte le grandi religioni siano fondate sulla
“routinizzazione” o
l’“istituzionalizzazione” del carisma. Ogni
religione di successo, sosteneva Weber, converte il carisma o il
messaggio del leader originario in un apparato sociale, politico
ed etico più facilmente traducibile nel passaggio tra le
varie epoche e culture.
Pur se di natura tutt’altro che religiosa, la GPL si
pone certamente come interessante esempio di un analogo
“processo di routinizzazione” attivato
all’interno dell’ambito moderno e decentralizzato
tipico dello sviluppo del software. Fin dalla sua diffusione, i
programmatori e le aziende che si erano dimostrati poco fedeli o
leali nei confronti di Stallman optarono per l’immediata
accettazione dei termini previsti dalla GPL. Per alcuni essa si
è addirittura trasformata in un meccanismo preventivo per la
tutela dei propri programmi. Anche quanti la rifiutano
ritenendola un contratto che comporta obblighi eccessivi non
possono fare a meno di confermarne l’importanza.
Uno degli hacker che rientra in quest’ultimo gruppo
è Keith Bostic, impiegato presso la University of California
all’epoca in cui venne diffusa la GPL 1.0. Il dipartimento
in cui lavorava, il Computer Systems Research Group, ha
partecipato allo sviluppo di Unix a partire dalla fine degli anni
‘70 ed era responsabile di numerose parti-chiave del
sistema, tra cui il protocollo di rete TCP/IP, pietra miliare
delle attuali comunicazioni via Internet.
Al tramonto degli anni '80, la AT&T, proprietario
originario del marchio Unix, avviò la fase di
commercializzazione del sistema e iniziò a considerare la
Berkeley Software Distribution, o BSD, versione accademica dello
stesso of Unix sviluppato da Bostic e dai colleghi di Berkeley,
come elemento chiave per la messa a punto della tecnologia
commerciale.
Sebbene il codice della BSD venisse condiviso tra ricercatori
e programmatori commerciali tramite un’apposita licenza,
l’operazione presentava un problema. Il codice della
Berkeley Software Distribution era inframmezzato con il codice
proprietario della AT&T. Di conseguenza le distribuzioni
della prima erano disponibili soltanto per quelle istituzioni
già in possesso di una licenza della AT&T. Quando
quest’ultima decise di alzare i prezzi, tale soluzione,
inizialmente considerata innocua, apparve sempre più
onerosa.
Assunto nel 1986, Bostic si era incaricato di trasportare la
BSD sul computer PDP-11 della Digital Equipment Corporation. Fu
in questo periodo, spiega lo stesso Bostic, che si trovò in
stretto contatto con Stallman durante le occasionali visite di
quest’ultimo in California. “Ricordo particolarmente
le animate discussioni sul copyright, seduti davanti ai terminali
del Computer Systems Research Group”, afferma Bostic.
“Discussioni che continuavamo poi a cena.”
Alla fine le diverse posizioni portarono a qualcosa di
concreto, sebbene in una direzione diversa da quella auspicata da
Stallman. Nel giugno 1989, la Berkeley Software Distribution
separò il proprio codice di rete dal resto del sistema
operativo di proprietà della AT&T e iniziò a
distribuirlo sotto una licenza rilasciata dalla University of
California. I termini del contratto sembravano alquanto aperti.
Tutto quello che si richiedeva all’utente era di dare
esplicito riconoscimento all’Università nelle
eventuali inserzioni pubblicitarie previste per i programmi
derivati.[90] Al contrario della GPL,
venivano consentite le derivazioni proprietarie. La rapida
adozione di tale licenza fu frenata però da
un’importante limitazione: la versione della BSD non era un
sistema operativo completo. Se ne poteva studiare il codice, ma
questo funzionava soltanto se integrato in altri programmi
proprietari.
Nel corso degli anni successivi, Bostic e altri programmatori
della University of California lavorarono alla sostituzione dei
componenti mancanti, trasformando così la BSD in un sistema
operativo completo e liberamente distribuibile. Pur se in ritardo
per via di una disputa legale avviata dalla Unix Systems
Laboratories -- la sussidiaria della AT&T che rilevò la
proprietà del marchio Unix -- quello sforzo avrebbe prodotto
frutti all’alba degli anni '90. Ma ancor prima, parecchie
utility incluse nella BSD erano già finite nel progetto GNU
di Stallman.
“Non credo che saremmo mai riusciti ad andare così
forte senza l’influenza di GNU”, sostiene Bostic,
ripensando a quel periodo. “Era chiaramente un progetto in
cui in credevano molto e l’idea piacque anche a
noi.”
Fu verso la fine degli anni ’80 che la GPL iniziò a
esercitare un effetto gravitazionale sulla comunità del
software libero. Non occorreva che un programma usasse quella
licenza per ottenere la qualifica di software libero -- lo
testimoniano le utility della BSD -- ma aderendovi avrebbe
diffuso un preciso messaggio. “Direi che l’esistenza
stessa della GPL ispirò molta gente a chiedersi se il
software su cui stavano lavorando fosse davvero libero e quale
fosse la licenza più adeguata sotto cui distribuirlo”,
sostiene Bruce Perens, creatore di Electric Fence, nota utility
Unix, e futuro leader del gruppo di sviluppo di Debian per
GNU/Linux. Qualche anno dopo la diffusione della GPL, Perens
rammenta di aver abbandonato la licenza prevista per Electric
Fence, preferendo adottare quella più corretta a livello
legale messa a punto da Stallman. “In realtà si
rivelò un’operazione assai semplice”, ricorda
Perens.
Rich Morin, un programmatore che aveva preso l’annuncio
iniziale di Stallman con un certo scetticismo, ricorda di essere
rimasto impressionato dal software che iniziò a raggrupparsi
sotto l’egida della GPL. Nella posizione di leader di uno
user group dedicato a SunOS, uno dei compiti primari di Morin
negli anni ’80 riguardava la distribuzione di nastri
contenenti le migliori utility freeware o free software.
Un’attività che lo obbligava a contattare gli autori
originari per verificare se i loro programmi fossero protetti da
copyright oppure di dominio pubblico. Fu intorno al 1989, afferma
Morin, che iniziò a notare come il miglior software
rientrasse generalmente sotto la licenza GPL. “Nella mia
posizione di distributore di software, non appena vedevo la firma
GPL la considerato una sicura garanzia”, ricorda Morin.
A copertura del lavoro necessario per la distribuzione di quei
nastri ai membri del Sun User Group, Morin era solito chiedere
loro un rimborso. Ora, con il passaggio dei programmi sotto la
GPL, si trovava improvvisamente a mettere insieme quelle raccolte
in metà tempo, ottenendo perfino qualche minimo profitto.
Intuendo l’opportunità commerciale, Morin
trasformò l’hobby in attività imprenditoriale
sotto il nome di Prime Time Freeware.
Iniziative commerciali del genere rientravano pienamente nei
confini progettuali del software libero. “Quando parliamo
di software libero ci riferiamo alla libertà, non al valore
monetario”, spiegava Stallman nel preambolo alla GPL. A
partire dagli anni ’90, raffinò il concetto con una
battuta più semplice: “Non pensiamo a
‘free’ (libero o gratuito) come in ‘free
beer’ (birra gratis), ma piuttosto come in ‘free
speech’ (libertà d’espressione)”.
Per lo più le aziende ignorarono le puntualizzazioni di
Stallman. Eppure per alcuni imprenditori il termine
“freedom” (libertà) associato al software libero
rivestiva un significato identico a quello di “free
market” (libero mercato). Eliminiamo la proprietà del
software dall’equazione commerciale e avremo una situazione
in cui perfino la più piccola delle aziende si sentirà
libera di competere contro giganti come l’IBM e la
Digital.
Uno dei primi imprenditori ad appropriarsi di una simile idea
fu Michael Tiemann, programmatore e laureando presso la Stanford
University. Durante gli anni ‘80, Tiemann aveva seguito il
progetto GNU come un aspirante musicista jazz segue
l’artista preferito. Dovette tuttavia attendere la
distribuzione del GNU Compiler C (GCC) del 1987 prima di poter
afferrare in pieno le potenzialità del software libero.
Definendolo “una bomba”, Tiemann ritiene la sola
esistenza di quel programma sufficiente a evidenziare la
determinazione di Stallman nelle vesti di programmatore.
“Proprio come ogni scrittore sogna di scrivere un grande
romanzo, così negli anni ’80 ogni programmatore non
parlava d’altro se non di realizzare un grande
compilatore”, rammenta Tiemman. “Improvvisamente
Stallman ci era riuscito. Fu una cosa umiliante.”
“Se vogliamo isolare un solo punto di svolta, quello fu
il GCC”, concorda Bostic. “Prima del suo lancio,
nessuno poteva vantarsi di avere un compilatore.”
Anziché competere con Stallman, Tiemann decise di
costruire qualcosa a partire dal suo lavoro. La versione
originale del compilatore occupava 110.000 righe di codice, ma
Tiemann lo ricorda come sorprendentemente semplice da capire. Era
talmente semplice che in realtà gli ci vollero meno di
cinque giorni per impararlo e un’ulteriore settimana per
adattarlo a una nuova piattaforma hardware, il microchip 32032
della National Semiconductor. Nel corso dell’anno
successivo, Tiemann iniziò a giocare con il codice, finendo
col creare un compilatore nativo per il linguaggio C++. Un
giorno, intervenendo a un evento presso i Bell Labs, Tiemann
venne a sapere che alcuni sviluppatori della AT&T erano alle
prese con un identico progetto.
“In sala c’erano 40 o 50 persone, e chiesi se
qualcuno stesse lavorando a quel compilatore”, ricorda.
“Uno di loro rispose che si trattava di
un’informazione riservata, aggiungendo però che una
semplice occhiata in giro sarebbe stata sufficiente a fornirmi il
quadro della situazione.”
Comunque sia, l’idea giusta prese corpo qualche tempo
dopo. “Lavoravo a quel progetto ormai da sei mesi. Pensai,
‘non so se dipende da me o dal codice, ma il livello di
efficacia raggiunto è tale da potersi aspettare qualche tipo
di ricompensa dal libero mercato’”, chiarisce
Tiemann.
Un’ulteriore fonte d’ispirazione giunse dal
Manifesto GNU il cui testo, pur ferendo la cupidigia di alcuni
rivenditori, ne incoraggia altri a considerare i vantaggi del
software libero dal punto di vista del consumatore. Eliminando il
potere del monopolio dall’ambito del software commerciale,
la GPL consente infatti ai distributori più accorti di
competere efficacemente nell’ambito dei servizi e della
consulenza, le due aree più redditizie di quel mercato.
In un saggio redatto nel 1999, Tiemann ricorda l’impatto
del Manifesto di Stallman. “[...] in superficie può
apparire polemica socialista, ma io vi ho trovato qualcosa di
diverso. Nascosto tra le righe vi ho intravisto un progetto
commerciale.”[91]
In collaborazione con John Gilmore, altro entusiasta del
progetto GNU, Tiemann lanciò così un servizio di
consulenza dedicato alla personalizzazione di programmi GNU. Con
il nome di Cygnus Support, la società firmò il suo
primo contratto nel febbraio 1990. A fine anno ne aveva raccolti
per un valore complessivo pari a 725.000 dollari.
GNU Emacs, GDB e GCC erano i “tre grandi” tra gli
strumenti per sviluppatori, ma non furono gli unici messi a punto
da Stallman durante i primi cinque anni del progetto GNU. Entro
il 1990, Stallman aveva realizzato anche la versione GNU della
Bourne Shell (ribattezzata Bourne Again Shell, o BASH), YACC
(rinominata Bison), e awk (gawk). Al pari di GCC, ciascun
programma GNU era studiato per girare su molteplici sistemi, non
unicamente sulla piattaforma di un solo produttore. Con
l’intento di fornire maggiore elasticità a quei
programmi, spesso Stallman e i suoi collaboratori finivano per
renderli anche più utili.
Riferendosi all’approccio universale di GNU, Morin della
Prime Time Freeware sottolinea in particolare un pacchetto,
importante pur se di portata ridotta, chiamato hello. “Si tratta di un
programma composto da cinque righe in C, organizzato come fosse
una distribuzione GNU”, spiega Morin. “In tal modo
riuscì a conquistarsi moduli tipo il ‘Texinfo’ e
il ‘configure’. Per consentire al software di
adattarsi facilmente ad ambienti diversi, si è cioè
avvalso di tutti gli altri accessori utilizzati dal progetto GNU.
Si tratta di un’operazione di estrema importanza che
finì per estendersi non soltanto a tutto il software [di
Stallman] ma anche a quello del progetto GNU.”
Secondo Stallman, il miglioramento dei programmi rappresentava
un’attività secondaria rispetto alla loro scrittura.
“Non ero affatto certo di essere in grado di perfezionare
questo o quel programma”, spiegò nell’intervista
a Byte. “Quando ci
riuscivo, in un certo senso a beneficiarne era la procedura di
re-implementazione, operazione che tende in ogni caso a
migliorare le prestazioni di ogni sistema. D’altra parte,
ciò può accadere perché è da molto tempo che
lavoro su sistemi diversi, di conseguenza mi vengono buone idee
per adattarli al meglio.”[92]
Comunque sia, mentre sul finire degli anni ’80 gli
strumenti GNU iniziavano a lasciare il segno, la reputazione
acquisita da Stallman all’epoca del laboratorio di
intelligenza artificiale, per quanto riguarda l’eccessiva
pignoleria progettuale, divenne leggendaria nell’intera
comunità degli sviluppatori.
Jeremy Allison, allora utente Sun e programmatore destinato a
lanciare un decennio più avanti un proprio progetto di
software libero, Samba, rammenta quella reputazione ridendoci
sopra. Durante gli ultimi anni '80, Allison iniziò a usare
l’Emacs. Ispirato dal modello di sviluppo comunitario, dice
di aver inviato a Stallman il proprio contributo solo per
vederselo rifiutare.
“Si può riassumere il tutto con un titolo della
testata satirica online Onion”, scherza Allison.
“Qualcosa tipo, ‘Dio dice no alle preghiere di un
fanciullo.’”
La crescente statura di Stallman come programmatore veniva
tuttavia controbilanciata dai problemi in cui si dibatteva nelle
vesti di project manager. Anche se GNU passava di successo in
successo nella creazione di strumenti per lo sviluppo,
l’incapacità di generare un kernel funzionante -- il
programma di controllo centrale di tutti i sistemi Unix capace di
determinare quali periferiche e applicazioni debbano avere
accesso al microprocessore e quando -- anche prima della fine
degli anni ’80 stava provocando qualche mugugno di
delusione.
Come per gli altri componenti del progetto GNU, Stallman ne
aveva iniziato lo sviluppo cercando un programma già in
circolazione da modificare. Secondo la “GNUsletter”
della fine degli anni ’80, questo approccio, come il
tentativo iniziale di costruire GCC partendo da Pastel, era
tutt’altro che ottimale. Una GNUsletter del gennaio 1987
riporta che il progetto GNU stava lavorando al rifacimento di
TRIX, un kernel Unix realizzato al MIT.
Nel febbraio del 1987, una newsletter segnala che il progetto
aveva spostato l’attenzione su Mach, un
“micro-kernel” leggero sviluppato presso la Carnegie
Mellon. Ciò nonostante, il lavoro effettivo sul kernel del
progetto GNU non prese ufficialmente il via prima del
1990.[93]
Un simile ritardo rappresentava soltanto una delle numerose
preoccupazioni che incombevano su Stallman in quel periodo. Nel
1989, la Lotus Development Corporation avviò una azione
legale contro un’azienda rivale, la Paperback Software
International, per aver copiato i comandi del menu presenti nel
popolare spreadsheet Lotus 1-2-3. La denuncia della Lotus, in
aggiunta alla battaglia Apple-Microsoft sull’aspetto tipico
delle applicazioni, provocò una ricaduta problematica per il
progetto GNU. Anche se le due vicende giudiziarie esulavano dagli
obiettivi perseguiti da tale progetto, entrambe riguardavano
sistemi operatavi e applicazioni realizzate per il personal
computer -- non per sistemi compatibili con Unix -- minacciavano
comunque di propagare un micidiale effetto a catena
sull’intera cultura degli sviluppatori. Deciso a far
qualcosa, Stallman incaricò alcuni amici programmatori di
realizzare un’inserzione pubblicitaria per alcune riviste
per opporsi alle due vertenze. Proseguì poi avviando
l’organizzazione di un gruppo di protesta contro simili
iniziative delle corporation. Sotto il nome di League of
Programming Freedom (Lega per la libertà di programmazione),
il gruppo tenne dimostrazioni di protesta davanti agli uffici
della Lotus e all’aula giudiziaria di Boston che ospitava
il processo.
Proteste che ottennero una certa visibilità,[94]
poiché documentavano la natura in continua evoluzione
dell’industria del software. Le applicazioni avevano
silenziosamente sostituito i sistemi operativi come principale
campo di battaglia delle grandi aziende. Nella sua ricerca senza
esito di costruire un sistema operativo di software libero, il
progetto GNU sembrava però perdere irrimediabilmente il
passo con i tempi. Anzi, agli occhi di alcuni osservatori,
proprio il fatto che Stallman avesse ritenuto necessario mettere
insieme un gruppo completamente nuovo per opporsi alle azioni
legali non faceva altro che rafforzare l’idea di una certa
obsolescenza in atto.
Nel 1990, la John D. & Catherine T. MacArthur Foundation
riconobbe il genio di Stallman assegnandogli un riconoscimento in
denaro. Il premio, una ricompensa di 240.000 dollari per il
lancio del progetto GNU e per aver dato voce alla filosofia del
software libero, risolse alcune preoccupazioni a breve termine.
Per prima cosa consentì a Stallman, dipendente non
stipendiato della FSF il cui sostentamento era unicamente basato
su contratti di consulenza, di dedicare maggior tempo alla
scrittura del codice GNU.[95]
Ironicamente, il riconoscimento permise inoltre a Stallman di
esercitare il diritto di voto. Qualche mese prima un incendio
aveva distrutto i suoi pochi possedimenti terreni. Ufficialmente
risultava perciò “senza fissa dimora”,[96]
residente al 545 di Technology Square. “[L’ufficio
elettorale] non volle accettare quell’indirizzo come mio
domicilio”, avrebbe ricordato successivamente Stallman.
“Ma cambiarono idea subito dopo la pubblicazione su un
quotidiano di un articolo in cui si parlava del premio
assegnatomi dalla MacArthur Foundation.”[97]
Fatto ancora più importante, quel denaro gli garantì
maggiore libertà di movimento. Già completamente
immerso nelle tematiche relative al software libero, poté
così incrementare i viaggi a sostegno della missione del
progetto GNU.
È interessante notare come il definitivo successo di tale
progetto e più in generale del movimento del software libero
prese avvio da uno di questi viaggi. Nel 1990 Stallman
visitò il Politecnico di Helsinki, in Finlandia. Tra il
pubblico sedeva anche il ventunenne Linus Torvalds, futuro
sviluppatore del kernel Linux, destinato a colmare il vuoto di
maggiori proporzioni presente nel progetto GNU.
Allora studente presso la vicina Università, Torvalds
osservò Stallman non senza meraviglia. “Per la prima
volta in vita mia, eccomi davanti allo stereotipo
dell’hacker con i capelli lunghi e la barba”, scrive
Torvalds nella sua autobiografia del 2001, Rivoluzionario per caso.
“Era difficile imbattersi in gente simile a
Helsinki.”[98]
Pur se lontano dalle posizioni “sociopolitiche” di
Stallman, Torvalds considerò comunque positiva la logica che
lo motivava: nessun programmatore scrive codice privo di errori.
Grazie alla condivisione del software, per gli hacker il
miglioramento di un programma diviene la molla prioritaria
rispetto a motivazioni individuali quali cupidigia o egoismo.
Come molti programmatori della propria generazione, Torvalds
non si era formato sui mainframe tipo l’IBM 7094,
bensì su un vasto assortimento di sistemi fatti in casa.
Seguendo i corsi universitari, era passato dalla programmazione
su PC a Unix, usando il MicroVAX dell’università.
Questa crescita progressiva gli aveva offerto una diversa
prospettiva sugli ostacoli che si frapponevano all’accesso
alle macchine. Per Stallman, gli scogli maggiori erano costituiti
da burocrazia e privilegi interni. Per Torvalds si trattava
invece della geografia e del gelido inverno di Helsinki.
Costretto ad attraversare i viali dell’Università di
quella città unicamente per avere accesso al proprio account
Unix, Torvalds iniziò presto a cercare un modo per farlo dal
calduccio del proprio appartamento situato fuori dal campus.
Una ricerca che lo condusse presto al sistema operativo Minix,
versione leggera di Unix sviluppata a scopo didattico dal
professore universitario olandese Andrew Tanenbaum. Il programma
stava nei limiti della memoria di un PC 386, la macchina più
potente che Torvalds potesse permettersi, ma difettava ancora di
alcune componenti essenziali. Mancava soprattutto
l’emulazione di terminale, funzione che poteva consentirgli
di emulare quello universitario, rendendo così possibile il
collegamento al MicroVAX direttamente da casa.
Nell’estate 1991 Torvalds iniziò così a
riscrivere da capo Minix, aggiungendovi nello stesso tempo nuove
funzioni. A fine estate parlava del suo lavoro come “del
GNU/Emacs degli emulatori di terminale”.[99]
Sentendosi sicuro, chiese al newsgroup Minix copie degli standard
POSIX, il software di base che stabiliva la compatibilità di
un programma con Unix. E qualche settimana dopo fece girare
online un messaggio stranamente analogo al testo originario
relativo a GNU, diffuso da Stallman nel 1983:
Un saluto a tutti coloro che usano minix
Sto lavorando su un sistema operativo (libero), giusto per
hobby, nulla di grande e professionale come gnu, per i cloni AT
386 (486). È in costruzione da aprile, e si può dire
quasi pronto. Vorrei ricevere commenti su quello che vi piace o
non vi piace in minix, poiché il mio sistema operativo gli
assomiglia parecchio (tra le altre cose ha la stessa
configurazione fisica del file-system, per motivi
pratici).[100]
Il messaggio attirò una valanga di risposte e, nel giro
di un mese, Torvalds inseriva su un sito FTP la versione 0.01 del
sistema operativo -- ovvero, la prima stesura che fosse possibile
sottoporre a revisioni esterne. Nel frattempo aveva anche trovato
un nome per il nuovo sistema. Sul disco fisso del PC, lo aveva
salvato come Linux, in omaggio alla consuetudine di chiamare ogni
variazione di Unix con un nome che finisse in X. Ritenendo
però quel nome troppo “egocentrico”, Torvalds
decise di sostituirlo con Freax, solo per poi scoprire che il
gestore del sito FTP l’aveva riportato al nome
originario.
Anche se animati dall’intenzione di costruire un vero e
proprio sistema operativo, sia Torvalds che altri programmatori
erano al corrente della disponibilità di gran parte degli
strumenti operativi necessari, grazie all’opera di GNU, BSD
e di altri sviluppatori di software libero. Uno dei primi
applicativi da cui il gruppo di lavoro su Linux trasse vantaggio
fu il GNU C Compiler, strumento che rese possibile
l’elaborazione di programmi scritti in C.
L’integrazione del GCC migliorò le prestazioni di
Linux. Ma sollevò anche problemi. Nonostante i poteri
“virali” della GPL non avessero nulla a che fare con
il nuovo kernel, la decisione di Torvalds di prendere in prestito
il GCC per il proprio sistema operativo libero stava a indicare
un certo obbligo a permettere che altri utenti facessero lo
stesso. Come dice lo stesso Torvalds: “Mi ero arrampicato
sulle spalle di giganti.”[101] Inevitabilmente
iniziò a pensare a cosa sarebbe accaduto quando qualcun
altro gli avesse avanzato una richiesta analoga. Dieci anni dopo
quella decisione, Torvalds riecheggia la posizione di Robert
Chassel della Free Software Foundation nel riassumere le proprie
riflessioni in quella circostanza:
Dopo aver speso sei mesi della tua vita in quel lavoro, decidi
di metterlo a disposizione di tutti, anche per tirarci fuori
qualcosa, ma non vuoi che altri se ne approfittino. Volevo che la
gente potesse prenderne visione e apportarvi modifiche e
migliorie a piacimento. Ma dovevo anche assicurarmi di poter
verificare tali modifiche. Volevo garantirmi l’accesso
continuato al codice, in modo da poter sempre riprendere le
eventuali migliorie altrui.[102]
Quando giunse il momento di distribuire la versione 0.12 di
Linux, la prima a contenere una versione pienamente integrata del
GCC, Torvalds decise di rendere esplicita la propria lealtà
al movimento del software libero. Gettò via la licenza del
vecchio kernel per sostituirla con la GPL. La decisione diede
vita a una miriade di adattamenti aggiuntivi, con Torvalds e i
vari collaboratori alla ricerca di altri programmi GNU da
inserire nell’emergente calderone di Linux. Nel giro di tre
anni, gli sviluppatori erano pronti a distribuire il primo vero
sistema, Linux 1.0, che comprendeva le versioni pienamente
modificate di GCC e GDB oltre a un’ampia serie di strumenti
BSD.
Entro il 1994, il sistema operativo così amalgamato aveva
guadagnato sufficiente considerazione nel mondo hacker, tanto che
alcuni osservatori si chiesero se Torvalds non avesse fatto male
ad abbracciare la GPL nella fase iniziale del progetto. Nel primo
numero della rivista Linux
Journal, l’editore Robert Young tenne
un’intervista a quattr’occhi con Torvalds. Alla
domanda se non si fosse pentito di aver rinunciato alla
proprietà privata del codice, il programmatore finlandese
rispose di no. “Anche con il senno di poi”, questa la
replica di Torvalds, considerava l’adesione alla GPL
“una delle decisioni migliori” prese durante i primi
passi del progetto Linux.[103]
Una decisione, non certo presa per rispetto o deferenza nei
confronti di Stallman e della Free Software Foundation, che
testimonia la crescente portabilità della GPL. Anche se ci
vollero alcuni anni prima che Stallman se ne rendesse conto,
l’esplosione dello sviluppo di Linux ricreava
l’analogo scenario dell’Emacs. Stavolta, tuttavia,
l’innovazione alla base di tale esplosione non era una
trovata come il Control-R quanto piuttosto la novità di far
girare un sistema simile a Unix sull’architettura di un PC.
Ma anche con motivazioni diverse il risultato finale rifletteva
in pieno le caratteristiche etiche di base: un sistema operativo
pienamente funzionale composto interamente di software
libero.
Come indicava quella prima e-mail inviata al newsgroup
comp.os.minix, per alcuni mesi Torvalds considerò Linux poco
più che una sorta di intermezzo, fino a quando gli
sviluppatori GNU non avessero realizzato il kernel HURD. Questa
volontà iniziale di non valutare Linux in termini politici
rappresenta un grosso colpo inferto alla Free Software
Foundation.
A livello personale Torvalds non era altro che l’ultimo
di una lunga fila di ragazzi interessati semplicemente a smontare
e rimontare le cose per puro divertimento. Ciò nonostante,
sintetizzando il successo di un progetto che altrettanto
facilmente avrebbe potuto rimanere per sempre sul disco fisso di
un computer abbandonato, egli attribuisce alla propria giovinezza
il merito di aver avuto la saggezza di lasciar perdere ogni
controllo per accettare invece quanto proposto dalla GPL.
“Forse non ho visto la luce”, scrive Torvalds
riflettendo su quell’intervento di Stallman al Politecnico
e sulla successiva decisione di aderire alla GPL. “Ma direi
che qualcosa del suo discorso mi era rimasto
dentro.”[104]