Software libero pensiero libero/Volume I/Parte seconda/Copyleft: idealismo pragmatico
Questo testo è completo. |
Traduzione dall'inglese di Bernardo Parrella (2003)
◄ | Parte seconda - Cos'è il copyleft? | Parte seconda - Il pericolo dei brevetti sul software | ► |
Copyleft: idealismo pragmatico
Ogni decisione presa nella vita emerge dai valori e dagli obiettivi personali. Questi possono variare da individuo a individuo; la fama, il denaro, l'amore, la sopravvivenza, il divertimento e la libertà sono soltanto alcuni degli obiettivi perseguiti da una brava persona. Quando l'obiettivo è quello di aiutare tanto gli altri quanto se stessi, lo si definisce idealismo.
La mia attività nel campo del software libero è motivata da uno scopo idealistico: diffondere libertà e collaborazione. Voglio stimolare la diffusione del software libero, sostituendo il software proprietario che vieta la cooperazione, per contribuire così al miglioramento della società.
Questa la motivazione centrale per cui la GNU General Public License (Licenza Generica Pubblica) -- il copyleft. (Quest'ultimo è anche noto come permesso d'autore, mentre il copyright è il diritto d'autore). Tutto il codice aggiunto a un programma coperto dalla GPL deve essere software libero, anche se incluso in un file a parte. Rendo disponibile il mio codice affinché venga utilizzato nel software libero, e non nel software proprietario, in modo da incoraggiare altri programmatori a fare altrettanto.
La mia posizione è che, se gli sviluppatori di software proprietario ricorrono al copyright per impedirci di condividere i programmi, noi che preferiamo cooperare possiamo usare il copyright per offrire a ulteriori collaboratori un vantaggio particolare: diamo loro il permesso di utilizzare il nostro codice.
Non tutti coloro che usano la GNU GPL puntano a un simile obiettivo. Molti anni fa, a un amico venne chiesto di ridistribuire un programma già coperto da copyleft sotto termini non-copyleft, e la sua risposta fu più o meno questa:
Talvolta mi occupo di software libero, altre volte di software proprietario -- ma in quest'ultimo caso, mi aspetto di essere retribuito.
Era disposto a spartire il proprio lavoro con una comunità che condivide il software, ma non vedeva alcun motivo di fare lo stesso con un'azienda i cui prodotti avrebbero escluso tale comunità. Pur perseguendo uno scopo diverso dal mio, riconobbe l'utilità della GNU GPL per il raggiungimento dei suoi obiettivi.
Per ottenere qualcosa al mondo, l'idealismo da solo non è sufficiente -- occorre scegliere un metodo che ci consenta di raggiungere lo scopo prefisso. In altri termini, bisogna essere "pragmatici". La GPL è pragmatica? Diamo un'occhiata ai suoi risultati:
Prendiamo il compilatore GNU C++. Perché esiste un compilatore C++ libero? Soltanto perché ciò viene stabilito dalla GNU GPL. GNU C++ è stato sviluppato da un consorzio industriale, la MCC, partendo dal compilatore GNU C.
Normalmente la MCC realizza prodotti quanto più proprietari possibile. Ma hanno distribuito il front end C++ come software libero, poiché secondo la GNU GPL questo era l'unico modo per poterlo distribuire. Il front end C++ comprendeva parecchi nuovi file, ma poiché erano stati progettati per essere collegati con GCC, anch'essi dovevano aderire alla GPL. Il beneficio per la nostra comunità è evidente.
Passiamo a GNU Objective C. Inizialmente NeXT (sistema operativo creato da Steve Jobs, successivamente acquistato dalla Apple) voleva farne un front end proprietario; proposero di distribuirlo come file .o, lasciando agli utenti la possibilità di collegarlo con il resto di GCC, ritenendo così di poter aggirare i requisiti della GPL.
Ma secondo il nostro avvocato, ciò non avrebbe potuto eludere tali requisiti e non era consentito farlo. E così distribuirono il front end Objective C come software libero. Questi esempi si riferiscono a diversi anni fa, ma la GNU GPL continua a portarci sempre più software libero.
Molte delle librerie GNU rientrano sotto la GNU Library General Public License (Licenza Pubblica Generica GNU per le Librerie), ma non per tutte è così. Una di queste librerie coperta dalla GNU GPL ordinaria è Readline, la quale implementa l'editing a linea di comando. Una volta ho scoperto un programma non libero che prevedeva l'utilizzo di Redline, e dissi all'autore che si trattava di un uso non consentito. Egli avrebbe potuto eliminare dal programma soltanto le funzionalità dell'editing a linea di comando, ma in realtà decise di ridistribuirlo sotto la GPL. Ora è un programma di software libero.
Non di rado i programmatori che mettono a punto dei miglioramenti a GCC (oppure a Emacs, Bash, Linux, o qualsiasi altro programma coperto dalla GPL) lavorano presso qualche azienda o università. Quando costoro vogliono ridistribuire quelle migliorie alla comunità e vedere il proprio codice incluso nella versione del programma, il datore di lavoro potrebbe dire:
Fermo lì -- quel codice ci appartiene! Non vogliamo condividerlo con altri; abbiamo deciso di trasformare la tua versione migliorata in un prodotto di software proprietario.
È qui che arriva in soccorso la GNU GPL. Il programmatore chiarisce al datore di lavoro che un simile prodotto di software proprietario costituirebbe una violazione del copyright, e costui comprende di trovarsi davanti a due sole possibilità: distribuire il nuovo codice come software libero oppure non distribuirlo affatto. Quasi sempre al programmatore ottiene carta bianca, e il codice viene inserito nella versione successiva del programma.
La GNU GPL non è sempre accondiscendente. Dice "no" ad alcune delle cose che talvolta si vogliono fare. Secondo alcuni utenti, ciò sarebbe un elemento negativo -- la GPL "esclude" degli sviluppatori di software proprietario che invece "occorre portare nella comunità del software libero".
Ma non siamo noi a escluderli dalla nostra comunità; sono loro che scelgono di non entrarvi. La decisione di produrre software proprietario significa scegliere di starne fuori. Farne parte vuol dire unirsi contribuire al lavoro collettivo; non possiamo "portarli nella comunità" se non vogliono unirsi a noi.
Quel che possiamo fare è offrire loro un incentivo a farne parte. La GNU GPL è progettata in modo da fornire loro un incentivo sulla base del software preesistente: "Se rendete libero il vostro software, potrete usare questo codice." Naturalmente ciò non basta per convincere tutti, ma talvolta funziona.
Lo sviluppo di software proprietario non porta benefici alla nostra comunità, ma non di rado quei programmatori ci chiedono di passar loro qualcosa. Gli utenti di software libero possono dare qualche soddisfazione all'ego personale di quanti sviluppano software libero -- riconoscenza e gratitudine -- ma la tentazione è molto forte quando un'azienda ti dice:
Basta che tu ci consenta di includere il tuo pacchetto nel nostro programma di software proprietario, e questo verrà utilizzato da migliaia e migliaia di persone!
La tentazione potrebbe essere davvero forte, ma a lungo termine è meglio per tutti riuscire a resistere. È più difficile riconoscere le lusinghe e le pressioni quando queste arrivano in maniera indiretta, tramite organizzazioni di software libero che hanno adottato politiche favorevoli al software proprietario. Ne offrono un esempio l'X Consortium (e il suo successore, l'Open Group): finanziati da produttori di software proprietario, per un decennio hanno cercato di convincere i programmatori a non usare il copyleft. Ora che l'Open Group ha distribuito X11R6.4 come software non-libero, quelli tra noi che hanno resistito sono contenti di averlo fatto.
(Nel settembre 1998, diversi mesi dopo il rilascio di X11R6.4 con termini di distribuzione non liberi, l'Open Group ha fatto marcia indietro, decidendo di ri-rilasciarlo sotto la medesima licenza di software libero, priva del copyleft, usata per il precedente X11R6.3. Ringrazio l'Open Group, ma il tardivo ripensamento non invalida le nostre conclusioni sul fatto che fosse effettivamente possibile aggiungere quelle restrizioni.)
A livello pragmatico, pensare agli obiettivi a più lungo termine rafforzerà la capacità di resistenza contro simili pressioni. Concentrando l'attenzione sulla libertà e sulla comunità che si può costruire rimanendo fermi sulle proprie posizioni, si rinsalda la volontà di farcela. "Battiti per qualcosa o soccomberai per un nonnulla."
E se i cinici mettono in ridicolo la libertà e la comunità... se i "realisti più intransigenti" sostengono che l'unico ideale possibile è il profitto... basta ignorarli, e continuare a usare il copyleft.