Open Source, vantaggi e svantaggi del software libero

by Salvo Siragusa | giugno 1, 2012 9:31 pm

Si sente sempre più spesso parlare di Open Source, di Software Libero e spesso molti, non essendo particolarmente informati tendono a confondere questo termine con il concetto di gratuito se non addirittura, nella peggiore delle disinformazioni si confonde il concetto di libertà con quello di pirateria.
Vediamo quindi in queste righe di spiegare brevemente ed in maniera estremamente sintetica, cosa si intende per Open Source, quali sono i vantaggi e gli svantaggi dei programmi distribuiti con questa licenza e quali benefici possono apportare sia all’uso quotidiano che in un uso aziendale o all’interno di una pubblica amministrazione.

Open Source è un termine inglese che significa letteralmente “sorgente aperta” ed indica, nell’ambito informatico, un software in cui gli autori ne permettono ed anzi ne favoriscono il libero studio e l’apporto di modifiche da parte di altri programmatori indipendenti al fine di correggerne eventuali errori ed apportare ulteriori megliorie ed implementazioni. Tutto ciò viene realizzato mediante il rilascio di apposite licenze d’uso.

La più famosa licenza per sofware libero è quella comunemente indicata con l’acronimo GNU GPL (GNU General Public License) o semplicemente GPL, originariamente redatta nel 1989 da Richard Stallman per distribuire i programmi creati nell’ambito del Progetto GNU della Free Software Association. La versione 2.0 di tale licenza è attualmente la licenza di software libero per antonomasia. Contrapponendosi alle licenze per software proprietario, la GNU GPL assicura all’utente libertà di utilizzo, copia, modifica e distribuzione. La GPL ha incontrato un gran successo fra gli autori di software sin dalla sua creazione, ed è oggi la più diffusa licenza per il software libero, arrivata ormai alla versione 3.

Sono numerosi i software famosi, usati quotidianamente su milioni di computer da svariati utenti che sono rilasciati con licenza per software libero, per citarne alcuni tra i più noti possiamo indicare Firefox, LibreOffice/OpenOffice, Gimp, VLC ma non troviamo solo sotware specifici ma anche interi sistemi operativi sono “aperti” il più famoso dei quali è sicuramente GNU/Linux o anche per uscire dal mondo casalingo dei personal computer, l’ormai notissimo sistema operativo per Smartphone di Google, Android.

Ma quali sono in concreto i vantaggi di un software rilasciato con licenza GPL e tutti questi software risultano poi all’atto dell’utilizzo pratico pienamente all’altezza ed in grado di sostituire completamente le relative distribuzioni proprietarie ?

Partiamo dal dire che salvo particolarissime eccezioni identificabili sopratutto in ambienti CAD o in ambiti musicali di livello professionale i software con licenza GPL sono assolutamente in grado di competere con le relative distribuzioni proprietare ed anzi in moltissime situazioni si rivelano ampiamente superiori, prendiamo, giusto per fare un esempio il caso di Firefox, forse il browser Internet più famoso al mondo, in pochissimi anni è riuscito a dimostrarsi assolutamente più performante, più stabile ed in definitiva estremamente migliore di Internet Explorer 6 il browser che veniva fornito in bundle (a corredo) con il sistema operativo Windows, costringendo l’azienda di Redmond ad una rincorsa che solo adesso con la verione 9 del proprio browser sembra inizare a dare i primi frutti, con le prestazioni di IE9 che si possono finalmente paragonare a quelle del browser di Mozilla.

I vantaggi del software Open Source possono quindi essere riassunti in:
- basso costo di start-up
- scalabilità
- compatibilità
- aggiornamenti
- supporto
- personalizzazioni
- indipendenza da fornitori
- diffusione informatica libera ed aperta a tutti
Il basso costo di start-up si indentifica nel fatto che pur non essendo sempre gratuiti, software libero non significa infatti necessariamente gratuito, anche i software liberi possono prevedere delle royalties o un costo di acquisizione della licenza, un servizio di supporto a pagamento o magari delle sponsorizzazioni, ma comunque rendono questi costi minori rispetto all’equivalente software acquistato con licenza proprietaria, quindi nel momento in cui si debba installare una postazione di lavoro gli unici costi vivi che si dovranno affrontare sono principalmente legati all’hardware ed eventualmente, in assenza di personale adeguatamente preparato ai costi di installazione del software, il peso del costo del software stesso, incide quindi in minima parte o spesso in maniera nulla sul budget complessivo.
Il termine scalabilità, nell’ingegneria del software e in informatica, si riferisce, in termini generali, alla capacità di un sistema di “crescere” o “decrescere” (aumentare o diminuire di scala) in funzione delle necessità e delle disponibilità.
L’uso più tradizionale si riferisce alla scalabilità di carico, ovvero la capacità di un sistema di incrementare le proprie prestazioni se a tale sistema vengono fornite nuove risorse (per esempio, nel caso del software, maggiore potenza di processore o processori aggiuntivi). In parole povere un software proprietario, può con l’andare del tempo diventare obsoleto rispetto all’hardware o viceversa, a seguito di aggiornamenti un software proprietario può risultare troppo “pesante” per l’hardware che lo ospita.
Un software con il codice aperto può invece sempre essere tarato, ovviamente da personale in grado di effettuare tali modifiche, sull’hardware che si ha a disposizione, allungandone di fatto la vita operativa.
L’interscambiabilità e la compatibilità dei dati e dei formati diventa indispensabile per poter garantire il corretto scambio tra software e piattaforme diverse, diventa così più facile per l’utente finale poter disporre anche di software diversi o di poter trasferire e scambiare informazioni con una quantità maggiore di entità. Al contrario i software proprietari tendono a rendere proprietari anche i formati in uscita, per cui un particolare tipo di dato potrà essere “letto” in maniera conforme, solo da un utente che dispone dello stesso software, restringendo quindi il numero di entità con cui si possono interscambiare liberamente le informazioni.
I software con licenza GPL il più delle volte hanno la partecipazione di una folta schiera di programmatori indipendenti che costantemente ne modificano il codice sorgente ottenendo il risultato di migliorare e quindi aggiornare il proprio prodotto con una costanza ed una frequenza superiore ai software proprietari. Così come il supporto all’utente viene garantito da comunità internazionali estremamente numerose e preparate, prendiamo ad esempio alcune tra le piattaforme web più famose ed utilizzate da blogger e forum di tutto il mondo come wordpress o phpbb3, entrambe hanno comunità di supporto in grado di rispondere alle più svariate ed impreviste domande ed in grado di fornire e rilasciare, il più delle volte gratuitamente, personalizzazioni, add-on e plugin che arricchiscono notevolmente di potenzialità il software base, la qual cosa è estremamente più difficile in presenza di codici sorgenti chiusi e di sistemi proprietari, in cui anche gli eventuali add-on vengono rilasciati solo dal produttore e spesso solo a pagamento.
Ovviamente il software con licenza GPL è nella stragrande maggioranza delle volte liberamente disponibile in rete e quindi scaricabile senza dover necessariamente passare attraverso un negozio o un fornitore, liberando l’utilizzatore da qualsiasi legame con intermediari o terzi, riducendo così costi e tempi.
Ma senza dubbio, il vantaggio più grande a livello di comunità e di cittadinanza è la possibilità per tutti di poter accedere liberamente e con facilità ad un mondo in cui la circolazione delle idee, delle informazioni e dei progetti è fondamentale, contribuendo in questo modo alla creazione di una cultura informatica e digitale veramente libera, multidirezionale ed aperta, in cui l’informazione e la conoscenza non è veicolata in alcun modo ma giunge in maniera completa all’utente.

Come in tutte le cose anche con i software liberi ci sono alcuni aspetti che potremmo definire negativi:
- necessità di adeguata formazione
- maggiore difficoltà nel reperimento dei driver
- rischio maggiore che il software venga dismesso
- mancanza di un supporto vendita professionale
Mentre l’installazione e l’uso quotidiano di un programma o in maniera ancora più evidente di un intero sistema operativo proprietario, come può ad esempio essere Microsoft Windows è relativamente semplice e non richiede particolari conoscenze informatiche e tecniche da parte dell’utilizzatore è diversa la situazione se ci troviamo di fronte ad un sistema operativo con licenza GNU GPL, tutte le distribuzioni GNU/Linux, anche le più semplici e user friendly, come ad esempio Ubuntu, tendono a mettere in soggezione l’utente non preparato, diventa quindi necessario, sia in caso di utenza domestica che per un uso aziendale o nella pubblica amministrazione la presenza di personale adeguatamente formato. Probabilmente questo è dovuto, più che da una reale difficoltà al profondo radicamento culturale del “modello Windows”, modello che molte distribuzioni Linux hanno sempre più tentato di imitare al fine appunto di rendere sempre più simile l’esperienza GNU GPL con quella Windows.
Un altro problema che può nascere, anche se ormai si è estremanente ridotto il numero di casi in cui esso si manifesta è la mancanza di driver(1) in ambiente GNU GPL per determinate periferiche. Di norma infatti i produttori di stampanti, fotocamere, scanner rilasciano i driver per le proprie apparecchiature in formato proprietario e compatibile solo per il Kernel(2) di Windows rendendo quindi inutilizzabili queste periferiche in ambiente GNU GPL, fortunatamente questa pratica si va sempre più riducendo ed ormai quasi tutte le periferiche vengono rilasciate con driver compatibili per il Kernel Linux, on in subordine viene rilasciata tutta la documentazione necessaria affinchè la comunita di programmatori indipendenti possa provvedere in autonomia alla creazione di driver compatibili con il mondo GNU GPL e quindi perfettamente utilizzabili anche in ambienti GNU/Linux.
Anche il rischio che un determinato software, prodotto magari solo da un piccolo gruppo di sviluppatori e non da una vera e propria azienda possa essere dismesso è molto più concreto in ambiente GPL che non in regime di licenza proprietaria, infatti solitamente i software proprietari sono prodotti da grandi multinazionali che difficilmente abbandonano un prodotto, almeno non senza fornire una alternativa. Così come le grandi aziende che producono software proprietari sono anche in grado di garantire una adeguata copertura pre-vendita con un supporto altamente professionale in grado di suggerire adeguatamente che tipo di configurazione software è più indicata per le proprie esigenze. Questo naturalmente ha un peso ed un impatto maggiore nel caso di progetti aziendali o riguardanti la pubblica amministrazione, che nal caso in cui intendessero rivolgere il proprio sguardo verso il mondo open source, dovrebbero dotarsi al proprio interno di una figura professionale in grado si attuare le scelte più opportune ed adeguate.

In definitiva aprire le porte al mondo Open Source, specialmente in ambito aziendale o ancor di più in ambito pubblico, sia amministrativo che ad esempio scolastico porta sicuramente ad un vantaggio economico immediato in termini di costi di start-up, vantaggio mitigato dalla necessità di avere personale adeguatamente formato, un costo quest’ultimo però sicuramente ammortizzabile con facilità nel tempo, quanto appreso durante la formazione infatti resta sempre a disposizione dell’utente e noi siamo fermamente convinti che la conoscenza è valore. Gli aspetti negativi del mondo Open Source erano magari più determinanti alcuni anni fa, in particolare per quel ch riguarda le compatibilità hardware ma ormai anche queste differenze sono state limate in maniera determinante, per cui è auspicabile un sempre maggiore utilizzo del software libero. Invito tutti ed in special modo chi magari ha già un minimo di cultura informatica ad utilizzare gli strumenti di virtualizzazione come Oracle VM VirtualBox o WMware che consentono di creare macchine virtuali(3) su cui poter provare e sperimentare in tutta tranquillità nuovi sistemi operativi e nuovi programmi … ma questo è già un nuovo capitolo.

(1)
In informatica, è detto driver l’insieme di procedure, spesso scritte in assembly, che permette ad un sistema operativo di pilotare un dispositivo hardware. Il driver permette al sistema operativo di utilizzare l’hardware senza sapere come esso funzioni, ma dialogandoci attraverso un’interfaccia standard, i registri del controllore della periferica, che astrae dall’implementazione dell’hardware e che ne considera solo il funzionamento logico. In questo modo hardware diverso costruito da produttori diversi può essere utilizzato in modo intercambiabile.
Ne consegue che un driver è specifico sia dal punto di vista dell’hardware che pilota, sia dal punto di vista del sistema operativo per cui è scritto. Non è possibile utilizzare driver scritti per un sistema operativo su uno differente, perché l’interfaccia è generalmente diversa.
Il driver è scritto solitamente dal produttore del dispositivo hardware, dato che è necessaria un’approfondita conoscenza dell’hardware per poter scrivere un driver funzionante. A volte, i driver vengono scritti da terze parti sulla base della documentazione tecnica rilasciata dal produttore, se questa è disponibile.

(2)
In informatica, il kernel costituisce il nucleo di un sistema operativo. Si tratta di un software avente il compito di fornire ai processi in esecuzione sull’elaboratore un accesso sicuro e controllato all’hardware. Dato che possono esserne eseguiti simultaneamente più di uno, il kernel ha anche la responsabilità di assegnare una porzione di tempo-macchina e di accesso all’hardware a ciascun programma (multitasking).

(3)
In informatica il termine macchina virtuale (VM) indica un software che crea un ambiente virtuale che emula il comportamento di una macchina fisica ed in cui alcune applicazioni possono essere eseguite come se interagissero con tale macchina

Bibliografia:

http://it.wikipedia.org

Source URL: http://www.ilgrillodibagheria.it/blog/2012/06/open-source-vantaggi-e-svantaggi-del-software-libero/