A volte il software libero non è (nei fatti) superiore
di Benjamin Mako HillLa missione aziendale dell'Open Source Initiative (l'organizzazione dietro il movimento open source) afferma: «L'open source è un metodo di sviluppo del software che sfrutta le potenzialità di un sistema di revisione paritaria distribuito con processi di sviluppo trasparenti. L'open source si prefigge come obiettivo quello di offrire migliore qualità, maggiore affidabilità, più elevata flessibilità, minor costo e minor dipendenza dai singoli fornitori».
La Free Software Foundation si oppone da oltre un decennio a questa caratterizzazione “open source” del software libero. I sostenitori del software libero affermano che questa definizione dell'“open source” sia un tentativo esplicito di sottovalutare il messaggio fondamentale di libertà e di oscurare il ruolo del movimento evidenziando il successo e le qualità del software sviluppato. A nostro avviso l'“open source” può risultare negativo in quanto allontana le persone dalla questione principale: la libertà del software. Un'altra ragione per la quale dovremmo mostrarci cauti di fronte al modo in cui l'open source viene inquadrato è rappresentata proprio dal fatto che la sua definizione non sempre è corretta.
Nonostante l'OSI dichiari che «[...] l'open source promette migliore qualità, maggiore affidabilità e più elevata flessibilità [...]», non sempre questa promessa viene mantenuta. Noi spesso non ce ne accorgiamo, ma qualsiasi utente di un progetto di software libero in fase di avvio potrebbe provare come in realtà quest'ultimo, in termini pratici, non sia di facile utilizzo come i suoi concorrenti proprietari. A volte, infatti, risulta inaffidabile. Altre volte poco flessibile. Se si volessero prendere sul serio gli argomenti dichiarati a favore dell'open source, bisognerebbe anche spiegare come mai quest'ultimo non sia all'altezza delle “promesse” fatte, ammettendo quindi che gli strumenti proprietari rappresentano invece una scelta migliore. Non esiste ragione per la quale dovremmo fare l'una o l'altra cosa.
Richard Stallman si esprime a riguardo nel suo articolo Perché l'“Open Source” manca l'obiettivo del Software Libero dove afferma che «L'idea dell'open source è quella che permettere agli utenti di apportare modifiche al software e di ridistribuirlo renderà il software più potente e più affidabile. Ma questo non è garantito. Gli sviluppatori del software proprietario non sono necessariamente degli incompetenti e a volte producono dei programmi che sono potenti ed affidabili, anche se non rispettano le libertà degli utenti».
Per l'open source, la bassa qualità del software è un problema giustificabile, ma anche una ragione per tenersene lontani. Per il software libero, invece, è un problema su cui lavorare. Per i sostenitori del software libero, i bug e le opzioni mancanti non rappresentano mai un motivo di vergogna. Ogni software libero che rispetti la libertà degli utenti guadagna un vantaggio sul competitore proprietario che non rispetta tale diritto. Pur presentando dei problemi, al software libero rimane sempre la libertà.
Per realizzare un software, da un punto si deve pur iniziare. Per questo motivo un nuovo programma, ad esempio, avrà poche probabilità di possedere tante funzionalità quante ne possiede la più nota controparte proprietaria. I progetti vengono avviati spesso con molti bug, ma migliorati col tempo. Mentre i sostenitori dell'open source potrebbero dissentire a tal proposito affermando che un progetto è fatto per accrescere la propria utilità grazie al tempo e a un po' di fortuna, i progetti di software libero rappresentano invece dei contribuiti importanti alla causa del software libero. Ogni software che permette ai propri utenti il controllo tecnologico rappresenta inequivocabilmente un passo in avanti. La qualità resa nel tempo, in questo caso, è il tocco finale.
E' da ritenersi anche scandaloso che il processo di sviluppo di revisione paritaria distribuito e collaborativo, al centro della definizione dell'open source, non sia rispecchiato dalla realtà dello sviluppo software nella maggior parte dei progetti che operano sotto licenze libere (o “open source”).
Molti studi accademici sui siti che ospitano software libero SourceForge e Savannah hanno dimostrato ciò che gli sviluppatori che hanno messo a disposizione online il proprio codice sorgente già conoscono. La maggior parte dei progetti di software libero non sono particolarmente collaborativi. Sapete qual è il numero medio di collaboratori a un progetto di software libero su SourceForge? Uno. Un solo e unico sviluppatore. I progetti SourceForge al 95esimo percentile per dimensioni partecipante contano solo cinque collaboratori. Più della metà di questi progetti di software libero – e persino molti progetti che vantano numerosi rilasci di successo e contano moltissimi download, sono frutto del lavoro di un solo sviluppatore e di un minimo aiuto esterno.
Enfatizzando i vantaggi dello sviluppo collaborativo e della “revisione paritaria distribuita”, l'open source non argomenta sufficientemente perché si dovrebbe usare software libero o contribuire ad esso. I vantaggi dichiarati dalla collaborazione non possono essere realizzati laddove non esiste collaborazione e la stragrande maggioranza dei progetti di sviluppo libero non offrono un vantaggio tecnico rispetto al concorrente proprietario.
Per i sostenitori del software libero, questi stessi progetti sono visti come traguardi importanti. Ogni programma libero rispetta la libertà dei propri utenti, ed i sostenitori della libertà del software credono fermamente che questa caratteristica rappresenti un vantaggio etico rispetto ai concorrenti proprietari – anche dal punto di vista funzionale. Enfatizzando i vantaggi in termini di libertà rispetto a quelli pratici, la causa a sostegno del software libero è radicata in una realtà tecnica che spesso non interessa invece l'open source. Quando il software libero risulta migliore, dobbiamo esultare, ma quando ciò non accade la critica non andrebbe interpretata come un attacco alla causa del software libero o addirittura un motivo convincente per evitare l'uso del software in questione.
I sostenitori dell'open source devono difendere la propria tesi, secondo la quale, i programmi sviluppati liberamente dovrebbero essere o saranno, col tempo, migliori di quelli proprietari. Tuttavia, dovrebbero chiedersi anche: «Come si può migliorare il software libero?». Nel contesto del software libero, l'alta qualità è il mezzo per raggiungere un fine, non il fine in sé. Gli sviluppatori di software libero dovrebbero prodigarsi affinché i programmi siano funzionali, flessibili e utili agli utenti. Tuttavia, questo non è l'unico modo per avvicinarsi alla soluzione di un problema più facile ma anche più importante: quello di rispettare e proteggere la libertà degli utenti.
Ovviamente non c'è bisogno di rigettare le tesi secondo le quali la collaborazione giochi un ruolo importante nella creazione di software di alta qualità. Per molti dei più riusciti progetti di software libero, è stata indubbiamente questa la chiave del successo. I vantaggi apportati dalla collaborazione diventano qualcosa da comprendere, appoggiare, e raggiungere e non qualcosa da dare per scontato rifiutando dati di fatto solo perché non si conformano all'ideologia.