Perché “Software Libero” è meglio di “Open Source”
Una versione aggiornata di questo articolo è disponibile con il titolo L'“Open Source” manca l'obiettivo del Software Libero. Questa vecchia versione non è altettanto valida ed è resa disponibile solo per riferimento storico.
Mentre il software libero chiamato in qualunque altro modo offrirebbe le stesse libertà, fa una grande differenza quale nome utilizziamo: parole differenti hanno significati differenti.
Nel 1998, alcuni sviluppatori di software libero hanno iniziato ad usare l'espressione “software open source” invece di “software libero” per descrivere quello che fanno. Il termine “open source” è stato rapidamente associato ad un approccio diverso, una filosofia diversa, valori diversi e perfino un criterio diverso in base al quale le licenze diventano accettabili. Il movimento del Software Libero e il movimento dell'Open Source sono oggi due movimenti diversi con diversi punti di vista e obiettivi, anche se possiamo lavorare, e in effetti lavoriamo insieme ad alcuni progetti concreti.
La differenza fondamentale tra i due movimenti sta nei loro valori, nel loro modo di guardare il mondo. Per il movimento Open Source, il fatto che il software debba essere Open Source o meno è un problema pratico, non un problema etico. Come si è espresso qualcuno, «l'Open Source è una metodologia di sviluppo; il Software Libero è un movimento di carattere sociale». Per il movimento Open Source, il software non libero è una soluzione non ottimale. Per il movimento del Software Libero, il software non libero è un problema sociale e il software libero è la soluzione.
Relazione tra il movimento del Software Libero e il movimento Open Source
Il movimento del Software Libero e quello Open Source sono come due partiti politici all'interno della comunità del Software Libero.
Negli anni '60 i gruppi radicali si sono fatti la reputazione di essere faziosi: le organizzazioni si dividevano per disaccordi sui dettagli della strategia da utilizzare e poi si odiavano reciprocamente. O per lo meno questa è l'immagine che si ha di essi, vera o falsa che sia.
La relazione tra il movimento del Software Libero e quello Open Source è semplicemente l'opposto di questa situazione. Siamo in disaccordo sui principi di base, ma siamo più o meno d'accordo sugli aspetti pratici. Perciò possiamo lavorare ed in effetti lavoriamo assieme su molti progetti specifici. Non vediamo il movimento Open Source come un nemico. Il nemico è il software proprietario.
Noi non siamo contro il movimento Open Source, ma non vogliamo essere confusi con loro. Riconosciamo che hanno contribuito alla nostra comunità, ma noi abbiamo creato questa comunità e vogliamo che si sappia. Vogliamo che quello che abbiamo realizzato sia associato con i nostri valori e la nostra filosofia, non con i loro. Vogliamo che ci sentano, non vogliamo sparire dietro ad un gruppo con punti di vista diversi. Per evitare che si pensi che facciamo parte del movimento Open Source, ci preoccupiamo di evitare di utilizzare il termine open per descrivere il software libero, o il suo contrario, closed, per parlare di software non libero.
Quindi per favore menzionate il movimento del Software Libero quando parlate del lavoro che abbiamo fatto e del software che abbiamo sviluppato, come il sistema operativo GNU/Linux.
I due termini a confronto
Il resto di questo articolo confronta i due termini “software libero” e “open source”. Spiega perché il termine “open source” non risolve i problemi, anzi di fatto ne crea alcuni.
Ambiguità
L'espressione “software libero” ha un problema di ambiguità [NdT: questo accade per la lingua inglese, dove il termine free può assumere due significati tra loro molto differenti. Nella lingua italiana questo non succede]: un significato non previsto, “software che si può avere senza spendere niente” corrisponde all'espressione altrettanto bene del significato previsto, cioè software che dà all'utente certe libertà. Abbiamo risolto questo problema pubblicando una definizione più precisa di software libero, ma questa non è la soluzione perfetta. Non può eliminare completamente il problema. Sarebbe meglio un termine corretto e non ambiguo, presupponendo che non ci siano altri problemi.
Sfortunatamente, tutte le alternative in inglese presentano problemi. Abbiamo considerato molte alternative che ci sono state suggerite, ma nessuna è così completamente “corretta” che sia una buona idea sceglierla. Tutte le soluzioni proposte per “software libero” hanno un qualche tipo simile di problema semantico, se non peggio, incluso “software open source”.
La definizione ufficiale di “software open source,” come pubblicata dalla Open Source Initiative, si avvicina molto alla nostra definizione di software libero; tuttavia, per certi aspetti è un po' più ampia, ed essi hanno accettato alcune licenze che noi consideriamo inaccettabilmente restrittive per gli utenti. Tuttavia, il significato ovvio di “software open source” è “puoi guardare il codice sorgente”. Questa è una espressione meno vigorosa di “software libero”; include il software libero, ma include anche software proprietario, come Xv e come Qt nella sua licenza originale (prima della QPL).
Questo significato ovvio di “open source” non è quello inteso dai suoi sostenitori. Il risultato è che la maggior parte delle persone fraintende quello che quei sostenitori sostengono. Ecco come lo scrittore Neal Stephenson ha definito “open source”:
Linux è software “open source” e questo significa, semplicemente, che chiunque può ottenere le copie del suo codice sorgente.
Non penso che abbia cercato deliberatamente di rifiutare o contrastare la definizione “ufficiale”. Penso che abbia semplicemente applicato le convenzioni della lingua inglese per arrivare al significato. Lo stato del Kansas ha pubblicato una definizione simile:
Utilizzare software open source (SOS). SOS è software il cui codice sorgente è disponibile liberamente e pubblicamente, anche se gli specifici accordi di licenza variano relativamente a quanto sia permesso fare con quel codice.
Ovviamente, chi si occupa di open source ha cercato di affrontare questo problema pubblicando una definizione precisa del termine, proprio come abbiamo fatto noi per “software libero”.
Ma la spiegazione di “software libero” è semplice: chi ha capito il concetto di “libertà di parola, non birra gratis” non sbaglierà più. [NdT: in inglese, free speech, not free beer mette sinteticamente in contrasto i due significati della parola free] Non c'è un modo più breve per spiegare il significato di “open source” e indicare chiaramente perché la definizione ovvia è quella sbagliata.
Paura della Libertà
Il principale argomento a favore dell'espressione “software open source” è che “software libero” può far sentire a disagio. Ed è vero: parlare di libertà, di problemi etici, di responsabilità così come di convenienza è chiedere di pensare a cose che potrebbero essere ignorate. Questo può causare imbarazzo ed alcune persone possono rifiutare l'idea di farlo. Questo non vuol dire che la società starebbe meglio se smettessimo di parlare di questi argomenti.
Anni fa, gli sviluppatori di software libero si accorsero di queste reazioni di disagio ed iniziarono a cercare una soluzione a questo problema. Pensarono che mettendo in secondo piano l'etica e la libertà e parlando piuttosto dei benefici pratici immediati di qualche software libero, sarebbero stati in grado di “vendere” il software più efficacemente ad una determinata utenza, in particolar modo alle aziende. Il termine “open source” viene offerto come un modo per venderne di più, un modo per essere “più accettabili alle aziende”. Il punto di vista ed i valori del movimento Open Source derivano da questa decisione.
Questo approccio al problema ha dimostrato di funzionare, alle sue condizioni. Oggi molte persone passano al software libero per ragioni puramente pratiche. Questa è una buona cosa, di per sé, ma non è tutto quello che dobbiamo fare! Non basta attirare gli utenti verso il software libero: questo è solo il primo passo.
Prima o poi questi utenti saranno invitati ad utilizzare nuovamente software proprietario per alcuni vantaggi pratici. Un enorme numero di aziende cerca di offrire questa tentazione, e perché gli utenti dovrebbero rifiutare? Solo se hanno imparato a valorizzare la libertà che viene offerta loro dal software libero di per sé. Tocca a noi diffondere quest'idea e per farlo, dobbiamo parlare di libertà. Una parte dell'approccio “teniamole tranquille” nei confronti delle aziende può essere utile per la comunità, ma dobbiamo comunque parlare molto di libertà.
Attualmente, è molto diffuso l'approccio “teniamole tranquille”, ma non si parla abbastanza della libertà. La maggior parte delle persone coinvolte nel software libero parla molto poco della libertà, di solito perché cerca di essere “più accettabile per le aziende”. I distributori di software sono quelli che più seguono questa regola. Alcune distribuzioni del sistema operativo GNU/Linux aggiungono pacchetti di software proprietario al sistema libero di base e invitano gli utenti a considerarlo un vantaggio, invece che un passo indietro rispetto alla libertà.
Non riusciamo a rimanere alla pari rispetto all'afflusso di utenti di software libero, non riusciamo ad insegnare alle persone cosa siano queste libertà e cosa sia la nostra comunità man mano che vi entrano. Questo è il motivo per cui software non libero (come lo era Qt all'inizio) e le distribuzioni di sistemi operativi parzialmente non liberi, trovano un terreno così fertile. Smettere di utilizzare la parola “libero” adesso sarebbe un errore. Abbiamo bisogno che si parli di più, e non di meno, di libertà.
Che coloro che usano il termine “open source” portino più utenti alla nostra comunità è senz'altro un contributo, ma significa che dobbiamo impegnarci ancora di più per portare il problema della libertà all'attenzione di quegli utenti. Dobbiamo dire «è software libero e ti dà libertà!» sempre di più e più forte che mai.
Un marchio registrato può aiutare?
I sostenitori del “software open source” hanno tentato di rendere questo un marchio registrato, pensando di poter così prevenire utilizzi scorretti. Il tentativo è stato in seguito lasciato cadere, perché il termine era troppo descrittivo per poterlo registrare;quindi lo status legale di “open source” è lo stesso di quello del “software libero”: non esiste nessuna restrizione legale per il suo utilizzo. Ho sentito, talvolta di persona, molte aziende chiamare “open source” i loro pacchetti software anche se questi non rientravano, per le loro caratteristiche, nella definizione ufficiale.
Ma avrebbe davvero fatto questa grande differenza usare un termine che fosse un marchio registrato? Non necessariamente.
Le aziende inoltre hanno fatto annunci che danno l'impressione che un programma sia “software open source” senza dirlo esplicitamente. Ad esempio, un annuncio di IBM riguardo ad un programma che non rientrava nella definizione ufficiale diceva questo:
Come è comune fare nella comunità open source, gli utenti della tecnologia [...] saranno inoltre in grado di collaborare con IBM...
Questa frase non dice che il programma è “open source”, ma molti lettori non hanno notato quel dettaglio. (Devo comunque far notare che IBM era sinceramente interessata a rendere questo programma software libero e ha successivamente adottato una nuova licenza che lo rendeva tale e “open source”. Ma quando questo annuncio è stato fatto, il programma non si qualificava come nessuno dei due.)
Ed ecco come Cygnus Solutions, che fu creata come azienda di software libero e successivamente estese la sua attività (per così dire) al software proprietario, pubblicizzava alcuni prodotti software proprietari:
Cygnus Solution è una azienda leader nel mercato open source e ha appena lanciato due prodotti sul mercato [GNU/]Linux.
Diversamente da IBM, Cygnus non stava tentando di rendere questi pacchetti software libero e questi pacchetti non si avvicinavano minimamente a poter essere definiti tali. Ma Cygnus non ha in realtà detto che questo è “software open source”, ha soltanto utilizzato questo termine per dare quest'impressione ad un lettore poco attento.
Queste osservazioni suggeriscono che un marchio registrato non avrebbe risolto sul serio i problemi legati al termine “open source”.
Errate(?) interpretazioni di “open source”
La definizione di open source è abbastanza chiara ed è abbastanza chiaro che il tipico programma non libero non rientra in questa definizione. Quindi penserete che una “azienda Open Source” produca software libero (o qualcosa del genere), giusto? Non sempre è vero, molte aziende stanno anche cercando di dargli un differente significato.
All'incontro Open Source Developers Day svoltosi nell'agosto 1998, molti degli sviluppatori commerciali invitati dissero che erano intenzionati a creare come software libero (o “open source”) solo una parte del loro lavoro. Il fulcro del loro business è lo sviluppo di aggiunte proprietarie (software o documentazione) da vendere agli utenti di questo software libero. Ci chiedono di considerarlo come legittimo, come parte della nostra comunità, poiché parte del denaro viene donato per lo sviluppo di software libero.
In effetti, queste aziende tentano di guadagnare una favorevole immagine “open source” per i loro prodotti software proprietari, anche se questi non sono software “open source”, poiché hanno una qualche relazione con il software libero o perché la stessa azienda mantiene anche un qualche software libero. (Il fondatore di una azienda ha esplicitamente detto che avrebbero messo, nei pacchetti di software libero da loro supportati, un po' del loro lavoro per poter far parte della comunità.)
Negli anni, molte aziende hanno contribuito allo sviluppo del software libero. Alcune di queste aziende sviluppavano principalmente software non libero, ma le due attività erano separate. Per questo potevamo ignorare i loro prodotti non liberi e lavorare con loro sui progetti di software libero. Quindi potevamo poi onestamente ringraziarli per i loro contributi al software libero, senza parlare degli altri prodotti che portavano avanti.
Non possiamo fare altrettanto con queste nuove aziende, poiché loro non lo accetterebbero. Queste aziende cercano attivamente di portare il pubblico a considerare senza distinzione tutte le loro attività. Vogliono che noi consideriamo il loro software non libero come se fosse un vero contributo, anche se non lo è. Si presentano come “aziende open source” sperando che la cosa ci interessi, che le renda attraenti ai nostri occhi e che ci porti ad accettarle.
Questa pratica di manipolazione non sarebbe meno pericolosa se fatta utilizzando il termine “software libero”. Ma le aziende non sembrano utilizzare il termine “software libero” in questo modo. Probabilmente la sua associazione con l'idealismo lo rende non adatto allo scopo. Il termine “open source” ha così aperto tutte le porte.
In una fiera alla fine del 1998, dedicata al sistema operativo spesso chiamato “Linux”, il relatore di turno era un alto dirigente di una importante azienda di software. Era stato probabilmente invitato poiché la sua azienda aveva deciso di “supportare” questo sistema. Sfortunatamente, la forma di “supporto” consisteva nel rilasciare software non libero che funziona con il sistema – in altre parole, utilizzava la nostra comunità come un mercato ma non vi contribuiva affatto.
Disse: «Non renderemo mai il nostro prodotto open source, ma forse lo renderemo tale internamente. Se permetteremo al nostro staff di supporto ai clienti di avere accesso al codice sorgente, potrà risolvere gli errori per i clienti e potremo quindi fornire un prodotto e un servizio migliori». (Questa non è la trascrizione esatta del discorso, poiché non me lo ero trascritto, ma rende comunque l'idea).
Alcune persone tra il pubblico mi dissero successivamente: «Non ha capito il senso del nostro lavoro». Era vero? Quale senso non aveva colto?
In realtà aveva colto il significato del movimento Open source. Questo movimento non dice che gli utenti dovrebbero avere libertà, dice solo che permettendo a più persone di guardare il codice sorgente e di aiutare a migliorarlo, consentirà uno sviluppo più veloce e migliore. Il dirigente ha colto perfettamente quel significato: non ha voluto utilizzare questo approccio nella sua interezza, utenti inclusi, pensando di utilizzarlo parzialmente all'interno della sua azienda.
Il significato che non ha colto è quello che l'“open source” ha progettato di tacere: cioè che l'utente merita la libertà.
Diffondere l'idea della libertà è un lavoro difficile: ha bisogno del vostro aiuto. Per questo il progetto GNU rimarrà legato al significato di “software libero”, per aiutare a diffondere l'idea di libertà. Se sentite che libertà e comunità sono importanti in quanto tali, non soltanto per la convenienza implicita in esse, unitevi a noi nell'utilizzare il termine “software libero”.
Nota
Un articolo sulle motivazioni degli sviluppatori di software libero di Lakhani e Wolf dice che una parte significativa di essi è motivata dalla visione che il software dovrebbe essere libero. Questo nonostante il fatto che il sondaggio fosse fatto sugli sviluppatori iscritti a SourceForge, un sito che non supporta la visione etica del software libero.
Questo testo è stato pubblicato in Free Software, Free Society: The Selected Essays of Richard M. Stallman.