Software libero: libertà e cooperazione
Introduzione
Mike Uretsky:
Sono Mike Uretsky della Stern School of Business. Sono anche uno
dei condirettori del Center for Advanced Technology. E a nome
di tutti noi del Dipartimento d'informatica, sono qui a darvi
il benvenuto. Vorrei fare alcuni commenti, prima di passare il
microfono a Ed, che introdurrà il nostro relatore.
Il ruolo di un'università è quello di stimolare
il dibattito e proporre discussioni interessanti. E questa specifica
presentazione, questo seminario rientra in questa categoria. Trovo
particolarmente interessanti le discussioni sull'open source.
In un certo senso.... [il pubblico ride]
Richard M. Stallman: Io faccio software libero. L'open
source è un movimento diverso. [il pubblico ride] [applausi]
Mike Uretsky: Quando negli anni '60 sono entrato per la
prima volta in questo campo, praticamente il software era libero.
E si andava avanti seguendo dei cicli. Diventò libero,
e poi i produttori di software, sotto la necessità di espandere
il mercato, lo spinsero in altre direzioni. Gran parte dello sviluppo
che ebbe luogo con l'arrivo del PC seguì esattamente il
medesimo tipo di ciclo.
C'è un filosofo francese molto interessante, Pierre Levy,
che parla del movimento in questa direzione e del passaggio al
cyberspazio non soltanto in quanto connesso alla tecnologia ma
anche alla ristrutturazione sociale, alla ristrutturazione politica,
tramite un cambiamento nel tipo di relazioni che miglioreranno
il benessere dell'umanità. Speriamo che questo dibattito
rappresenti un movimento in tale direzione, che questo dibattito
sia qualcosa che tagli attraverso le molte discipline che normalmente
agiscono in solitudine all'interno dell'Università. Confidiamo
in una discussione molto interessante. Ed?
Ed Schonberg: Sono Ed Schonberg del Dipartimento d'informatica
presso il Courant Institute. Dò a tutti voi il benvenuto
a quest'evento. In genere, e particolarmente qui, chi fa l'introduzione
è un aspetto inutile delle presentazioni pubbliche, ma
in questo caso in realtà presenta una qualche utilità,
come Mike ha facilmente dimostrato, perché un commento
inaccurato di chi fa l'introduzione, ad esempio, può consentire
[al relatore] di raddrizzare e correggere, [il pubblico ride]
per rifinire in maniera considerevole i parametri del dibattito.
Consentitemi perciò di fare la più breve introduzione
possibile a una persona che non ne ha bisogno. Richard è
il perfetto esempio di qualcuno che, agendo a livello locale,
ha iniziato a pensare a livello globale -- a partire, parecchi
anni fa, dai problemi concernenti l'indisponibilità del
codice sorgente dei driver della stampante al laboratorio di intelligenza
artificiale del MIT. Egli ha messo a punto una filosofia coerente
che ha costretto tutti noi a riesaminare le nostre idee su come
viene prodotto il software, su cosa significa proprietà
intellettuale, e su cosa rappresenta in concreto la comunità
del software. Diamo il benvenuto a Richard Stallman. [applausi]
Software libero: libertà e cooperazione
Richard M. Stallman: Qualcuno può prestarmi un orologio? [il pubblico ride] Grazie. Vorrei ringraziare Microsoft per avermi fornito l'opportunità [il pubblico ride] di essere su questo podio. Nelle ultime settimane mi sono sentito come un autore il cui libro è stato fortuitamente vietato da qualche parte (1). [il pubblico ride]
(1) Meno di un mese prima, il vicepresidente di Microsoft, Craig Mundie, aveva tenuto un intervento in cui attaccava il software libero (definendolo "open source").
Eccetto per il fatto che tutti gli articoli
sulla vicenda riportano in maniera errata il nome dell'autore,
perché Microsoft descrive la GNU GPL come una licenza open
source, e lo stesso ha fatto gran parte della stampa. La maggior
parte della gente, ovviamente altrettanto in buona fede, non si
rende conto che il nostro lavoro non ha nulla a che fare con l'open
source, che anzi abbiamo svolto la maggior parte di tale lavoro
prima che il termine "open source" venisse perfino coniato.
Noi facciamo parte del movimento del software libero, e mi accingo
a parlare su cosa sia il movimento del software libero, cosa significhi,
quanto abbiamo fatto e, poichè quest'evento è in
parte sponsorizzato da una School of Business, dirò qualcosa,
più di quanto sia solito fare, sulla relazione tra software
libero e imprenditoria, e su altri ambiti della vita sociale.
Ora, alcuni di voi non scriveranno mai programmi informatici,
ma forse cucinate. E se cucinate, a meno che non siate davvero
bravi, probabilmente userete delle ricette. E se usate delle ricette,
è probabile abbiate sperimentato di ricevere la copia di
una ricetta da un amico che voglia condividerla. E probabilmente
avrete anche sperimentato, a meno che non siate dei completi neofiti,
l'atto di modificare una ricetta. Questa dice certe cose, ma non
dovete seguirla in maniera esatta. Se ne può omettere qualche
ingrediente. Aggiungervi dei funghi perché vi piacciono.
Metterci meno sale perché il medico vi ha consigliato di
ridurre il sale -- o quant'altro. Si possono anche apportare cambiamenti
sostanziali, a seconda delle capacità individuali. E se
avete modificato qualcosa in una ricetta, e la preparate per degli
amici, e a loro piace, un amico potrebbe dire, "Puoi darmi
la ricetta?" E allora cosa fate? Scrivete la vostra versione
modificata della ricetta e ne date una copia all'amico. Questa
è la cosa naturale da fare con ricette utili e funzionali
di ogni tipo.
Una ricetta assomiglia molto a un programma informatico. E un
programma informatico è assai simile a una ricetta: una
serie di passaggi per arrivare al risultato che ci si è
prefissi. Perciò è altrettanto naturale fare la
stessa cosa con i programmi informatici -- passarne una copia
agli amici. E apportarvi delle modifiche, perché il lavoro
per cui era stato scritto non è esattamente quanto vogliamo.
Ha fatto un buon lavoro per qualcun altro, ma il nostro lavoro
è diverso. E, dopo averlo modificato, è probabile
possa tornare utile ad altri. Forse costoro devono fare un lavoro
simile al nostro. Così ci chiederanno, "Posso averne
una copia?" Naturalmente, se vogliamo essere gentili, gliene
diamo una copia. È così che si comporta una persona
decente. Immaginiamo allora cosa accadrebbe se le ricette venissero
impacchettate dentro scatole nere. Non se ne potrebbero vedere
gli ingredienti usati, per non parlare neppure di modificarli,
e immaginando di averne fatto una copia per un amico, vi chiamerebbero
pirata e cercherebbero di sbattervi in galera per anni. Un mondo
simile creerebbe proteste tremende da parte di tutti coloro che
sono soliti scambiare ricette. Ma questo è esattamente
il mondo del software proprietario. Un mondo in cui la comune
decenza verso gli altri è proibita o impedita.
Ora, come mi sono accorto di tutto ciò? Me ne sono reso
conto perché negli anni '70 ho avuto la buona fortuna di
far parte di una comunità di programmatori che condividevano
il software. Le radici di questa comunità possono essere
rintracciate sostanzialmente fino agli albori dell'informatica.
Tuttavia negli anni '70 era un po' raro trovare una comunità
in cui si condivideva il software. Si trattava anzi di un caso
estremo, perché nel laboratorio dove lavoravo l'intero
sistema operativo era software sviluppato dai membri della comunità,
e lo condividevamo con tutti. Chiunque era il benvenuto nel venire
a dare un'occhiata e prenderne una copia, e farci quel che voleva.
Su questi programmi non c'era alcuna nota di copyright. La cooperazione
era il nostro modo di vivere. E ci sentivamo sicuri di vivere
a quel modo. Non lottammo per ottenerlo. Non dovemmo combattere
per averlo. Vivevamo semplicemente in quel modo. E, per quanto
ci riguardasse, avremmo continuato a vivere così. C'era
il software libero, ma non il movimento del software libero.
Ma poi la comunità fu distrutta da una serie di calamità
che la colpirono. Alla fine fu spazzata via. Alla fine il computer
PDP-10 (2), che usavamo per ogni lavoro, venne messo fuori uso.
(2) Programming Data Processor modello 10, un computer mainframe usato negli anni 1970 da molti importanti enti di ricerca e governativi.
Il nostro sistema -- denominato Incompatible
Timesharing System -- fu scritto a partire dagli anni '60,
perciò era scritto in linguaggio assembler. Negli anni
'60 si usava tale linguaggio per scrivere un sistema operativo.
Ovviamente l'assembler vale per una particolare architettura informatica;
se non viene più usato, tutto il lavoro svolto diventa
polvere -- è inutile. E questo è quanto avvenne
nel nostro caso. I circa 20 anni di lavoro della nostra comunità
divennero polvere.
Ma prima che ciò accaddesse, ebbi un'esperienza che mi
preparò, mi aiutò a capire cosa fare, perché
ad un certo punto la Xerox diede al laboratorio di intelligenza
artificiale, dove lavoravo, una stampante laser, e fu un regalo
stupendo, perché era la prima volta che qualcuno al di
fuori della Xerox aveva una stampante laser. Era molto veloce,
stampava una pagina al secondo, assai precisa sotto molti punti
di vista, ma era inaffidabile, perché in realtà
era una fotocopiatrice per ufficio ad alta velocità modificata
in stampante. E le fotocopiatrici s'incastrano, ma c'è
qualcuno pronto a sistemarle. La stampante s'incastrava e nessuno
se ne accorgeva. Così rimaneva bloccata per parecchio tempo.
Be', ci venne un'idea per risolvere il problema. Modificarla in
modo che ogni volta che la stampante s'inceppava, il computer
che la gestiva poteva informarne la nostra macchina timesharing,
e far sapere agli utenti in attesa della stampa di andare a sistemare
la stampante -- perché se soltanto avessero saputo che
era incastrata... ovviamente, se sei in attesa di una stampa e
sai che la stampante è inceppata, non vuoi startene seduto
ad aspettare per sempre, ti alzi e vai a sistemarla.
Ma a quel punto eravamo completamente bloccati, perché
il software che gestiva la stampante non era software libero.
Era arrivato incluso nella stampante, era soltanto un file binario.
Non potevamo averne il codice sorgente; la Xerox non ci avrebbe
fatto avere il codice sorgente. Così, nonostante le nostre
capacità di sviluppatori -- dopotutto avevamo scritto il
nostro sistema timesharing -- eravamo del tutto inadeguati ad
aggiungere questa funzione al software della stampante.
Non ci restava che soffrire rimanendo in attesa. Per stampare
qualcosa ci voleva un'ora o due, perché la maggior parte
delle volte la stampante s'inceppava. Aspettavi un'ora pensando,
"So che finirà per incastrarsi. Aspetterò un'ora
e poi andrò a prendere la mia stampa", e allora ti
rendevi conto che era rimasta incastrata per tutto il tempo, nessun
altro l'aveva sistemata. Così la rimettevi a posto e aspettavi
un'altra mezz'ora. Poi tornavi a controllare, e vedevi che si
era nuovamente inceppata, prima di eseguire il tuo lavoro. Stampava
per tre minuti e poi s'inceppava per trenta minuti. La frustrazione
saliva alle stelle. Ma la cosa peggiore era sapere che avremmo
potuto risolvere la cosa, eppure qualcun altro, per egoismo personale,
ci bloccava, ci impediva di migliorare il software. Così,
naturalmente, ce ne risentimmo.
Allora venni a sapere che qualcuno alla Carnegie Mellon University
aveva una copia di quel software. Qualche tempo dopo mi ci recai
in visita, andai nel suo ufficio e gli feci, "Salve, vengo
dal MIT. Potrei avere una copia del codice sorgente della stampante?"
E lui replicò, "No, ho promesso che non ve l'avrei
data." [il pubblico ride] Rimasi di stucco. Ero talmente
-- talmente arrabbiato, e non avevo alcuna idea su come ottenere
giustizia. Tutto ciò che riuscii a pensare fu di girarmi
sui tacchi e uscire da quella stanza. Forse ho sbattuto la porta.
[il pubblico ride] E ripensandoci più tardi, mi resi conto
che non stavo osservando un tipaccio isolato, ma un fenomeno sociale
che era importante e colpiva parecchie persone.
Fui fortunato, ne ebbi appena un assaggio. Altri dovevano farci
i conti tutto il tempo. Ci riflettei sopra a lungo. Vedete, quel
tizio aveva promesso di rifiutare ogni collaborazione con noi,
i colleghi del MIT. Ci aveva traditi. Ma non lo fece soltanto
con noi. È probabile che abbia tradito anche te [indicando
qualcuno tra il pubblico]. E credo che molto probabilmente abbia
fatto lo stesso a te [indicando qualcun altro tra il pubblico]
[il pubblico ride]. Ed è probabile lo abbia fatto anche
a te [indicando una terza persona tra il pubblico]. Probabilmente
ha tradito la maggioranza dei presenti in questa sala -- eccetto,
forse, i pochi che non erano ancora nati nel 1980. Perché
aveva promesso di rifiutare ogni cooperazione praticamente con
l'intera popolazione del pianeta terra. Aveva firmato un accordo
di non divulgazione ("non-disclosure agreement").
Ora, questo era il mio primo incontro diretto con un accordo di
non divulgazione, e m'insegnò una lezione importante --
una lezione che è importante perché la maggioranza
dei programmatori non l'impara mai. Quello fu il mio primo incontro
con un accordo di non divulgazione, e io ne ero la vittima. Io
e l'intero laboratorio ne fummo le vittime. E la lezione che m'insegnò
fu che gli accordi di non divulgazione provocano delle vittime.
Non sono qualcosa d'innocente. Non sono innocui. La maggior parte
dei programmatori s'imbattono per la prima nell'accordo di non
divulgazione quando vengono invitati a firmarne uno. E c'è
sempre qualche tentazione -- qualche vantaggio che finiscono per
ottenere se firmano. Così inventano qualche scusa. Dicono,
"Be', quel tizio non riuscirà mai a ottenerne una
copia in ogni caso, perché quindi non dovrei unirmi alla
cospirazione per impedirglielo?" Dicono, "Si è
sempre fatto così. Chi sono io per oppormici?" Dicono,
"Se non lo firmo io, lo farà qualcun altro."
Scuse varie per mettere il bavaglio alla propria coscienza.
Ma quando qualcuno mi invitò a firmare un accordo di non
divulgazione la mia coscienza era già sensibilizzata. Si
ricordò di quanto fossi arrabbiato quando qualcuno promise
di non aiutare me e l'intero laboratorio a risolvere il problema.
Non poteva voltarmi dall'altra parte e fare la stessa identica
cosa a qualcun altro che non mi aveva mai arrecato alcun danno.
Se qualcuno mi avesse chiesto di promettere di non condividere
qualche informazione utile con un odioso nemico, avrei detto di
sì. Se qualcuno ha fatto qualcosa di male, lo merita. Ma
gli estranei -- non mi hanno fatto alcun danno. Come possono meritare
quel tipo di trattamento negativo? Non puoi consentire a te stesso
di trattare male praticamente tutti e chiunque. A quel punto diventi
un predatore sulla società. Così risposi, "Grazie
mille per avermi offerto questo bel pacchetto software. Ma in
tutta coscienza non posso accettarlo sulla base delle condizioni
richieste, perciò ne farò a meno. Grazie molte."
E così, non ho mai firmato volontariamente un accordo di
non divulgazione su informazioni tecniche d'utilità generica
come il software.
Esistono altri tipi d'informazioni che sollevano questioni etiche
diverse. Ad esempio, le informazioni personali. Se un'amica vuole
raccontarmi quel che va accadendo tra lei e il suo ragazzo, e
mi chiede di non rivelarlo a nessuno, posso dirmi d'accordo nel
mantenere il segreto, perché non si tratta di informazioni
tecniche d'utilità generica.
Almeno, probabilmente non si tratta di informazioni generalmente
utili [il pubblico ride]. Esiste una scarsa probabilità
-- e comunque potrebbe essere possibile -- che l'amica possa rivelarmi
qualche nuova strabiliante tecnica sessuale [il pubblico ride],
e allora sentirei il dovere morale [il pubblico ride] di informarne
il resto dell'umanità, in modo che tutti possano trarne
beneficio. Forse dovrei porre una condizione a quella promessa.
Qualora si trattasse soltanto di dettagli su chi voglia questa
cosa, e chi s'arrabbia contro chi, e robe da telenovela... tutto
ciò posso tenerlo in privato, ma non così per
qualcosa di cui l'umanità possa beneficiare terribilmente,
qualora ne fosse informata. Obiettivo della scienza e della tecnologia
è quello di sviluppare informazioni utili per l'umanità,
onde aiutare la gente a vivere una vita migliore. Se promettiamo
di non rivelare tali informazioni, se le teniamo segrete, allora
stiamo tradendo la missione della nostra disciplina. E ciò,
decisi, non dovrei farlo.
Ma nel frattempo la mia comunità si era frantumata, e mi
ritrovai in una brutta situazione. Vedete, l'intero Incompatible
Timesharing System divenne obsoleto, perché lo era il PDP-10,
e così non esisteva alcun modo per cui potessi continuare
a lavorare in quanto sviluppatore di un sistema operativo come
avevo fatto fino ad allora. Ciò dipendeva dal far parte
di una comunità, dall'usare il software della comunità
e dal migliorarlo. Questa possibilità non esisteva più,
e ciò mi pose un dilemma morale. Cosa avrei fatto? Perché
la possibilità più ovvia consisteva nell'andare
contro quella decisione che avevo preso. Accettare che le cose
fossero diverse, che dovevo semplicemente abbandonare quei principi
e iniziare a firmare accordi di non divulgazione per sistemi operativi
proprietari, e molto probabilmente anche scrivere software proprietario.
Ma compresi che in tal modo avrei potuto divertirmi con il codice
e guadagnare bene -- soprattutto se l'avessi fatto al di fuori
del MIT -- ma alla fine, osservando la mia carriera all'indietro
avrei detto, "Ho speso la vita a costruire muri che dividono
la gente," e mi sarei vergognato di quella vita.
Così mi son messo alla ricerca di un'alternativa, e una
era ovvia. Avrei potuto lasciare il campo del software e mettermi
a fare qualcosa d'altro. Non ero dotato di altre capacità
particolari, ma sono sicuro che avrei potuto fare il cameriere
[il pubblico ride]. Non in un ristorante di lusso, non mi avrebbero
assunto, [il pubblico ride] ma da qualche parte avrei fatto il
cameriere. Molti sviluppatori mi dicono, "Quelli che assumono
i programmatori richiedono questo, questo e questo. Se non lo
faccio, morirò di fame". È la terminologia
che usano letteralmente. Be', come cameriere non si può
morire di fame. [il pubblico ride] Così, in realtà,
non si trovano affatto in pericolo. Ma -- e questo è importante
-- talvolta tendiamo a giustificare qualcosa che danneggia gli
altri sostenendo che altrimenti a noi accadrà qualcosa
di peggio. Se costoro stessero veramente morendo di fame,
allora sarebbero giustificati a scrivere software proprietario
[il pubblico ride]. Se qualcuno ti punta contro una pistola, allora
direi che è perdonabile [il pubblico ride]. Ma trovai il
modo di sopravvivere senza dover fare qualcosa di poco etico,
perciò quella scusa non si può usare. Però
mi sono reso conto che fare il cameriere non sarebbe stato divertente,
e avrei sprecato le mie capacità in quanto sviluppatore
di sistemi operativi. Almeno avrebbe evitato di usare male tali
capacità. Sviluppare software proprietario avrebbe significato
usare male le mie capacità. Meglio perciò sprecarle
che usarle male, ma non è davvero una bella cosa.
Per queste ragioni, decisi di cercare altre alternative. Cosa
può fare qualcuno che sviluppa sistemi operativi per migliorare
veramente la situazione, per rendere migliore il mondo? E mi resi
conto che ciò di cui c'era bisogno era esattamente qualcuno
capace di sviluppare sistemi operativi. Il problema, il dilemma,
esisteva per me e per chiunque altro, poiché tutti i sistemi
operativi disponibili per i computer moderni erano proprietari.
I sistemi operativi liberi erano per computer vecchi e obsoleti,
giusto? Così per i computer moderni -- chi voleva avere
un computer moderno e usarlo era costretto a ricorrere a un sistema
operativo proprietario. Perciò se uno sviluppatore avesse
scritto un altro sistema operativo per poi dire, "Venite
tutti qui e condividete questo sistema, siete i benvenuti"
-- ciò avrebbe offerto a chiunque un via d'uscita al dilemma,
un'alternativa. Compresi così che c'era qualcosa che avrei
potuto fare per risolvere il problema. Avevo proprio le capacità
adatte per riuscirci. Ed era la cosa più utile che avessi
potuto immaginare di fare con la mia vita. Si trattava di un problema
che nessun altro stava cercando di risolvere. Se ne stava lì,
a peggiorare, e non c'era nessuno tranne il sottoscritto. Così
mi dissi qualcosa come, "Sono un eletto. Devo lavorarci sopra.
Se non io, chi?" Decisi perciò che avrei sviluppato
un sistema operativo libero, oppure sarei morto provandoci...
di vecchiaia, naturalmente [il pubblico ride].
Ovviamente dovevo decidere che tipo di sistema operativo sarebbe
stato. Bisognava prendere delle decisioni di progettazione tecnica.
Per una serie di motivi, optai per renderlo compatibile con Unix.
Prima di tutto, avevo appena visto diventare obsoleto un sistema
operativo che amavo davvero, perché scritto per un tipo
di computer specifico. Non volevo che accadesse di nuovo. Dovevamo
avere un sistema portabile. Be', Unix lo era. Perciò se
ne avessi seguito il progetto, avrei avuto buone probabilità
di realizzare un sistema che sarebbe stato anch'esso portabile
e funzionale. Inoltre, perché non renderlo compatibile
nei dettagli? Il motivo è, gli utenti odiano le modifiche
incompatibili. Se avessi progettato il sistema secondo le mie
preferenze -- cosa che mi sarebbe piaciuto molto fare, ne sono
certo -- avrei prodotto qualcosa di non compatibile. I dettagli
sarebbero stati diversi. Se avessi scritto un tale sistema, la
gente mi avrebbe detto, "È molto bello, ma incompatibile.
Richiede troppo lavoro passare a questo. Non possiamo permetterci
tanti problemi giusto per usare il tuo sistema invece di Unix,
per cui ce ne restiamo con Unix".
Se avessi voluto creare concretamente una comunità di persone
che usavano questo sistema libero e traevano vantaggio dalla libertà
e dalla cooperazione, dovevo realizzare un sistema che la gente
avrebbe utilizzato, un sistema al quale sarebbe stato semplice
passare, che non doveva cadere su un ostacolo simile appena all'inizio.
Rendere il sistema compatibile con Unix fece decidere tutta la
successiva progettazione, perché Unix è composto
da molti pezzi che comunicano tra loro grazie a interfacce più
o meno documentate. Se si vuole essere compatibili con Unix occorre
quindi sostituire ciascun pezzo, uno ad uno, con un altro compatibile.
Le rimanenti decisioni di progettazione rimangono all'interno
di ciascun pezzo, e possono essere prese in seguito da chiunque
decida di scrivere quel pezzo. Non devono essere decise all'inizio.
Tutto quel che dovemmo fare per iniziare a lavorare fu trovare
un nome al sistema. Noi hacker cerchiamo sempre qualche nome divertente
o strambo per un programma, perché riteniamo che pensare
alla gente che se la ride per il nome costituisca metà
del divertimento di scrivere il programma [il pubblico ride].
E abbiamo la tradizione degli acronimi ricorsivi, per dire che
il programma che si sta scrivendo è in qualche modo analogo
a un altro già esistente. È possibile chiamarlo
con un acronimo ricorsivo per dire: questo non è quell'altro.
Così, ad esempio, negli anni '60 e '70 esistevano troppi
text editor Tico, e generalmente si chiamavano qualcosa-o-qualcos'altro
TECO. Poi un hacker arguto chiamò il proprio Tint, per
Tint Is Not TECO (Tint non è TECO) -- il primo acronimo
ricorsivo. Nel 1975 sviluppai il primo text editor Emacs, e c'erano
parecchie imitazioni di Emacs, ma una si chiamava Fine, per Fine
Is Not Emacs, e c'era Sine, per Sine Is Not Emacs, e Eine, per
Eine Is Not Emacs, e MINCE per Mince Is Not Complete Emacs (questa
era un'imitazione ridotta all'osso) [il pubblico ride]. Poi Eine
venne riscritto quasi completamente, e la nuova versione fu chiamata
Zwei, per Zwei Was Eine Initially (Zwei era Eine all'inizio) (3)
(3) Eine e Zwei significano uno e due in tedesco, rispettivamente.
Mi misi così alla ricerca di un acronimo
ricorsivo per Something Is Not Unix (Qualcosa non è Unix).
Provai tutte le 26 lettere dell'alfabeto (inglese) per scoprire
che nessuna poteva formare una parola. [il pubblico ride] Hmm,
prova qualcos'altro. Usai una contrazione. In tal modo avrei avuto
un acronimo a tre lettere, per Something's Not Unix. Provai le
varie lettere, e venne fuori il termine "GNU" -- la
parola "GNU" è la più divertente della
lingua inglese. [il pubblico ride] Proprio così. Ovviamente
il motivo per cui è divertente sta nel fatto che secondo
il dizionario si pronuncia "new" (nuovo). Ecco perché
la si usa in parecchi giochi di parole. Ma devo informarvi che
si tratta del nome di un animale che vive in Africa. E la pronuncia
africana aveva un suono come di un clic. [il pubblico ride] Forse
ce l'ha ancora. I colonizzatori europei, quando arrivarono lì,
non si preoccuparono di imparare a pronunciare quel suono di clic.
Lo lasciarono fuori, e scrissero una 'g' che stava a significare
"qui dovrebbe esserci un altro suono che non pronunciamo"
[il pubblico ride]. Stanotte partirò per il Sud Africa,
e li ho implorati, spero che riescano a trovarmi qualcuno che
possa insegnarmi a pronunciare GNU nel modo corretto, quando indica
l'animale.
Ma quando si tratta del nostro sistema, la pronuncia corretta
è "guh-NEW" (guh-niu), con la 'g' dura. Se si
parla del "new" (niu) sistema operativo, la gente finirà
col confondersi perché ci stiamo lavorando ormai da 17
anni, per cui non è più così "new",
nuovo. [il pubblico ride] Ma è ancora, e sarà sempre,
GNU, "guh-NEW" -- non importa quante persone lo chiameranno
Linux per errore [il pubblico ride].
Così nel gennaio 1984, lascio il mio posto al MIT per iniziare
a scrivere le varie parti di GNU. (4)
(4) È possibile leggere l'annuncio originario del progetto GNU nel testo "Il Manifesto GNU".
Al MIT furono così bravi da consentirmi
di usare le strutture interne. Allora pensai che avremmo scritto
tutti i pezzi per costruire l'intero sistema GNU, e poi avremmo
annunciato, "Venite a prenderlo," e la gente avrebbe
iniziato a usarlo. Non è andata così. Le prime parti
che scrissi non erano altro che buone sostituzioni, con un numero
minore di bug, di alcuni pezzi di Unix, ma nulla di particolarmente
eccitante. Nessuno pareva interessato a volerli e a installarli.
Ma poi, nel settembre 1984, iniziai a scrivere GNU Emacs, che
era la mia seconda implementazione di Emacs, e prese a funzionare
all'inizio del 1985. Potei usarlo per tutto il mio lavoro di editing,
il che fu un grande sollievo perché non avevo alcuna intenzione
di imparare a usare vi, l'editor di Unix. [il pubblico ride] Fino
a quel momento, feci l'editing su qualche altra macchina, e salvavo
i file via rete, in modo che potessi fare dei test. Ma quando
GNU Emacs prese a girare abbastanza bene da consentirmi di usarlo,
spuntò fuori altra gente che voleva usarlo.
Così dovetti occuparmi dei dettagli relativi alla distribuzione.
Ovviamente ne misi una copia nella directory dell'anonymous FTP,
e ciò andava bene per quanti erano in rete -- bastava che
prelevassero un file tar (5) -- ma c'erano anche parecchi programmatori
che nel 1985 non erano ancora in rete.
(5) Programma Unix per l'archiviazione. Integrato con gzip, rappresenta l'alternativa GNU al formato di compressione non libero ZIP.
Mi mandavano email chiedendo, "Come
posso averne un copia?" Dovevo decidere come avrei replicato.
Be', avrei potuto dire: "Voglio spendere il mio tempo scrivendo
altro software GNU, non a copiare nastri, perciò trova
un amico che è su Internet, che abbia voglia di fare il
download e metterlo su nastro per te," e sono sicuro che
prima o poi avrebbero trovato qualche amico disposto a farlo.
Avrebbero ottenuto quelle copie.
Ma ero senza lavoro. Anzi, fin da quando avevo lasciato il MIT
nel gennaio 1984 non avevo avuto alcun impiego. Stavo cercando
il modo di fare dei soldi grazie a quanto andavo facendo con il
software libero, e perciò avviai un'attività commerciale
di software libero. Diedi l'annuncio, "Mandami 150 dollari
e ti spedisco un nastro con Emacs." E gli ordini presero
ad arrivare. A metà anno divennero regolari.
Ricevevo 8-10 ordini al mese. Se necessario, avrei potuto vivere
soltanto con questi, perché ho sempre vissuto con poco.
Praticamente vivo come uno studente. E mi piace, perché
significa che non è il denaro a impormi cosa fare. Posso
fare quel che ritengo sia importante per me. Ciò mi ha
consentito di fare quel che mi sembrava valido. Sforzatevi seriamente
di evitare di cadere in tutte le abitudini dello stile di vita
dei tipici americani. Perché se lo fate, allora sarà
la gente con i soldi a imporvi cosa fare con la vostra vita. Non
sarete in grado di fare quello che è veramente importante
per voi.
Le cose andavano bene, ma la gente mi chiedeva, "Cosa intendi
con software libero se costa 150 dollari? [il pubblico ride] Il
motivo di queste domande stava nella confusione generata dai significati
multipli del termine "free" in inglese. Un significato
indica il prezzo, e un altro la libertà. Quando parlo di
software libero mi riferisco alla libertà, non al prezzo.
Pensiamo alla libertà d'espressione ("free speech"),
non alla birra gratis ("free beer"). [il pubblico ride]
Non avrei certo dedicato così tanti anni della mia vita
per esser certo che i programmatori guadagnassero di meno. Non
è questo il mio obiettivo. Sono un programmatore anch'io
e non mi dispiacerebbe guadagnare bene. Non dedicherei la mia
vita a far soldi, ma non mi dispiace averne. Quindi, dato che
l'etica è la stessa per chiunque, non sono neppure contrario
al fatto che altri programmatori guadagnino bene. Non voglio che
i prezzi siano bassi. Non è affatto questo il punto. La
questione è la libertà. Libertà per chiunque
usi il software, che si tratti o meno di un programmatore.
A questo punto dovrei darvi la definizione di software libero.
Meglio passare ai dettagli concreti, perché è troppo
vago dire soltanto "credo nella libertà". Esistono
così tante libertà in cui si può credere,
e sono in conflitto tra loro, perciò la vera domanda politica
è: quali sono le libertà importanti, le libertà
di cui occorre assicurare l'esistenza a tutti?
Vi darò la mia risposta a questa domanda relativamente
all'area dell'utilizzo del software. Un programma è "software
libero" per uno specifico utente quando quest'ultimo ha le
seguenti libertà:
- Primo, libertà zero è la libertà
di far girare il programma per qualsiasi scopo, in ogni modo che
si vuole.
- Libertà uno è la libertà di aiutare
se stessi a modificare il programma secondo le proprie necessità.
- Libertà due è la libertà di aiutare
il vicino a distribuire copie del programma.
- E libertà tre è la libertà di aiutare
a costruire una comunità pubblicando una versione migliorata
in modo che gli altri possano trarre vantaggi dal proprio lavoro.
Se avete tutte queste libertà, il programma è software
libero, per l'utente -- e ciò è cruciale. Ecco perché
uso questa terminologia. Lo spiegherò meglio più
avanti, quando parlerò della Licenza Pubblica Generica
GNU (GNU GPL), ma ora illustrerò cosa significa software
libero, che è una questione più fondamentale.
La libertà zero è piuttosto ovvia. Qualora all'utente
non venga neppure concesso di far girare il programma come meglio
preferisce, si tratta di un programma decisamente restrittivo.
Ma succede che la maggior parte dei programmi concedono almeno
la libertà zero. E legalmente la libertà zero deriva
come conseguenza della libertà uno, due e tre -- questo
è il modo con cui funziona la legislazione sul copyright.
Così le libertà che distinguono il software libero
dal software comune sono le libertà uno, due e tre, per
cui le illustrerò a fondo e ne spiegherò l'importanza.
La libertà uno è la libertà di aiutare se
stessi a modificare il software secondo le proprie necessità.
Ciò potrebbe significare sistemare i bug presenti. Potrebbe
significare aggiungere nuove funzioni. Potrebbe significare crearne
la versione per un computer diverso. Potrebbe significare tradurne
i messaggi d'errore in Navajo. Qualsiasi cambiamento l'utente
voglia apportare, deve essere libero di farlo.
È ovvio come gli sviluppatori professionisti possano fare
uso di tale libertà in maniera assai efficace, ma non sono
i soli. Chiunque dotato di una comune dose d'intelligenza può
imparare un po' di programmazione. Ci sono lavori difficili e
altri facili, e la maggioranza non imparerà abbastanza
da fare i lavori difficili. Ma parecchia gente può imparare
a sufficienza per occuparsi dei lavori facili, proprio come 50
anni fa molti uomini americani hanno imparato a riparare le automobili,
situazione che consentì agli Stati Uniti di avere un esercito
motorizzato nella seconda guerra mondiale e vincerla. È
assai importante avere parecchie persone in grado di riparare
qualcosa.
E se si tratta di qualche popolano, che non vuole saper nulla
della tecnologia, ciò significa che probabilmente avrà
un sacco di amici e potrà chiedere loro dei favori [il
pubblico ride]. È probabile che alcuni di questi siano
dei programmatori. Così potrà chiedere loro: "Potresti
modificarlo per me? Puoi aggiungerci questa funzione?" Ecco
allora che potranno essere in parecchi a beneficiare di questa
libertà.
Ora, se non avete tale libertà, ciò provoca danno
materiale, concreto alla società. Ci rende prigionieri
del nostro stesso software. Ho spiegato cosa accadde con la stampante
laser. Funzionava male, e non potemmo ripararla, perché
eravamo prigionieri di quel software.
Ma ciò colpisce anche il morale della gente. Se l'uso del
computer è continuamente frustrante, e la gente lo usa,
la loro vita finirà per essere frustrante, e se lo usano
al lavoro, sarà quest'ultimo ad essere frustrante, finiranno
per odiarlo. E per autoproteggersi dalla frustrazione, si decide
di fregarsene. Così ci troviamo davanti persone la cui
attitudine è, "Be', oggi sono andato a lavorare. Non
devo fare altro. Se non compio progressi, il problema non è
mio, ma del datore di lavoro". E quando ciò accade,
è negativo per costoro e negativo per la società
come insieme. Questa è la libertà uno, la libertà
di aiutare se stessi.
La libertà due è la libertà di aiutare il
vicino di casa distribuendo copie di un programma. Per degli esseri
in grado di pensare e imparare, la condivisione di conoscenze
utili è un atto fondamentale di amicizia. Quanto si usa
il computer, quest'atto di amicizia prende la forma di condivisione
del software. Gli amici condividono tra loro. Gli amici si aiutano
a vicenda. È la natura stessa dell'amicizia. Anzi, questo
spirito di buona volontà -- lo spirito di aiutare il proprio
vicino, volontariamente -- è la risorsa più importante
della società. È l'elemento di differenza tra una
società vivibile e una giungla tipo cane-mangia-cane. Per
migliaia d'anni quest'importanza è stata riconosciuta dalle
maggiori religioni del mondo, le quali cercano esplicitamente
d'incoraggiare un simile atteggiamento.
Quando andavo all'asilo, i maestri cercavano d'insegnarci quest'attitudine
-- lo spirito della condivisione -- con delle applicazioni pratiche.
Credevano che in tal modo l'avremmo imparato. Così dicevano,
"Se porti delle caramelle a scuola, non puoi tenertele per
te; devi condividerle con gli altri bambini". La società
è stata organizzata in modo da insegnare questo spirito
di cooperazione. E perché dovremmo farlo? Perché
la gente non coopera del tutto. Questo è un aspetto della
natura umana, ma ce ne sono altri. Esistono molti altri aspetti
della natura umana. Perciò, se si vuole una società
migliore bisogna incoraggiare lo spirito della condivisione. Non
si arriverà mai al 100%. Ciò è comprensibile.
Occorre anche prendersi di cura di se stessi. Ma se in qualche
modo ne ampliamo la portata, sarà un bene per tutti.
Oggigiorno, secondo il governo statunitense, gli insegnanti dovrebbero
fare esattamente l'opposto. "Oh, Johnny, hai portato del
software a scuola. Non puoi condividerlo. No, condividere è
sbagliato. Condividere significa essere un pirata". Cosa
intendono quando dicono 'pirata'? Sostengono che aiutare il vicino
sia l'equivalente morale di attaccare una nave. [il pubblico ride]
Cosa avrebbero detto al riguardo Gesù o Budda? Scegliete
pure il vostro leader religioso preferito. Non so, forse Manson
avrebbe detto qualche altra cosa, [il pubblico ride] Chissà
cosa direbbe Ron Hubbard? Ma...
Domanda: [inascoltabile]
RMS: Certo, è morto. Ma non l'ammettono. Cosa?
Domanda: Lo stesso vale per gli altri, tutti morti. [il
pubblico ride] Anche Charles Manson è morto. Sono tutti
morti, Gesù, Budda...
RMS: Si, è vero [il pubblico ride]. Credo allora
che in tal senso Ron Hubbard non sarebbe peggiore degli altri.
Comunque...
Domanda: Ron Hubbard usava sempre il software libero --
lo ha liberato da Zanu [il pubblico ride].
RMS: Comunque, ritengo questo sia il motivo più
importante perché il software debba essere libero: non
possiamo permetterci di inquinare la risorsa più importante
della società. È vero che non si tratta di una risorsa
materiale come l'aria pulita e l'acqua pulita. È una risorsa
psico-sociale, ma è altrettanto concreta, e produce una
differenza tremenda sulle nostre vite. Le azioni che compiamo
influenzano il pensiero degli altri. Quando ce ne andiamo in giro
dicendo alla gente, "Non condividete tra voi," se dovessero
ascoltarci, avremo un effetto sulla società, e non sarebbe
certo positivo. Questa è la libertà due, la libertà
di aiutare il proprio vicino.
Ah, inoltre, se tale libertà viene a mancare, ciò
non provoca danno soltanto a questa risorsa psico-sociale, ma
causa uno spreco -- un danno pratico, materiale. Se il programma
ha un proprietario, e costui organizza le cose in modo che ciascun
utente debba pagare onde poterlo usare, qualcuno finirà
per dire, "Vorrà dire che ne farò a meno".
E ciò è uno spreco, spreco inflitto in maniera deliberata.
La cosa interessante riguardo il software, naturalmente, è
che quantità minore non significa doverne fare di meno.
Se c'è meno gente che compra autovetture, se ne faranno
di meno. C'è un risparmio. Nel costruire una macchina,
esistono delle risorse da allocare o meno. Si può dire
cioè che mettere un prezzo su un'autovettura sia qualcosa
di positivo. Previene la gente dall'usare molte risorse sprecate
per costruire macchine che non sono veramente necessarie. Ma se
ogni ulteriore macchina non richiedesse alcuna risorsa, non ci
sarebbe nulla di positivo nel risparmiarne la costruzione. Per
gli oggetti materiali, come le autovetture, bisognerà sempre
usare delle risorse per costruirne un altro, per ogni esemplare
aggiuntivo.
Ma ciò non vale per il software. Chiunque può farne
una copia. Ed è talmente semplice farlo. Non occorre alcuna
risorsa, eccetto per un minimo di elettricità. Non c'è
nulla che possiamo risparmiare, nessuna risorsa da allocare in
maniera migliore imponendo un disincentivo economico sull'uso
del software. Spesso si trova gente che prende le conseguenze
di un ragionamento economico, basato su premesse inapplicabili
al software, cercando d trapiantarle da altri ambiti della vita
in cui si applicano quelle premesse, e le conclusioni posso essere
valide. Non fanno altro che prendere tali conclusioni e ne assumono
la validità anche per il software, quando invece l'argomento
è basato sul nulla, nel caso del software. In tal caso
le premesse non funzionano. È molto importante esaminare
il modo in cui si raggiungono le conclusioni, e su quali premesse
siano basate, per vedere se possano essere considerate valide
o meno. Così, questa è la libertà due, la
libertà di aiutare il vicino.
La libertà tre è la libertà di aiutare a
costruire la propria comunità tramite la pubblicazione
di una versione migliorata del software. La gente mi diceva di
solito, "Se il software è libero, allora nessuno verrà
pagato per lavorarci sopra, perché mai qualcuno dovrebbe
farlo?" Ovviamente facevano confusione tra i due diversi
significati di 'free', tale ragionamento era basato su un'incomprensione
di partenza. Ma in ogni caso questa era la loro teoria. Oggi possiamo
confrontare tale teoria con dei fatti empirici, per constatare
che centinaia di persone sono pagate per scrivere software libero,
e oltre 100.000 lo fanno come volontari. Abbiamo un sacco di gente
che lavora sul software libero, per motivi diversi.
Quando diffusi per la prima volta GNU Emacs -- il primo pezzo
del sistema GNU che la gente prese davvero ad usare -- e quando
iniziò ad avere degli utenti, dopo qualche tempo, ricevetti
un messaggio che diceva, "Credo di aver visto un bug nel
codice sorgente, ed ecco qui come sistemarlo." E poi arrivò
un altro messaggio, "Questo il codice per aggiungere una
nuova funzione." E poi un altro bug, e un'altra funzione
nuova. E così via finché nei fui sommerso in maniera
talmente rapida che stava diventando un lavoro enorme soltanto
riuscire a usare tutto quest'aiuto. Microsoft non ha di questi
problemi. [il pubblico ride]
Alla fine, il fenomeno attirò l'attenzione generale. Negli
anni 1980 parecchi di noi ritenevano che forse il software libero
non sarebbe stato così efficace come il software non libero,
perché non avremmo avuto denaro sufficiente per pagare
la gente coinvolta. E naturalmente persone come il sottoscritto,
a cui stanno a cuore la libertà e la comunità, dicevano:
"Be', useremo comunque il software libero." Vale la
pena di fare qualche sacrificio riguardo la mera convenienza tecnica
in cambio della libertà. Ma quel che la gente iniziò
a notare, verso il 1990, fu che il nostro software in realtà
era migliore. Era più potente e più affidabile delle
alternative proprietarie.
All'inizio degli anni '90 qualcuno trovò il modo di misurare
scientificamente l'affidabilità del software Ecco cosa
fece. Prese alcune serie diverse di programmi comparabili che
eseguivano lavori analoghi -- gli stessi identici lavori -- su
sistemi differenti. Ciò grazie all'esistenza di certe utilità
di base simili a Unix. E i lavori eseguiti erano più o
meno gli stessi -- ovvero, seguivano le specifiche POSIX -- in
modo da essere identici in termini di risultati ottenuti; ma erano
mantenuti da persone diverse, e scritti separatamente tra loro.
Il codice era diverso. Così dissero, bene, prenderemo questi
programmi e li faremo girare con dati a caso, e misureremo quanto
spesso si bloccano o funzionano male. Lo misurarono, e la serie
di programmi più affidabile fu quella GNU. Tutte le alternative
commerciali, che erano software proprietario, risultarono meno
affidabili. Così l'autore della ricerca la pubblicò
e ne informò tutti gli sviluppatori. Qualche anno dopo
ripeté lo stesso esperimento con versioni più recenti,
e ottenne il medesimo risultato. Le versioni GNU si dimostrarono
più affidabili. Sapete, ci sono cliniche per il cancro
e i servizi del 911 (6) che usano il sistema GNU, perché
è così affidabile, e per loro l'affidabilità
è decisamente importante.
(6) In molte aree degli Stati Uniti il 911 è il numero telefonico per le chiamate d'emergenza.
Comunque, c'è perfino un gruppo di
persone che usa questo particolare vantaggio come motivazione
principale nel consentire agli utenti di fare queste varie cose,
di avere queste libertà. Se mi avete ascoltato, avrete
notato come, parlando per il movimento del software libero, parli
di questioni etiche, e di quale tipo di società vogliamo
avere, su cos'è che rende positiva una società,
come pure sui vantaggi pratici, materiali. Sono entrambi questioni
importanti. Questo è il movimento del software libero.
L'altro gruppo di persone -- definito il movimento open source
-- cita soltanto tali vantaggi pratici. Negano che si tratti di
una questione di principio. Negano il riconoscimento alla libertà
di condividere con il proprio vicino e di vedere come funziona
il programma e di modificarlo se non ci piace. Sostengono tuttavia
l'utilità di consentire alla gente di fare tutto ciò.
Così vanno dalle varie aziende e dicono loro, "Potete
fare più soldi se consentite alla gente di fare ciò."
Quel che possiamo vedere, in un certo senso, è che spingono
verso una direzione similare, ma per ragioni filosofiche fondamentalmente,
totalmente diverse.
Sulla questione più profonda di tutte, quella etica, i
due movimenti sono in disaccordo. Nel movimento del software libero
diciamo, "L'utente ha diritto a queste libertà. Non
dovrebbero impedirgli di fare queste cose." Nel movimento
open source dicono, "Si, possono impedirglielo se vogliono,
ma cercheremo di convincerli a permettere all'utente di fare queste
cose." Be', hanno dato un contributo -- hanno convinto un
certo numero di aziende a diffondere parti sostanziali di software
come software libero nella nostra comunità. Il movimento
open source ha contribuito in maniera sostanziale alla comunità,
e lavoriamo insieme [a loro] su progetti pratici. Ma a livello
filosofico esiste un disaccordo terribile.
Purtroppo il movimento open source è quello che ottiene
il sostegno della maggioranza dell'imprenditoria, e quindi la
gran parte degli articoli sul nostro lavoro ci descrivono come
open source, e parecchia gente ritiene parimenti in buona fede
che facciamo tutti parte del movimento open source. Ecco perché
insisto con questa distinzione. Voglio farvi notare che movimento
del software libero, che ha creato questa comunità e ha
sviluppato il sistema operativo libero, è ancora qui --
e che continueremo a batterci per questa filosofia etica. Voglio
farvelo sapere, in modo che non possiate informare erroneamente
qualcun altro.
Ma anche perché così potete riflettere sulle vostre
stesse posizioni.
Spetta a ciascuno di voi decidere quale movimento sostenere. Potete
dichiararvi d'accordo con il movimento del software libero e con
le mie osservazioni. Potete dichiararvi d'accordo con il movimento
open source. Potete dichiararvi in disaccordo con entrambi i movimenti.
Tocca a voi decidere da che parte stare su queste faccende politiche.
Ma nel caso siate d'accordo con il movimento del software libero
-- se credete esista la questione della gente la cui vita è
controllata e diretta da simili decisioni, e volete dire la vostra
al riguardo -- spero allora che vorrete dichiararvi d'accordo
con il movimento del software libero, e un modo per dimostrarlo
è usando il termine software libero ("free software")
e aiutare a informare gli altri della nostra esistenza.
Allora, la libertà tre è molto importante a livello
sia pratico sia psico-sociale. La mancanza di tale libertà
provoca danno pratico e materiale, perché questa comunità
di sviluppo non esisterebbe, e non potremmo avere software potente
e affidabile. Ma ciò causa anche danno psico-sociale perché
colpisce lo spirito della cooperazione scientifica -- l'idea che
stiamo lavorando insieme per l'avanzamento della conoscenza umana.
Il progresso scientifico dipende in modo cruciale dalla capacità
di lavorare insieme. Oggigiorno, tuttavia, ci si imbatte spesso
in piccoli gruppi di ricercatori che operano come fossero in guerra
con ogni altra banda di ricercatori e ingegneri. Ma se non condividono
i dati a vicenda, rimangono tutti bloccati.
Queste sono dunque le tre libertà che distinguono il software
libero dal software comune. La libertà uno è la
libertà di aiutare se stessi, operando i cambiamenti necessari
alle proprie esigenze. La libertà due è la libertà
di aiutare il proprio vicino distribuendo delle copie. E la libertà
tre è la libertà di aiutare a costruire la propria
comunità apportando delle modifiche e pubblicandole per
l'uso altrui. Se esistono tutte queste libertà, il programma
è software libero per chi lo usa. Ora, perché lo
definisco in tal modo rispetto a un utente specifico? Si tratta
forse di software libero per te? [indicando qualcuno tra il pubblico]
È software libero per te? [indicando qualcun altro tra
il pubblico] Oppure per te? [indicando una terza persona tra il
pubblico] Sì?
Domanda: Puoi illustrare meglio la differenza tra la libertà
due e la tre?
RMS: Be', sono certamente correlate, perché non
avendo affatto la libertà di ridistribuzione, sicuramente
non si potrà avere quella di ridistribuirne una versione
modificata, ma si tratta di attività diverse.
La libertà due è: l'utente ne fa una copia esatta,
e la passa agli amici, in modo che anche costoro possano farne
uso. O forse ne fa delle copie identiche e le vende a un po' di
persone, e questi possono farne uso.
La libertà tre riguarda i miglioramenti apportati dall'utente
-- o almeno, quelli che quest'ultimo ritiene tali e su cui anche
altri si dichiarano d'accordo. Questa è la differenza.
Ah, c'è anche un altro punto cruciale. Le libertà
uno e tre dipendono dall'accesso al codice sorgente. Perché
modificare un programma solo binario è estremamente difficile
[il pubblico ride] -- perfino cambiamenti stupidi come le quattro
cifre per la data (7) -- se non si hanno i sorgenti. Così
per motivi impellenti, pratici, l'accesso al codice sorgente è
una pre-condizione, un requisito, per il software libero.
(7) Ci si riferisce qui al problema "Y2K", dove molti vecchi programmi riportavano l'anno in due cifre; non era quindi chiaro se la data "00" indicasse il 2000 o il 1900, o qualsiasi altro anno che finiva in 00. Svariati milioni di dollari vennero spesi per riparare il problema in migliaia di sistemi informatici prima dell'anno 2000.
Perché allora definisco tale il software
libero rispetto a un utente specifico? Il motivo è che
talvolta uno stesso programma può essere software libero
per qualcuno, e non libero per altri. Siccome questa potrebbe
sembrare una situazione limite, vi farò un esempio così
da chiarirne meglio le circostanze. Un grande esempio -- forse
il più grande possibile -- di questo problema fu il sistema
X Windows, sviluppato al MIT e diffuso sotto una licenza che lo
rese software libero. La versione con la licenza del MIT offriva
all'utente le libertà uno, due e tre. Per chi lo usava
era software libero. Ma tra quanti ne ottennero delle copie c'erano
alcuni produttori che distribuivano sistemi Unix, e vi apportano
le modifiche necessarie per farlo girare sui quei sistemi. Probabilmente
tali modifiche interessavano appena di qualche migliaio di righe
su un totale di centinaia di migliaia di righe. Così lo
compilarono, misero i binari nel sistema Unix e lo distribuirono
sotto gli stessi accordi di non divulgazione che coprono il resto
del sistema Unix. E allora milioni di persone ottennero queste
copie. Avevano il sistema X Windows, ma nessuna di queste libertà.
Per quegli utenti non era software libero.
Così, il paradosso fu che X era software libero a seconda
da dove lo si misurava. Misurandolo tra il gruppo di sviluppatori,
si diceva, "Io rispetto tutte queste libertà. È
software libero." Misurandolo tra gli utenti, si diceva "Hmmm,
la maggioranza degli utenti non ha queste libertà. Non
è software libero." Per gli sviluppatori di X ciò
non rappresentava un problema, poichè il loro obiettivo
era semplicemente la popolarità -- ego, sostanzialmente.
Miravano a un grande successo professionale. Volevano sentirsi
tipo, "Ah, c'è un sacco di gente che usa il nostro
software." Ed era vero. Molte persone usavano quel software
ma non avevano libertà.
Be', nel progetto GNU, se qualcosa di simile fosse accaduto al
software GNU, sarebbe stato un fallimento, perché il nostro
obiettivo non era soltanto diventare popolari; lo scopo era dare
libertà alla gente, e incoraggiare la cooperazione, consentire
alla gente di cooperare. Ricordiamolo, non bisogna costringere
mai nessuno a cooperare con qualcun altro, ma occorre assicurarsi
che a chiunque sia consentito cooperare, che tutti abbiano la
libertà di farlo, se così decidono. Se milioni di
persone avessero usato le versioni non libere di GNU, ciò
non sarebbe stato affatto un successo. L'intera situazione sarebbe
scaduta in qualcosa di ben lontano dalla meta.
Così mi misi alla ricerca di un modo per impedire ciò.
Il metodo che misi a punto è definito "copyleft".
Viene chiamato copyleft (permesso d'autore) perché è
qualcosa di simile a prendere il copyright (diritto d'autore)
e rigirarlo sottosopra. [il pubblico ride] A livello legale, il
copyleft funziona sulla base del copyright. Usiamo le attuali
leggi sul copyright ma in modo tale da raggiungere un obiettivo
molto diverso. Ecco cosa facciamo. Diciamo, "Questo programma
è sotto copyright." E naturalmente ciò significa
per definizione che ne è vietata la copia, la distribuzione
o la modifica. Ma poi diciamo, "L'utente è autorizzato
a distribuirne delle copie. L'utente è autorizzato a modificarlo.
L'utente è autorizzato a distribuirne versioni modificate
e versioni ampliate. Può modificarlo in qualsiasi modo
voglia."
Esiste però una condizione. E la condizione, ovviamente,
è il motivo per cui ci siamo dati la pena di fare tutto
ciò, in modo da poter aggiungere tale condizione. La condizione
recita: Ogni volta che l'utente distribuisce qualunque cosa che
contenga una parte qualsiasi di questo programma, quell'intero
programma deve essere distribuito sotto gli stessi termini, niente
di più e niente di meno. L'utente può cambiare il
programma e distribuirne una versione modificata, ma quando lo
fa, a quanti lo ricevono dall'utente spetta la medesima libertà
che abbiamo dato a tale utente. E non soltanto per le parti che
quest'ultimo ha copiato dal nostro programma, ma anche per le
altre parti di tale programma che gli altri hanno ricevuto dallo
stesso utente. Per coloro che lo ricevono, il programma nella
sua interezza deve essere libero.
Le libertà di cambiare e ridistribuire questo programma
diventano diritti inalienabili -- un concetto derivato dalla Dichiarazione
d'Indipendenza statunitense. Diritti che vogliamo esser certi
non vengano portati via all'utente. La licenza specifica che dà
corpo all'idea di copyleft è la Licenza Pubblica Generica
GNU (GNU GPL), una licenza controversa perché in realtà
possiede la forza di dire no a coloro che vorrebbero fare i parassiti
della nostra comunità.
Ci sono molte persone che non apprezzano gli ideali di libertà.
E sarebbero molto contente di prendere il lavoro che abbiamo fatto
per usarlo come spinta d'avvio nella distribuzione di un programma
non libero e nell'allettare la gente a rinunciare alle proprie
libertà. Il risultato sarebbe -- se consentiamo alla gente
di farlo -- che dopo aver sviluppato questi programmi liberi,
dovremmo costantemente competere con le versioni migliorate dei
nostri stessi programmi. Nient'affatto divertente.
Molta gente chiede anche, "Vorrei offrire il mio tempo per
contribuire senza compenso alla comunità, ma perché
dovrei offrire volontariamente il mio tempo per contribuire a
migliorare il programma proprietario di quell'azienda?" Qualcuno
potrebbe perfino non ritenere che ciò sia un male, ma vogliono
essere pagati per un simile lavoro. Personalmente, preferisco
piuttosto non farlo affatto.
Tuttavia entrambi questi gruppi di persone -- quelli come me che
dicono, "Non voglio aiutare i programmi non liberi a mettere
un piede nella nostra comunità", e quelli che sostengono,
"Certo, sono disposto a lavorare per loro, ma voglio essere
pagato" -- hanno una buona ragione per usare la Licenza Pubblica
Generica GNU. Perché questa dice a ogni azienda, "Non
puoi soltanto appropriarti del mio lavoro, e distribuirlo senza
la libertà." Mentre ciò viene consentito dalle
licenze non copyleft, come quella per X Windows.
Questa dunque è la grande divisione tra le due categorie
di software libero, a livello di licenza. Ci sono programmi sotto
copyleft in modo che la licenza tuteli la libertà del software
per ciascun utente. E ci sono i programmi non coperti da copyleft
per i quali sono permesse versioni non libere. Qualcuno può
prendere questi ultimi programmi e strapparne via la libertà.
L'utente può ricevere quel programma in una versione non
libera.
Questo problema esiste ancor oggi. Ci sono ancora versioni non
libere di X Windows usate sui nostri sistemi operativi liberi.
C'è perfino dell'hardware che non è veramente supportato
eccetto che da una versione non libera di X Windows. E questo
è un problema importante per la nostra comunità.
Ciò nonostante non definirei negativamente X Windows. Direi
che gli sviluppatori non operarono al meglio. Ma diffusero comunque
parecchio software che tutti noi possiamo usare.
C'è molta differenza tra meno che perfetto e negativo.
Esistono molte gradazioni tra bene e male. Dobbiamo resistere
alla tentazione di dire, se qualcuno non ha fatto la cosa assolutamente
migliore possibile, che è tutto negativo. Le persone che
hanno sviluppato X Windows hanno fornito un grande contributo
alla comunità. Ma avrebbero potuto fare qualcosa di meglio.
Avrebbero potuto mettere sotto copyleft alcune parti del programma
onde prevenire l'ulteriore distribuzione di quelle versioni che
negavano la libertà.
Ora, il fatto che la Licenza Pubblica Generica GNU difenda la
libertà dell'utente, ricorrendo alle leggi sul copyright
per tutelare la libertà dell'utente, è naturalmente
il motivo per cui oggi Microsoft ci attacca. Microsoft vorrebbe
davvero riuscire a prendere tutto il codice che scriviamo e metterlo
in programmi proprietari, qualcuno poi gli apporterà qualche
miglioria... o forse tutto ciò di cui hanno bisogno è
soltanto qualche modifica incompatibile [il pubblico ride].
Con la potenza del marketing, Microsoft non deve migliorarlo per
far sì che la propria versione soppianti la nostra. Gli
basta renderlo diverso e incompatibile. E poi metterlo sulla scrivania
di tutti gli utenti. Perciò non gradiscono affatto la GNU
GPL. Perché questa non consente loro di fare così.
La GNU GPL non permette di "abbracciare ed estendere."
Dice, se l'utente vuole condividere il codice dei suoi programmi,
può farlo. Ma deve condividere, e condividere allo stesso
modo. Ogni cambiamento fatto dall'utente dev'essere parimenti
condiviso da tutti noi. Si tratta cioè di una cooperazione
a due canali, che è poi la vera cooperazione.
Molte aziende -- anche quelle grandi tipo IBM e Hewlett-Packard
-- hanno deciso di usare il nostro software su queste basi. IBM
e Hewlett-Packard hanno offerto miglioramenti sostanziali al software
GNU. E sviluppano altro software libero. Ma Microsoft non vuole
farlo, rinunciando così a ogni attività commerciale
che abbia a che fare con la GPL. Be', se tale attività
non includesse IBM, Hewlett-Packard e Sun, allora forse avrebbero
ragione [il pubblico ride]. Ne parleremo meglio più avanti.
Vorrei concludere l'aspetto storico. Siamo partiti nel 1984 non
soltanto per scrivere software libero ma anche per fare qualcosa
di molto più coerente: sviluppare un sistema operativo
che fosse interamente software libero. Ciò significava
che avremmo dovuto scriverne un pezzo dopo l'altro. Naturalmente
eravamo sempre alla ricerca di scorciatoie. Un compito talmente
vasto che la gente sosteneva che non saremmo mai stati capaci
di portarlo a termine. Io ritenevo che avevamo almeno una possibilità
di completarlo, ma ovviamente valeva pena di cercare delle scorciatoie.
Così continuavamo a guardarci intorno. Esistevano programmi
scritti da altri che avremmo potuto maneggiare in modo da adattarli,
da inserirli qui dentro, e in tal modo evitare di doverli scrivere
partendo da zero? Ad esempio, il sistema X Windows. È vero
che non era sotto copyleft, ma era software libero, quindi potevamo
usarlo.
Ora, fin dal primo giorno avrei voluto mettere un sistema a finestre
all'interno di GNU. Avevo scritto un paio di sistemi a finestra
al MIT, prima di iniziare GNU. E così pur se nel 1984 Unix
non aveva un sistema a finestre, decisi che GNU l'avrebbe avuto.
Ma non arrivammo mai a scrivere un sistema a finestre GNU perché
arrivò X. E allora feci: "Ottimo! Un grosso lavoro
che non dobbiamo fare. Useremo X." Dissi, prendiamo X e inseriamolo
nel sistema GNU. E faremo in modo che le altri parti di GNU operino
bene con X, quando necessario. Poi trovammo nuovi pezzi di software
scritti da altri, come il formattatore di testi TeX, e qualche
codice di libreria da Berkeley. A quei tempi esisteva Berkeley
Unix, ma non era software libero. Inizialmente questo codice di
libreria veniva da un gruppo diverso a Berkeley, che faceva ricerche
sul punto di fluttuazione. Così mettemmo insieme questi
pezzi.
Nell'ottobre 1985 fondammo la Free Software Foundation. È
il caso di notare che fu il progetto GNU a venire prima. La Free
Software Foundation arrivò almeno due anni dopo l'annuncio
del progetto GNU. La Free Software Foundation è un ente
senza fini di lucro che raccoglie fondi per promuovere la libertà
di condividere e modificare il software. Negli anni '80 una delle
cose più importanti che facemmo con i fondi raccolti fu
assumere gente per scrivere parti di GNU. E programmi essenziali,
quali la shell e la libreria C, vennero scritti in questo modo,
come pure parti di altri programmi. Il programma tar, che è
assolutamente essenziale, pur se nient'affatto eccitante [il pubblico
ride], è stato scritto in questo modo. Credo lo stesso
valga anche per il grep GNU. E così ci avvicinavamo alla
meta prefissa.
Nel 1991 mancava soltanto un pezzo importante, si trattava del
kernel. Ora, perché lasciai da parte il kernel? Probabilmente
perché non importa granché in quale ordine si integrano
i vari pezzi, almeno a livello tecnico non importa. Devi comunque
farli tutti. E in parte perché speravo che saremmo partiti
da un kernel trovato da qualche parte. E così fu. Trovammo
Mach, che era stato sviluppato alla Carnegie Mellon. Non era il
kernel intero, solo la metà inferiore. Dovevamo perciò
scrivere quella superiore; cose tipo il file system, il codice
di rete, e così via. Ma quelli che girano su Mach sono
essenzialmente programmi per utenti, i cui bug devono risultare
facili da sistemare. Il debug si può fare contemporaneamente
con un vero debugger a livello di codice. Credevo che in tal modo
avremmo potuto fare in tempi brevi le parti di alto livello del
kernel. Non andò così. Questi processi asincroni
e plurilivelli, l'invio di messaggi tra di noi, si dimostrarono
molto difficili per il debug. E il sistema basato sul Mach che
usavamo aveva un terribile ambiente per il debug, ed era inaffidabile.
Impiegammo anni e anni per far funzionare il kernel GNU.
Ma fortunatamente la comunità non doveva aspettare il kernel
GNU. Perché nel 1991 Linus Torvalds sviluppò un
altro kernel libero, chiamato Linux. Usò il buon vecchio
progetto monolitico e accadde che il suo funzionò in tempi
molto più rapidi del nostro. Forse questo fu uno degli
errori che commisi: la decisione progettuale. Comunque, all'inizio
non sapevamo nulla di Linux, perché Torvalds non ci contattò
mai per parlarne, pur sapendo dell'esistenza del progetto GNU.
Ma l'annunciò ad altre persone e altrove in rete. E poi
qualcun altro si occupò di integrare Linux con il resto
del sistema GNU, arrivando a completare il sistema operativo libero.
Sostanzialmente, realizzando la combinazione GNU più Linux.
Ma non avevano capito che era questo che stavano facendo. Dicevano,
"Abbiamo un kernel -- guardiamoci intorno per vedere quali
altri pezzi possiamo trovare da mettere insieme al kernel."
Così si guardarono intorno, ed ecco che tutto ciò
di cui avevano bisogno era già disponibile. "Che bella
fortuna," andavano dicendo. [il pubblico ride] "È
tutto bell'e pronto. Possiamo trovare tutto quanto ci occorre.
Basta prendere tutte queste cose diverse e metterle insieme per
avere un sistema."
Non sapevano che la maggior parte di quanto trovarono erano pezzi
del sistema GNU. Così non si accorsero che stavano integrando
Linux nel varco del sistema GNU. Credevano di star costruendo
un sistema derivante direttamente da Linux. Perciò lo chiamarono
Linux. [Qualcuno tra il pubblico chiede] "Ma si tratta forse
di maggior fortuna che trovare il sistema X Windows e Mach?"
[Stallman replica e poi prosegue] Giusto. La differenza sta nel
fatto che gli sviluppatori di X e Mach non avevano l'obiettivo
di fare un sistema operativo libero completo. Eravamo soltanto
noi a volerlo fare. E il sistema esisteva grazie al nostro tremendo
lavoro. In realtà noi facemmo la parte più ampia
del sistema rispetto a qualsiasi altro progetto. Non si trattò
di una coincidenza, perché quella gente scrisse utili parti
del sistema. Ma non lo fecero perché volevano completare
il sistema. Avevano altri motivi.
Quanti svilupparono X ritenevano che realizzare un sistema a finestre
tramite la rete fosse un buon progetto, e lo era. E accadde che
ci fu d'aiuto nel realizzare un buon sistema operativo libero.
Ma non è quanto speravano quegli sviluppatori. Non ci pensavano
neppure. Fu un incidente. Un incidente benefico. Non sto sostenendo
che quanto fecero fosse mal fatto. Portarono a termine un ampio
progetto di software libero. Un'ottima cosa da fare. Ma non avevano
una visione complessiva. Fu il progetto GNU a incarnare tale visione.
E così noi riuscimmo a fare ogni piccolo pezzo che non
aveva fatto nessun altro. Perché sapevamo che senza questi
pezzi non avremmo avuto un sistema completo. E pur essendo totalmente
noioso e poco romantico, come tar o mv (8) [il pubblico ride],
lo facemmo.
(8) Un semplice programma per spostare o rinominare i file.
Oppure ld -- sapete, non c'è nulla
di eccitante in ld, ma io ne ho scritto uno [il pubblico ride].
E mi sono sforzato per far sì che occupasse una quantità
minima di disco I/O in modo da poter essere più veloce
e gestire programmi più ampi. Mi piace fare un buon lavoro;
mi piace migliorare varie cose nel programma mentre ci lavoro
su. Ma la ragione per cui lo feci non era che avessi delle idee
per un ld migliore. Il motivo per cui lo feci era che avevamo
bisogno di una versione che fosse libera. E non potevamo aspettarci
che lo facesse qualcun altro. Dovevamo farlo noi, o trovare qualcuno
che lo facesse.
Così, nonostante a questo punto sono migliaia le persone
e i progetti che hanno contribuito a questo sistema, c'è
un progetto alla base dell'esistenza stessa di tale sistema, ed
è il progetto GNU. Sostanzialmente si tratta del sistema
GNU con altre cose aggiunte in seguito.
La pratica di chiamare il sistema Linux è stato un grave
colpo per il progetto GNU, perché normalmente non si riconosce
a qualcuno quel che non ha fatto. Credo che Linux, il kernel,
sia un pezzo di software libero assai utile, e ho soltanto cose
buone da dire al riguardo. In realtà, avrei un paio di
cattiverie da dire su Linux. [il pubblico ride] Ma in sostanza
ho apprezzamenti positivi. Tuttavia, la pratica di definire il
sistema GNU con "Linux" è proprio un errore.
Vorrei pregarvi di compiere il piccolo sforzo necessario per chiamare
il sistema GNU/Linux, aiutandoci così ad ottenere parte
del riconoscimento.
[Qualcuno tra il pubblico urla] "Vi serve una mascotte! Trova
un animale di peluche!" [Stallman risponde] Ne abbiamo uno.
[La persona replica] "E qual'è?" [Stallman risponde,
provocando grandi risate] Abbiamo un animale, lo gnu. Giusto,
quando disegnate un pinguino metteteci anche uno gnu di fianco.
Ma conserviamo le domande per la fine. Devo parlare di altre cose.
Perché dunque mi preoccupo di questa faccenda? Perché
credo valga la pena di disturbarvi e forse farvi una cattiva impressione
[il pubblico ride] sollevando la questione del riconoscimento?
Quando lo faccio, qualcuno ritiene che è per soddisfare
il mio ego, vero? Naturalmente non vi sto chiedendo di chiamarlo
"Stallmanix", giusto? [il pubblico ride] [applausi]
Vi chiedo di chiamarlo GNU perché voglio che il progetto
GNU ottenga il giusto riconoscimento. E c'è un motivo specifico
per questo, che è molto più importante del riconoscimento
per chicchessia, in e per se stesso. Oggigiorno guardandosi intorno
nella nostra comunità la maggior parte della gente ne parla
e ne scrive senza mai menzionare GNU, e non citano mai neppure
questi obiettivi di libertà -- questi concetti politici
e sociali. Perché il luogo da cui arrivano tali concetti
è GNU. Le idee associate con Linux, la loro filosofia è
molto diversa. Praticamente è la filosofia apolitica di
Linus Torvalds. Così, quando si ritiene che l'intero sistema
sia Linux, si tende a pensare: "Oh, tutto dev'essere stato
iniziato da Linus Torvalds. La sua filosofia è quella che
dovremmo considerare con attenzione." E quando sentono parlare
della filosofia GNU, dicono: "Ma ciò è così
idealista, dev'essere terribilmente impraticabile. Io sono un
utente Linux, non un utente GNU." [il pubblico ride]
Com'è ironico! Se soltanto sapessero! Se sapessero che
il sistema che piace loro -- o, in alcuni casi, che amano e di
cui vanno pazzi -- è la nostra filosofia idealista, politica
resa in concreto.
Non sarebbero comunque d'accordo con noi. Ma almeno vedrebbero
un motivo per prenderla sul serio, per rifletterci con attenzione,
per darle una possibilità. Vedrebbero come ciò sia
in relazione con la propria vita. Se si rendessero conto, "Uso
il sistema GNU. Ecco la filosofia GNU. Questa filosofia è
la ragione per l'esistenza stessa del sistema che mi piace così
tanto," quantomeno lo considererebbero con mente più
aperta. Ciò non significa che sarebbero tutti d'accordo.
La gente pensa in modo diverso. Va bene così -- ciascuno
dovrebbe ragionare con la propria testa. Ma voglio che questa
filosofia ottenga il beneficio del riconoscimento per i risultati
raggiunti.
Guardandosi intorno nella comunità, si noterà che
quasi ovunque le istituzioni definiscono il sistema Linux. Per
lo più i giornalisti lo chiamano Linux. Non è corretto,
ma lo fanno. Lo stesso dicasi per le varie aziende che impacchettano
il sistema. E gran parte di quei giornalisti, quando scrivono
degli articoli, generalmente non la considerano una questione
politica o sociale. Normalmente parlano di una faccenda puramente
commerciale o di quali aziende avranno più o meno successo,
che in realtà è una questione decisamente minore
per la società. E se consideriamo le aziende che impacchettano
il sistema GNU/Linux per l'utenza, be', la maggioranza lo chiama
Linux. E tutte vi aggiungono software non libero.
La GNU GPL dice che se si prende del codice, e si tratta di codice
da un programma coperto dalla GPL, e vi si aggiunge altro codice
per fare un programma più ampio, quest'ultimo va diffuso
nella sua interezza sotto la GPL. Ma si possono mettere altri
programmi separati su uno stesso disco (hard disk o CD) e questi
possono avere altre licenze. Ciò viene considerata una
mera aggregazione e, sostanzialmente, la semplice distribuzione
contemporanea di due programmi è qualcosa su cui non abbiamo
nulla da dire. Perciò non è vero -- talvolta vorrei
lo fosse -- che se un'azienda usa un programma coperto dalla GPL
all'interno di un prodotto questo debba essere completamente software
libero. Non è così, non raggiunge quest'ampiezza,
questo scopo. Si tratta dell'intero programma. Se ci sono due
programmi separati che comunicano tra loro a distanza ravvicinata,
tipo inviandosi messaggi a vicenda, allora sono legalmente separati,
in generale. Queste aziende, quando aggiungono al sistema software
non libero, danno agli utenti un'idea molto sbagliata, a livello
filosofico e politico. Dicono loro, "È bene usare
software non libero. Lo mettiamo perfino qui in aggiunta."
Se diamo un'occhiata alle riviste sull'uso del sistema GNU/Linux,
in maggioranza hanno titoli quali "Linux qualcosa-o-qualcos'altro".
La maggior parte delle volte definiscono il sistema Linux. E sono
zeppe di annunci di software non libero che si può far
girare sul sistema GNU/Linux. Questi annunci suggeriscono un messaggio
comune. Dicono: "Il software non libero è un bene
per l'utente. A tal punto che puoi persino pagare per averlo."
[il pubblico ride]
E li chiamano "pacchetti a valore aggiunto", il che
ne rivela i valori. Questa gente dice: Date valore alla convenienza
pratica, non alla libertà. Io non sono d'accordo con questi
valori, per cui li chiamo "pacchetti a libertà sottratta."
[il pubblico ride] Perché, avendo installato un sistema
operativo libero, allora si vive nel mondo libero. Si apprezzano
i benefici della libertà su cui abbiamo lavorato per anni
onde garantirli all'utente. Quei pacchetti offrono invece la possibilità
di legarsi a una catena.
Se poi consideriamo le mostre specializzate dedicate all'uso del
sistema GNU/Linux, le chiamano tutte "Linux". E sono
piene di stand che espongono software non libero, sostanzialmente
ponendo il timbro d'approvazione sul software non libero. Così,
quasi ovunque si guardi nella comunità, le istituzioni
appoggiano il software non libero, negando completamente quell'idea
di libertà per cui fu sviluppato GNU. L'unico ambito in
cui ci si imbatte con l'idea di libertà è in connessione
con GNU, e in connessione con il software libero, il termine software
libero. Ecco perché vi chiedo: Per favore chiamate il sistema
GNU/Linux. Per favore fate sapere alla gente da dove arriva e
perché esiste quel sistema.
Naturalmente, il solo uso di quel nome non significa offrirne
una spiegazione storica. Si possono inserire altri quattro caratteri
e scrivere GNU/Linux; si possono dire due sillabe aggiuntive.
Ma GNU/Linux contiene meno sillabe di Windows 2000 [il pubblico
ride]. Non si spiega granché agli altri, ma li si prepara
a saperne di più su cos'è GNU, e così vedranno
come sia collegato a loro e alla propria vita. E ciò, indirettamente,
può fare una differenza tremenda. Per favore dateci una
mano.
Avrete notato come Microsoft abbia definito la GPL una "licenza
open source." Non vogliono che la gente consideri la questione
in termini di libertà. Si scopre che invitano la gente
a pensare in maniera ristretta, in quanto consumatori, e naturalmente
a pensare neppure molto razionalmente in quanto tali, se si apprestano
a scegliere prodotti Microsoft. Ma non vogliono che la gente pensi
in quanto cittadini o uomini di stato. Ciò risulterebbe
avverso per loro. Almeno è avverso al loro attuale modello
commerciale.
Ora, come fa il software libero... be', potrei illustrarvi la
relazione tra software libero e società. Un argomento secondario
che potrebbe interessare alcuni di voi è relazione tra
software libero e imprenditoria.
In effetti, il software è tremendamente utile per l'imprenditoria.
Dopo tutto, nei paesi avanzati la maggioranza delle aziende fa
uso di software. Soltanto una minima parte lo sviluppa.
E il software libero è tremendamente vantaggioso
per qualsiasi azienda che fa uso di software, perché significa
esserne in controllo. Praticamente software libero significa che
gli utenti sono in controllo di quello che fa il programma. Sia
individualmente, se si vuole esserlo, sia collettivamente, quando
si vuole esserlo. Chiunque abbia motivo sufficiente per farlo,
può esercitare qualche influenza. Se non t'importa granché,
non lo compri. Allora usi quel che preferiscono gli altri. Ma
se la cosa ti preme, allora puoi dire la tua. Con il software
proprietario, sostanzialmente non hai voce in capitolo.
Con il software libero l'utente può modificare quel che
vuole. E non importa se in azienda non ci sono programmatori,
va bene così. Se si vogliono spostare le pareti di casa,
non occorre essere una ditta di costruzioni. Basta trovarne una
e chiedere, "Quanto volete per fare questo lavoro?"
Volendo cambiare qualcosa nel software che si usa, non occorre
essere un'azienda di programmazione. Basta trovarne una e chiedere
"Quanto volete per implementare queste funzioni? E quando
potreste occuparvene?" E se non possono farlo, si cerca qualcun
altro.
Per l'assistenza c'è il mercato libero. Perciò ogni
azienda interessata al supporto troverà un vantaggio tremendo
nel software libero. Con il software proprietario il supporto
è un monopolio, perché è una sola azienda
ad avere il codice sorgente -- o forse un piccolo numero di aziende
che pagano un'esorbitante somma di denaro per avere il codice
sorgente, se si tratta dei sorgenti condivisi di un programma
Microsoft -- ma sono ben poche. Non esistono molte possibili fonti
di assistenza per l'utente. E ciò significa che, a meno
che non si tratti un vero gigante industriale, non si curano di
quell'utente. L'azienda di costui non è abbastanza importante
perché possano preoccuparsi delle sue perdite commerciali.
Una volta che l'utente usa il programma, lo ritengono incastrato
nel dover chiedere loro il supporto, perché passare a un
programma diverso è un lavoro gigantesco. Così si
finisce con cose tipo pagare per il privilegio di segnalare un
bug. E dopo aver pagato, dicono all'utente, "Bene, abbiamo
preso nota della segnalazione. Nel giro di qualche mese potrai
comprare l'aggiornamento e vedrai se l'abbiamo sistemato o meno."
[il pubblico ride]
I fornitori di assistenza per il software libero non possono cavarsela
così facilmente. Devono mostrarsi gentili con il cliente.
Ovviamente si può anche ottenere un sacco di supporto gratis.
Basta spiegare il problema in un messaggio su Internet. Può
darsi che il giorno seguente si ottenga una risposta. Ma naturalmente
non è affatto garantito. Per esserne certi, meglio mettersi
d'accordo con un'azienda e pagarla. E questo è, naturalmente,
uno dei modi in cui funziona l'attività commerciale legata
al software libero.
Un altro vantaggio del software libero per l'imprenditoria che
fa uso di software riguarda la sicurezza e la privacy. Vedete,
quando un programma è proprietario, è impossibile
perfino dire come opera in concreto.
Potrebbe avere delle funzioni inserite deliberatamente che non
piacciono all'utente, qualora ne sia informato. Potrebbe avere
ad esempio una back door onde consentire allo sviluppatore di
accedere alla macchina dell'utente. Potrebbe spiare quanto si
sta facendo e ridistribuire queste informazioni. Non è
insolito. Qualche software Microsoft lo faceva. Ma non è
soltanto Microsoft. Esistono altri programmi proprietari che spiano
l'utente. E quest'ultimo non può neppure dire se ciò
avvenga o meno. Naturalmente anche assumendo la completa onestà
dello sviluppatore, ogni programmatore compie degli errori. Potrebbero
esserci dei bug relativi alla sicurezza di cui nessuno ha colpa.
Ma il punto è: se non è software libero, l'utente
non può trovarli. E non può sistemarli.
Nessuno ha il tempo di verificare i sorgenti di ogni programma
che usa. Non lo fa nessuno. Ma con il software libero esiste un'ampia
comunità, e al suo interno c'è gente che controlla
queste cose. Si può trarre vantaggio da quest'attività,
perché se c'è un bug accidentale, ce ne sono di
sicuro, di tanto in tanto, in ogni programma, qualcuno può
trovarlo e sistemarlo. Ed è meno probabile che la gente
ci metta dentro apposta un Trojan horse, o una funzione per spiare,
se pensano di poter essere beccati. Gli sviluppatori di software
proprietario sanno di non poter essere colti in flagrante. Possono
farla franca senza che nessuno lo noti. Ma uno sviluppatore di
software libero deve tener conto che la gente verificherà
il codice e vedrà cosa c'è. Nella nostra comunità,
sentiamo che è impossibile farla franca nel forzare una
funzione nella gola degli utenti se questi non la gradiscono.
Sappiamo che se agli utenti non piace, ne faranno una versione
modificata priva di tale funzione. E poi prenderanno tutti ad
usare questa versione.
Anzi, possiamo tutti ragionarci su, possiamo tutti prevedere ciò
abbastanza in anticipo, che probabilmente non inseriremo quella
funzione. Dopo tutto, si tratta di scrivere un programma libero;
voglio che alla gente piaccia la mia versione; non voglio metterci
qualcosa che molte persone finiranno per odiare, e vedere un'altra
versione modificata prendere il posto della mia. Così ci
si rende conto che nel mondo del software libero l'utente è
il re. Nel mondo del software proprietario, il cliente non è
il re. Perché non è altro che un cliente. Non ha
alcuna voce in capitolo nel software che usa.
In tal senso, il software libero è un nuovo meccanismo
per far operare la democrazia. Il professor Lessig (9), ora a
Stanford, ha fatto notare che il codice opera come una specie
di legislazione.
(9) Lawrence Lessig ha scritto l'introduzione al volume originale inglese.
Chiunque riesca a scrivere quel codice che
viene usato praticamente da tutti per ogni scopo e intento, sta
scrivendo le leggi che gestiscono la vita della gente. Con il
software libero, tali leggi vengono scritte in maniera democratica.
Non la forma classica di democrazia -- non abbiamo grandi elezioni
e cose tipo, "Tutti devono votare su come fare questa funzione"
[il pubblico ride]. Invece diciamo, praticamente, quelli tra voi
che vogliono lavorare all'implementazione della funzione in questo
modo, procedano pure. E se qualcuno vuole lavorare all'implementazione
della funzione in quell'altro modo, lo faccia. In un modo o nell'altro
la cosa viene realizzata. E se parecchia gente la vuole in questo
o quel modo, è così che viene fatta. Tutti contribuiscono
alla decisione sociale compiendo semplicemente dei passi nella
direzione che ciascuno preferisce.
E ognuno è libero di fare tanti passi quanti se ne vuole,
a livello personale. Un'azienda è libera di commissionare
a qualcuno i passi che ritiene utile compiere. E dopo aver aggiunto
tutte queste cose, ciò indica la direzione in cui sta andando
il software.
Spesso torna molto utile poter prendere dei pezzi da un programma
già esistente -- presumibilmente pezzi alquanto ampi, in
genere -- e poi scrivere in proprio una certa quantità
di codice, onde avere un programma che fa esattamente quanto ci
occorre, che costerebbe una gamba e un braccio da sviluppare nel
caso bisognasse scriverlo da zero, se non fosse possibile cannibalizzare
ampie porzioni da qualche pacchetto di software libero preesistente.
Un'altra cosa derivante dal fatto che l'utente è il re,
è che si tende ad essere molto precisi rispetto a commutabilità
e standardizzazione. Perché? Perché è quel
che piace agli utenti. È probabile che gli utenti rifiutino
un programma che presenti incompatibilità inutili. Talvolta
c'è un determinato gruppo di utenti che ha davvero bisogno
di un certo tipo di incompatibilità, e allora l'avranno.
A posto così. Ma quando gli utenti vogliono aderire a uno
standard, noi sviluppatori dobbiamo seguirlo, e lo sappiamo. Al
contrario, se osserviamo gli sviluppatori di software proprietario,
spesso trovano vantaggioso il fatto di non seguire deliberatamente
uno standard, e non perché ritengano in tal modo di offrire
un vantaggio all'utente, ma piuttosto perché così
s'impongono all'utente, lo incastrano. E si scopre perfino che
di tanto in tanto apportano modifiche al formato dei file, soltanto
per costringere la gente a dotarsi della versione più recente.
Gli archivisti (10) si stanno confrontando con un problema, che
spesso non si può accedere ai file scritti su un computer
di dieci anni fa; vennero scritti con software proprietario che
sostanzialmente oggi è andato perduto. Se fossero stati
scritti con software libero, li si potrebbe aggiornare e far girare.
E quel materiale non sarebbe perduto, non sarebbe inaccessibile.
Recentemente ci si lamentava di questa situazione anche sulla
National Public Radio (11), citando il software libero come soluzione.
In effetti, usare un programma non libero per archiviare i propri
dati è come nascondere la testa sottoterra.
(10) Numerosi archivisti conservano e condividono migliaia di file via Internet.
(11) La National Public Radio è un ente privato e non-profit che, all'epoca di questo intervento, conta 620 stazioni radio pubbliche che trasmettono quotidianamente notizie e musica.
Ho illustrato il modo in cui il software
libero interessi la maggior parte dell'imprenditoria. Ma come
influisce su quella particolare area ristretta che è l'attività
commerciale del software stesso? Bene, la risposta è che
per lo più non ha alcuna influenza. E la ragione è
che il 90% dell'industria del software, da quanto mi si dice,
riguarda lo sviluppo di software personalizzato, software che
non è affatto destinato ad essere distribuito. Per il software
personalizzato, questa questione, la questione etica di essere
libero o proprietario, non sussiste. La faccenda è che,
vedete, è consentito agli utenti modificare e ridistribuire
il software? Qualora esista un unico utente, il quale ne detiene
i diritti, non c'è problema. Quell'utente è libero
di fare tutte queste cose. In effetti, qualsiasi programma personalizzato
sviluppato da un'azienda per usi interni è software libero,
fintantoché si ha il senso di insistere ad avere il codice
sorgente e tutti i diritti.
La questione praticamente non esiste per il software che opera
in un orologio da polso o in un forno a microonde o nel sistema
d'accensione di un automobile, perché si tratta di luoghi
in cui non si preleva alcun software da installare. Non è
un vero computer, per quanto riguarda l'utente, così non
solleva simili questioni al punto tale da essere eticamente importanti.
Per la maggior parte, l'industria del software andrà avanti
proprio come ha sempre fatto. E la cosa interessante è
che una frazione così ampia di posti di lavori riguarda
tale industria, pur in mancanza di possibilità per attività
commerciali di software libero, gli sviluppatori di software libero
potrebbe trovare impiego scrivendo software personalizzato. [il
pubblico ride] Ce ne sono così tanti; la percentuale è
talmente ampia.
Succede però che esiste un'imprenditoria del software libero.
Esistono aziende di software libero, e alla conferenza stampa
che seguirà parteciperanno anche rappresentanti di un paio
di tali aziende. Naturalmente ci sono anche aziende che non si
occupano di software libero ma che sviluppano utili parti di software
libero per la distribuzione, e il software libero che producono
è sostanziale.
Ora, come operano le aziende di software libero? Alcune di loro
vendono copie. L'utente è libero di copiare, ma tali aziende
possono anche vendere migliaia di copie al mese. Altre vendono
supporto e altri tipi di servizi. Personalmente, nella seconda
metà degli anni '80 ho venduto servizi di assistenza al
software libero. Praticamente, dicevo, per 200 dollari l'ora posso
modificare qualsiasi cosa volete nel software GNU che ho scritto.
Sì, era una tariffa esosa, ma si trattava di un programma
di cui ero l'autore, la gente avrebbe capito che avrei concluso
il lavoro in molte meno ore. [il pubblico ride] Mi guadagnai da
vivere in tal modo. Anzi, guadagnai più di quanto avessi
mai fatto prima. Ho anche insegnato dei corsi. Continuai così
fino al 1990 quando ricevetti un grosso premio (12) e non dovetti
più farlo.
(12) Il riferimento è al MacArthur Fellowship, definito da altri anche come "il sussidio del genio". Si tratta di un sussidio di sostentamento della durata di cinque anni, dato a individui che mostrano meriti eccezionali e promettono di proseguire e migliorare il proprio lavoro creativo.
Ma il 1990 fu quando si formò la
prima corporation nell'imprenditoria del software libero, che
fu Cygnus Support. Sostanzialmente la loro attività era
dello stesso tipo di quanto avevo fatto io. Sicuramente avrei
potuto lavorare per loro, qualora ne avessi avuto bisogno. Non
avendone bisogno, ritenni positivo per il movimento rimanere indipendente
da qualsiasi azienda. In tal modo avrei potuto dire cose buone
e cattive sulle varie aziende di software libero e di software
non libero, senza conflitti d'interesse. Così avrei potuto
servire meglio il movimento. Ma se avessi avuto bisogno di guadagnarmi
da vivere, avrei lavorato per loro. È un'attività
commerciale etica. Per nessuna ragione mi sarei vergognato di
lavorare con loro. E quell'azienda raggiunse dei guadagni netti
nel primo anno di vita. Venne fondata con un capitale minimo,
soltanto il denaro dei tre fondatori. Continuò a crescere
ogni anno e ad avere profitti ogni anno, finché divennero
ingordi di denaro e cercarono investitori esterni, e rovinarono
tutto. Ma ci furono svariati anni di successo, prima di diventare
ingordi.
Ciò illustra uno degli aspetti eccitanti del software libero.
Il software libero dimostra che non si ha bisogno di tirare su
dei capitali per sviluppare software libero. Se si hanno dei capitali,
si può assumere qualcuno per scrivere vario software. Ma
si può fare parecchio con un piccolo numero di persone.
Anzi, la tremenda efficacia del processo di sviluppo del software
libero è una delle ragioni per cui è importante
che il mondo passi al software libero. Ciò inoltre smentisce
quanto sostiene Microsoft, quando dicono che la GNU GPL è
negativa perché rende loro più difficile mettere
insieme i capitali per lo sviluppo di software non libero e prendere
il nostro software libero e mettere il nostro codice nei loro
programmi che non vogliono condividere. Praticamente non abbiamo
bisogno che raccolgano dei capitali in tal modo. Possiamo farcela
comunque. Stiamo per farcela.
La gente era solita dire che non avremmo mai potuto avere un sistema
operativo libero completo. Ora l'abbiamo fatto e anche molto di
più. Direi che abbiamo raggiunto un ordine di grandezza
superiore allo sviluppo di software ad uso generico sufficiente
a coprire le necessità del mondo intero. E ciò in
un mondo in cui oltre il 90% degli utenti ancora non usa software
libero. Ciò in un mondo dove oltre la metà di tutti
i server Web del mondo girano su GNU/Linux con Apache come server
Web.
Domanda: Cos'hai appena detto, Linux?
RMS: Ho detto GNU/Linux.
Domanda: Davvero?
RMS: Sì, se parlo del kernel lo definisco Linux.
È così che si chiama. Il kernel è stato scritto
da Linus Torvalds, e dovremmo chiamarlo con il nome scelto da
lui, per rispetto all'autore.
In generale, nell'imprenditoria la maggioranza degli utenti non
usa GNU/Linux. Gran parte dei comuni utenti ancora non usa il
nostro sistema. Quando lo faranno, dovremmo avere automaticamente
10 volte il numero di volontari e 10 volte il numero di clienti
per le aziende di software libero degli attuali. Ciò ci
porterà a quell'ordine di grandezza. A questo punto, nutro
molta fiducia che riusciremo a farcela.
Ciò è importante perché Microsoft sembra
voglia sentirci disperati. Dicono, "L'unico modo con cui
poter avere software, l'unico modo con cui si può avere
innovazione, è dandoci potere. Consentiteci di dominarvi.
Fateci controllare cosa potete fare con il software che usate,
in modo che possiamo spremervi un sacco di soldi, e usarne una
parte per sviluppare software, tenendo il resto come guadagno."
Be', non dovremmo mai sentirci talmente disperati. Non dovremmo
mai sentirci così disperati da rinunciare alla libertà.
Sarebbe molto pericoloso.
Un'altra cosa riguardo Microsoft, be', non soltanto Microsoft,
la gente che non sostiene il software libero generalmente adotta
un sistema di valori dove l'unica cosa che conta sono i benefici
pratici a breve termine: Quanti soldi riuscirò a fare quest'anno?
Quale lavoro potrò concludere oggi? Pensieri a breve termine
e pensieri ristretti. L'assunto è che è ridicolo
immaginare che qualcuno possa mai fare un sacrifico in nome della
libertà.
Ieri (13) molta gente ha tenuto discorsi sugli americani che hanno
fatto dei sacrifici per la libertà dei compatrioti. Alcuni
di loro hanno fatto grandi sacrifici. Hanno sacrificato perfino
la propria vita per quei tipi di libertà di cui ognuno
nel nostro paese ha sentito parlare. (Almeno in alcuni casi; credo
che occorra ignorare la guerra in Vietnam).
(13) Il giorno prima era Memorial Day, la festività statunitense in cui si commemorano gli eroi di guerra.
Ma fortunatamente conservare la libertà
nell'uso del software non richiede grandi sacrifici. Bastano sacrifici
minimi, piccoli, come imparare l'interfaccia a linee di comando,
se ancora non abbiamo un programma con interfaccia grafica. Come
fare un lavoro in questo modo, perché non abbiamo ancora
un pacchetto di software libero per farlo in quell'altro modo.
Come dare dei soldi a un'azienda che sta per sviluppare un certo
pacchetto di software libero, in modo che lo si possa avere nel
giro di qualche anno. Vari piccoli sacrifici che tutti noi possiamo
fare. E in tempi lunghi ne avremo beneficiato anche noi. In realtà
è più un investimento che un sacrificio. Dobbiamo
soltanto mantenere una prospettiva a lungo termine per comprendere
che è positivo per noi investire nel miglioramento della
società, senza fare i conti in tasca a chi guadagna qualcosa
a seguito di tale investimento.
A questo punto, direi di aver praticamente concluso.
Vorrei menzionare che un nuovo approccio all'attività commerciale
del software libero viene proposto da Tony Stanco, da lui definito
"sviluppatori liberi" ("Free Developers"),
che include una certa struttura imprenditoriale che spera alla
fine di pagare una parte degli utili a tutti gli autori di software
libero aderenti a tale organizzazione. Ora stanno considerando
la prospettiva di ottenere dei grossi contratti governativi per
lo sviluppo di software in India, perché qui si apprestano
a usare software libero come base di partenza, visti i tremendi
risparmi di spesa.
E ora credo che dovrei sollecitare le vostre domande.
Sessione di domande e risposte
Domanda:
In che modo un'azienda come Microsoft potrebbe includere un contratto
di software libero?
RMS: Veramente, Microsoft prevede di trasformare buona
parte della propria attività in servizi. E quel che pensano
di fare è qualcosa di sporco e pericoloso, ovvero legare
i servizi ai programmi, uno all'altro, in una specie di zigzag.
In modo che per usare questo servizio bisogna prima usare questo
programma Microsoft, il che significa che si avrà bisogno
di quel servizio, quel programma e così via... è
tutto cucito insieme. Questo il loro piano.
Ora, la cosa interessante è che la vendita di tali servizi
non solleva la questione etica del software libero e del software
non libero. Potrebbe essere perfettamente corretto per loro avere
un'attività per le aziende che vendono quei servizi in
rete. Tuttavia, quel che Microsoft prevede di fare è usarle
per imporre un blocco ancor più grande, un monopolio ancora
più ampio, sul software e sui servizi, e ciò veniva
descritto in un recente articolo. Qualcun altro sostiene che sta
trasformando la rete nella Microsoft Company Town.
E ciò ha una certa rilevanza perché i giudici del
processo antitrust raccomandavano di dividere l'azienda -- ma
sotto un certo punto di vista ciò non avrebbe alcun senso,
non porterebbe nulla di positivo -- in una parte per il sistema
operativo e un'altra per le applicazioni.
Ma dopo aver letto quell'articolo, credo possa tornare utile e
efficace dividere Microsoft in due parti, un'azienda per i servizi
e un'altra per il software, imponendo a entrambe di operare a
una certa distanza tra loro. All'azienda dedicata ai servizi andrebbe
altresì imposto di pubblicare il codice delle interfacce
impiegate, in modo che chiunque possa scrivere un programma client
per comunicare con tali interfacce, e direi che simili servizi
debbano essere a pagamento. Be', ciò sarebbe positivo.
Questa è una faccenda completamente diversa.
Se Microsoft venisse divisa in tal senso... servizi e software,
non potrebbero usare il proprio software per far fuori la competizione
con i servizi Microsoft. E non sarebbero in grado di usare i propri
servizi per bloccare la competizione con il software Microsoft.
Noi potremmo fare il software libero, e forse gli utenti lo userebbero
per parlare con i servizi Microsoft, e non ce ne preoccuperemo.
Perché, dopo tutto, nonostante Microsoft sia l'azienda
di software proprietario che ha sottomesso la maggior parte di
persone -- gli altri ne hanno sottomessi di meno, non che non
ci abbiano provato, è soltanto che non sono riusciti a
conquistarne così tanti. Il problema non è Microsoft
e soltanto Microsoft. Microsoft è l'esempio più
eclatante del problema che stiamo cercando di risolvere, ovvero
il software proprietario che ruba agli utenti la libertà
di cooperare e dare vita a una società etica. Per cui non
dovremmo concentrarci troppo su Microsoft, anche se mi hanno offerto
l'opportunità di essere su questo podio. Ciò non
li rende così importanti. Non sono tutto per tutti.
Domanda: Prima parlavi delle differenze filosofiche tra
open source e software libero. Come vedi la recente tendenza delle
distribuzioni GNU/Linux verso l'esclusivo supporto di piattaforme
Intel? E il fatto che sembra che un numero sempre minore di sviluppatori
scriva programmi in modo corretto, software che si compili ovunque?
E fa software che funziona unicamente su sistemi Intel?
RMS: Non vedo alcuna questione etica qui. Pur se, in effetti,
talvolta le aziende produttrici portano il sistema GNU/Linux sulle
proprie macchine. Sembra che recentemente lo abbia fatto Hewlett-Packard.
E non si sono curati di pagare per portarvi Windows, perché
sarebbe costato troppo. Ma per il supporto di GNU/Linux, credo
siano serviti cinque programmatori per qualche mese. Era facilmente
fattibile.
Naturalmente io incoraggio la gente a usare autoconf, un pacchetto
GNU che facilita la portabilità dei progammi. Li incoraggio
a fare così. Oppure quando qualcun altro sistema quel bug
che non compilava su una certa versione del sistema, e ti spedisce
la riparazione, dovresti inserirla. Ma non considero ciò
come una questione etica.
Domanda: Due commenti. Uno è: recentemente sei intervenuto
al MIT, ne ho letto la trascrizione. Qualcuno ha fatto una domanda
sui brevetti, e tu hai risposto che "i brevetti sono una
faccenda completamente diversa. Non ho nulla da commentare al
riguardo."
RMS: Esatto. In realtà avrei molto da dire sui brevetti,
ma ci vuole un'ora. [il pubblico ride]
Domanda: Volevo dire questo: Mi sembra che ci sia una questione
da affrontare. Esiste un motivo per cui le aziende definiscono
sia i brevetti che i copyright come delle proprietà importanti
nel tentativo di far passare questo concetto, ovvero che vogliono
usare il potere dello Stato per creare un monopolio per se stesse.
Ciò che accomuna queste cose non è che ruotino intorno
alle medesime questioni, che la motivazione non è veramente
una faccenda di servizio pubblico quanto quella dell'imprenditoria
di arrivare a un monopolio per i propri interessi privati.
RMS: Hai ragione sul fatto che vogliono questo. Ma esiste
un ulteriore motivo perché insistono a usare il termine
proprietà intellettuale. È che non vogliono incoraggiare
la gente a pensare con attenzione alle questioni del copyright
o dei brevetti. Perché le leggi sul copyright e quelle
sui brevetti sono totalmente differenti, e gli effetti del copyright
sul software e gli effetti dei brevetti sul software sono completamente
diversi tra loro.
I brevetti sul software sono una restrizione sui programmatori,
vietando loro di scrivere certi tipi di programmi, diversamente
da quanto fa il copyright. Con il copyright, almeno se si è
l'autore del programma, se ne consente la distribuzione in proprio.
Perciò è assai importante separare le due questioni.
Hanno appena qualcosa in comune, a un livello minimo, e tutto
il resto è diverso. Vi invito quindi a incoraggiare una
riflessione chiara, o si discute di copyright oppure di brevetti.
Ma non parliamo di proprietà intellettuale. Non ho opinioni
su quest'ultima. Ma ho opinioni sul copyright e sui brevetti e
sul software.
Domanda: All'inizio hai detto che un programma informatico
è un linguaggio funzionale, come le ricette. Ma c'è
un ampio divario per passare dalle ricette di cucina ai programmi
informatici, e dalla lingua inglese ai programmi informatici --
la definizione di "linguaggio funzionale" è molto
ampia. Ciò sta provocando dei problemi nel caso del DeCSS
per i DVD.
RMS: Le questioni sono in parte simili ma in parte diverse,
per le cose che non sono funzionali in natura. Parte della questione
può essere trasferito ma non per intero. Purtroppo ci vorrebbe
un'altra ora per chiarirlo, non ho il tempo di farlo. Ma direi
che tutte le opere funzionali devono essere libere nello stesso
senso del software. Intendo, libri di testo, manuali, dizionari,
ricette, e via di seguito.
Domanda: Stavo pensando alla musica online. Esistono differenze
e analogie in tutti questi casi.
RMS: Esatto. Direi che la libertà minima che dovremmo
avere per qualsiasi tipo di informazioni pubblicate sia la libertà
di ridistribuirle a livello non commerciale, in integrale. Per
opere funzionali, dobbiamo avere la libertà di pubblicare
a livello commerciale una versione modificata, perché ciò
è tremendamente utile alla società. Per opere non
funzionali, lavori d'intrattenimento, o estetici, che esprimono
il punto di vista di una persona, forse non dovrebbero essere
modificate. E forse ciò significa che è bene avere
il copyright a coprirne la distribuzione commerciale.
Teniamo a mente che secondo la costituzione statunitense lo scopo
del copyright è a beneficio del pubblico. È quello
di cambiare il comportamento di certe entità private, in
modo che pubblichino più libri. E il beneficio è
che la società può discutere sulle varie questioni
e trarne giovamento. E poi abbiamo la letteratura. Abbiamo le
opere scientifiche. Lo scopo è incoraggiare tutto ciò.
Il copyright non esiste a favore degli autori, per non parlare
del vantaggio degli editori. Costoro esistono a servizio dei lettori
e di tutti coloro che trarranno beneficio dalla comunicazione
dell'informazione che avviene quando qualcuno scrive e altri leggono.
E quest'obiettivo mi trova d'accordo.
Ma nell'epoca delle reti informatiche il metodo non è più
sostenibile, perché oggi richiede leggi draconiane che
invadono la privacy di chiunque e terrorizzano tutti. Anni di
carcere per aver condiviso con il vicino. Non era così
all'epoca della stampa. Allora il copyright era una regolamentazione
industriale. Poneva limitazioni agli editori. Oggi sono questi
ultimi a imporre restrizioni al pubblico. Il rapporto di potere
è stato ribaltato di 180 gradi, pur trattandosi della medesima
legislazione.
Domanda: Cioè, potremmo avere la stessa cosa, tipo
fare musica da altra musica?
RMS: Giusto. Questa è un'interessante...
Domanda: E opere uniche, nuove, e ciò significa
ancora parecchia cooperazione.
RMS: Lo è. Credo che probabilmente richieda un qualche
concetto di uso legittimo ("fair use"). Sicuramente
prendere qualche secondo di musica per usarlo in altri lavori,
dovrebbe essere chiaramente un uso legittimo. Non saprei dire
se i giudici siano d'accordo, ma dovrebbero. Ciò non comporterebbe
alcun cambiamento sostanziale nel sistema in vigore finora.
Domanda: Cosa pensi della pubblicazione di informazioni
pubbliche in formati proprietari?
RMS: Oh, non dovrebbe succedere. Il governo non dovrebbe
mai imporre ai cittadini di usare programmi non liberi per l'accesso,
per comunicare con il governo in qualsiasi modo, in qualunque
contesto.
Domanda: Ho usato, ora lo dico, GNU/Linux...
RMS: Grazie. [il pubblico ride]
Domanda: ...per gli ultimi quattro anni. Una cosa che mi
ha creato problemi e che è piuttosto essenziale, credo,
per tutti noi, è poter navigare sul Web.
RMS: Sì.
Domanda: Una cosa che è stata decisamente una debolezza
nell'uso del sistema GNU/Linux riguarda la navigazione sul Web,
perché lo strumento più diffuso per farlo, Netscape...
RMS:... non è software libero.
Consentitemi di rispondere su questo. Voglio arrivare al punto,
per meglio chiarire la questione. Sì, c'è stata
una forte tendenza a usare Netscape Navigator sui sistemi GNU/Linux.
Anzi, viene incluso in tutti i sistemi commerciali. È una
situazione ironica: abbiamo lavorato così duramente per
fare un sistema operativo libero e ora, quando si va in un negozio,
vi si trovano versioni di GNU/Linux, in maggioranza viene chiamato
Linux, e non sono liberi. Be', una parte lo sono. Ma poi c'è
Netscape Navigator, e forse anche altri programmi non liberi.
Così diventa difficile trovare un sistema veramente libero,
a meno di non sapere bene cosa si stia facendo. O, naturalmente
si può non installare Netscape Navigator.
In realtà per molti anni sono esistiti dei browser Web
liberi. C'è un browser libero che ero solito usare chiamato
Lynx, è un browser non grafico, solo testuale. Ha un grosso
vantaggio, nel senso che non vedi la pubblicità. [il pubblico
ride] [applausi]
In ogni caso, esiste un progetto grafico libero chiamato Mozilla,
che ora sta raggiungendo il punto in cui è possibile usarlo.
E occasionalmente lo faccio.
Domanda: Konqueror 2.01 funziona molto bene.
RMS: Ecco un altro browser grafico libero. Finalmente stiamo
risolvendo il problema, credo.
Domanda: Puoi parlare delle divisioni filosofiche/etiche
tra software libero e open source? Ritieni che siano inconciliabili?
[cambio di nastro, manca la fine delle domanda e l'inizio della
risposta]
RMS:... per la libertà e l'etica. O se basta dire,
Spero che voi imprenditori decidiate che è economicamente
vantaggioso per voi consentirci di fare queste cose.
Ma, come ho già detto, in molti lavori pratici non importa
veramente quali siano le idee politiche di una persona. Quando
costui si offre di aiutare il progetto GNU, non gli diciamo: "Devi
essere d'accordo con le nostre idee politiche." Gli diciamo
che in un pacchetto GNU devi definire il sistema GNU/Linux e chiamarlo
software libero. Quel che dici quando non hai a che fare con il
progetto GNU è affar tuo.
Domanda: L'IBM ha lanciato una campagna diretta alle agenzie
governative, per vendere le loro grandi macchine nuove, usando
Linux come punto forte di vendita, loro dicono Linux.
RMS: Si, naturalmente si tratta di GNU/Linux. [il pubblico
ride]
Domanda: Infatti! Ma vallo a dire al manager delle vendite.
Non sa nulla di GNU.
RMS: Il problema è che hanno già deciso con
cura quel che vogliono dire onde trarne vantaggio. E la questione
di cosa sia più accurato, o legittimo, o il modo corretto
di descriverlo non è di primaria importanza per un'azienda
come quella. Per qualche azienda minore, c'è un responsabile.
E se il responsabile si mostra incline a considerare piccole questioni
come questa, potrebbe decidere in tal senso. Ma non una grande
corporation. È una vergogna.
C'è un'altra questione più importante e più
sostanziale su quanto va facendo IBM. Dicono che stanno mettendo
un miliardo di dollari in "Linux." Ma forse dovrei usare
le virgolette anche per "in", perché parte di
quel denaro servirà a pagare persone che sviluppano software
libero. Ciò è un contributo concreto alla comunità.
Ma con altre parti si pagheranno persone per scrivere software
proprietario, o versioni di software proprietario che possano
girare su GNU/Linux, e ciò non è affatto un contributo
alla nostra comunità. Ma IBM sta ammucchiando tutto insieme.
Parte potrebbe essere pubblicità, che è un qualche
tipo di contributo, pur se parzialmente errato. È una situazione
complicata. Una parte di quanto vanno facendo è un contributo,
un'altra non lo è, e un'altra parte ancora lo è
in qualche modo ma non precisamente. E non si può soltanto
ammucchiare tutto insieme e dire, "Bene! Un miliardo di dollari
dall'IBM." [il pubblico ride] È una semplificazione
eccessiva.
Domanda: Puoi parlare ancora un po' delle idee che portarono
alla Licenza Pubblica Generica?
RMS: Le idee che portarono alla Licenza Pubblica Generica?
In parte volevo tutelare la libertà della comunità
contro i fenomeni che ho descritto con X Windows, che si sono
verificati anche con altri programmi liberi. Anzi, quando riflettevo
su questa faccenda X Windows non era stato ancora diffuso.
Ma avevo visto sorgere il problema in altri programmi liberi.
TeX, ad esempio. Volevo esser certo che tutti gli utenti avessero
avuto la libertà. Altrimenti, mi resi conto che avrei scritto
un programma e forse un sacco di gente l'avrebbe usato, ma senza
avere la libertà. E qual'è il punto di fare così?
Ma l'altra questione su cui andavo riflettendo era che volevo
dare alla comunità la sensazione che non fosse uno zerbino,
la sensazione che non potesse essere preda di un parassita qualsiasi
che se ne andava in giro. Se non si usa il copyleft, sostanzialmente
si dice: [con voce sommessa] "Prendi il mio codice, fanne
quel che vuoi, non dico no." Così può avvicinarsi
chiunque e dire: [con voce molto decisa] "Ah, ne farò
una versione non libera, me lo prendo." Allora probabilmente
lo miglioreranno un po', e quelle versioni non libere piaceranno
agli utenti, finendo per sostituire le versioni libere. E allora,
cosa avremmo ottenuto? Avremmo soltanto fatto una donazione a
qualche progetto di software proprietario.
E quando la gente si accorge di cosa succede, quando vede altri
prendere quel che ho fatto io, senza dare nulla in cambio, può
essere demoralizzante. Non si tratta di pura speculazione. L'ho
visto accadere. Fu parte di quanto avvenne con la scomparsa della
comunità a cui appartenevo negli anni '70. Qualcuno prese
a diventare poco cooperativo. E ne assumemmo che stavano guadagnandoci
sopra in qualche modo. Certamente si comportavano come se stessero
guadagnandoci sopra. Ci rendemmo conto come fosse possibile appropriarsi
semplicemente della nostra cooperazione e non dar nulla in cambio.
E non potevamo far nulla per impedirlo. Fu molto scoraggiante.
Se ne discutemmo tra quelli che non gradivano la tendenza, ma
non ci venne in mente alcuna idea per bloccarla.
La GPL è progettata per bloccare ciò. Dice: Sì,
sei benvenuto nella nostra comunità e puoi usare questo
codice. Puoi usarlo per ogni tipo di lavoro. Ma se ne diffondi
una versione modificata, devi farlo nella comunità, come
parte di questa, come parte del mondo libero.
In effetti esistono ancora parecchi modi in cui è possibile
trarre vantaggio dal nostro lavoro senza contribuirvi, come il
fatto di non dover scrivere alcun software. Molta gente usa GNU/Linux
e non scrive alcun software. Non esiste alcun requisito perché
l'utente debba fare qualcosa per noi. Ma se si fa un certo tipo
di cose, bisogna dare il proprio contributo. È questo che
s'intende dicendo che la comunità non è un zerbino.
E credo che ciò abbia aiutato la gente a rafforzarsi per
dire, Non vogliamo essere calpestati dal primo che passa, ci difenderemo.
Domanda: Considerando il software libero ma non sotto copyleft,
visto che chiunque può prenderlo e renderlo proprietario,
non è possibile anche prenderlo, modificarlo e diffondere
l'intero programma sotto la GPL?
RMS: Sì, è possibile.
Domanda: Allora ciò imporrebbe la GPL a tutte le
copie future.
RMS: Derivanti da quel programma. Ecco perché in
genere non lo facciamo. Fatemi spiegare. Volendo, potevamo prendere
X Windows e farne una copia coperta dalla GPL con delle modifiche.
Ma c'è un gruppo più ampio di gente che lavora a
migliorare X Windows senza metterlo sotto GPL. Così, se
lo avessimo fatto, ci saremmo divisi da loro ("forking").
E ciò non è un comportamento positivo nei loro confronti.
Fanno parte della comunità, producono dei contributi.
Secondo, si sarebbe rivelato un boomerang, perché stanno
lavorando su X assai più di quanto avremmo fatto noi. La
nostra versione sarebbe stata inferiore alla loro, la gente non
l'avrebbe usata, il che vuol dire, perché mai darsi la
pena di farlo?
Se qualcuno apporta dei miglioramenti a X, gli direi di collaborare
con il gruppo di sviluppo di X. Faglielo avere e lascia che lo
usino a modo loro. Perché stanno sviluppando un pezzo di
software libero molto importante. È positivo per noi collaborare
con loro.
Domanda: Eccetto che, considerando X in particolare, circa
due anni fa, il X Consortium era ben addentro nell'open source
non libero....
RMS: Be', in realtà non era open source. Possono
aver detto lo fosse, non ricordo se lo dissero o meno. Ma non
era open source. Era ristretto. Non lo si poteva distribuire a
livello commerciale, credo. O non se ne poteva distribuire commercialmente
una versione modificata, o qualcosa del genere. C'era una restrizione
considerata inaccettabile sia dal movimento del software libero
sia da quello open source.
E sì, ciò è quanto si rischia quando si usa
una licenza non copyleft. In effetti, il X Consortium aveva una
posizione molto rigida. Dicevano: Se una parte anche minima del
programma è sotto copyleft, non lo distribuiremo affatto.
Non lo inseriremo nella nostra distribuzione.
In tal modo molte persone vennero pressate a non usare il copyleft.
E il risultato fu che più tardi tutto il loro software
rimase aperto e disponibile. Quando le stesse persone fecero pressione
su uno sviluppatore perché troppo permissivo, allora il
gruppo di X disse: "Va bene, ora possiamo porre delle restrizioni,"
il che non era molto etico da parte loro.
Ma considerata la situazione, vogliamo veramente danneggiare le
nostre risorse per mantenere una versione alternativa di X coperta
dalla GPL? Non avrebbe alcun senso farlo. Ci sono molte altre
cose che dobbiamo fare. Occupiamoci di queste invece. Meglio collaborare
con gli sviluppatori di X.
Domanda: Puoi commentare, GNU è un marchio registrato?
Ed è pratico includerlo come parte della Licenza Generica
Pubblica che consente i marchi registrati?
RMS: In realtà stiamo per richiedere la registrazione
del marchio per GNU. Ma non ha nulla a che fare con ciò.
Sarebbe una storia lunga spiegarne il perché.
Domanda: Si potrebbe imporre di esporre il marchio nei
programmi coperti dalla GPL.
RMS: No, non credo sia possibile. Le licenze coprono programmi
singoli. E quando un programma fa parte del progetto GNU, nessuno
mente al riguardo. Il nome del sistema è una questione
completamente diversa. È una faccenda laterale. Non vale
la pena discuterne ulteriormente.
Domanda: Se potessi premere un pulsante per costringere
tutte le aziende a rendere libero il proprio software, quale pulsante
sarebbe?
RMS: Be', lo userei soltanto per il software pubblicato.
Credo che la gente abbia il diritto a scrivere programmi privati
e a farne uso. E ciò include le aziende. Questa è
una questione di privacy. È vero, possono esserci delle
volte in cui ciò sia sbagliato, come quando qualcosa è
terribilmente utile all'umanità e invece la si tiene segreta.
È sbagliato, ma è un errore di tipo diverso. Si
tratta di una faccenda diversa, pur riguardando la medesima area.
Sì, direi che tutto il software pubblicato debba essere
libero. E ricordiamolo, quando non è software libero, lo
si deve all'intervento governativo. Il governo interviene per
renderlo non libero. Il governo crea poteri giuridici speciali
da trasferire ai proprietari dei programmi, in modo che questi
possano chiamare la polizia per impedirci di usare quei programmi
in un certo modo. E con questo, direi di terminare.
Ed Schonberg: L'intervento di Richard ha creato una quantità
enorme di energia intellettuale. Vorrei suggerire che parte di
questa dovrebbe essere diretta per usare, e possibilmente per
scrivere, software libero.
Dovremmo chiudere rapidamente. Vorrei aggiungere che Richard ha
iniettato in una professione nota al pubblico generale per un'apatia
politica terminale, un livello di discussione politica e morale
che, credo, sia senza precedenti nella nostra professione. E per
questo gli dobbiamo davvero molto. [il pubblico applaude]
-------
Questa è la trascrizione di un intervento tenuto alla New
York University il 29 maggio 2001. Questa versione fa parte del
libro Free Software, Free Society: The Selected Essays
of Richard M. Stallman, GNU Press, 2002.
La copia letterale e la distribuzione di questo testo nella sua integrità sono permesse con qualsiasi mezzo, a condizione che sia mantenuta questa nota.