Perchè il software open source è software di qualità

6 Marzo 2012

Web

Indice Contenuti

Nel mio lavoro quotidiano di programmatore mi capita continuamente di sviluppare utilizzando come base software open source. Per fare solo qualche esempio, nella nostra azienda utilizziamo WordPress tra i prodotti CMS, Prestashop come framework per l’ecommerce, e molti molti altri.

La domanda che tanti si fanno, soprattutto fra i non addetti ai lavori, è: “perchè il software open source dovrebbe essere sinonimo di qualità?“; dopotutto è reso disponibile spesso in modo gratuito, per cui si potrebbe essere indotti a pensare che valga il principio largamente condiviso del “you get what you paid for”, cioè “hai ciò per cui paghi”.

Ecco, nel mondo del software questo principio non è sempre valido, e in questo articolo cercherò di spiegare perchè non lo è in particolare nel caso del software open source.

Vorrei premettere che la scelta di un software open source non è sempre la migliore per ogni progetto, vi sono casi in cui può essere più conveniente l’adozione di un software proprietario, tuttavia, che si scelga l’una o l’altra, entrambe le soluzioni sono scelte “di qualità”.

Opensource
1

Cosa si intende con software "open source"?

Open source significa letteralmente “a sorgente aperto” ovvero che il codice è a disposizione di chi utilizza il prodotto, e liberamente modificabile (con più o meno restrizioni a seconda della licenza d’uso).
2

Open source significa gratuito?

No. Il fatto che un software sia open source non significa che sia gratuito, anche se nella maggior parte dei casi in effetti è così. Su questo argomento il dibattito è ampio e meriterebbe un approfondimento a parte, se siete curiosi vi rimando a questa illuminante spiegazione “filosofica” delle differenze fra software libero e open source.

QUALITA’

Il software open source è, in una prima fase, realizzato da volontari esperti che mettono anima e corpo nel loro progetto e hanno tutto l’interesse, oltre che le competenze, a sviluppare il prodotto in maniera efficiente.
In una seconda fase, quando il codice viene reso liberamente disponibile, la collaborazione di altri sviluppatori porta a migliorare ulteriormente il prodotto, e a correggere tutti i bugs riscontrati, oltre che a migliorarne le funzionalità.

SICUREZZA

Come evidenziato nel primo punto, un software open source di successo ha alle spalle una grossa community molto attiva nell’evidenziare bugs e segnalare possibili migliorie. Questo porta a correggere eventuali falle di sicurezza in tempi spesso molto rapidi.

SUPPORTO

La community, oltre a velocizzare il processo di correzione di bachi e falle di sicurezza, è molto utile anche perché funge da supporto tecnico per chi sta utilizzando il software. Quando un utilizzatore riscontra un problema con il prodotto spesso trova risposte, in tempi ragionevoli, nei forum dedicati e in alcuni casi è lo stesso team di sviluppo che risponde ai problemi degli utenti.

La modalità di supporto offerta dipende dal modello di business utlizzato da chi rilascia il software. Un cms come wordpress per esempio non ha bisogno che il team di sviluppo si prenda la briga di rispondere ai problemi degli utenti, infatti è talmente diffuso che in internet si trovano numerosi forum o siti (oltre al sito ufficiale) in cui gli utenti chiedono aiuto e il più delle volte ricevono una risposta alle loro richieste.

In alcuni casi, le aziende rilasciano liberamente il loro software, offrendo di contro il supporto totale al cliente, su pagamento di un canone di assistenza annuale. C’è da dire che il più delle volte questa cifra è minima rispetto a quello che potrebbe essere il costo dell’acquisto da parte del cliente di un corrispondente prodotto proprietario.

COSTO

Questa è sicuramente la caratteristica più evidente: il prezzo di acquisto è il più delle volte pari a zero, oppure, nei casi in cui sia a pagamento, è relativamente bassa.

Questo aspetto non deve però ingannare: se un azienda vi propone un progetto basato su un software open source, non vuol dire che ve lo venderà a costo zero!
Significa piuttosto che non ci saranno costi iniziali di licenza (oppure saranno piuttosto bassi), e quindi il costo totale che pagate è il costo effettivo del servizio, personalizzazione grafica, adattamento delle funzionalità, ecc.

ACCESSO AL CODICE

Un altro grande vantaggio è l’accesso totale al codice sorgente: questo permette a chi lavora sul prodotto di modificare il codice adattandolo alle proprie specifiche esigenze.

In questo articolo mi sono concentrato sui vantaggi della scelta di un prodotto open source, non perché non ci siano degli svantaggi ma solo perché i primi superano secondo me di gran lunga i secondi.