lunedì 31 marzo 2014

Open Source non vuol dire Free o Gratis

Si leggono spesso notizie tipo "l'università non ha più fondi e sceglie programmi open source", "nella pubblica amministrazione arriva l'open source", "l'open source azzera i costi", ecc., tutte affermazioni che tendono a far credere che Open Source significhi risparmio economico e basta, cosa di fatto sbagliata o quantomeno incompleta.

Per certe tipologie di software, ad esempio programmi Office, il principio opensource=gratis può essere considerata vero in assoluto. Quando si decide di usare OpenOffice o LibreOffice sul proprio PC, a ben pochi importa se si può vedere il codice o se si può entrare nella community per partecipare allo sviluppo, alla maggioranza interessa solo che sia funzionale e gratis.

Le cose possono cambiare per i software aziendali, applicativi in grado di gestire processi e funzionalità server all'interno di uno scenario IT più complesso.

Image courtesy of cuteimage / FreeDigitalPhotos.net

Open Source e scelte enterprise

Si fa molta confusione.
Associare il termine Open Source (codice sorgente aperto) al fatto che un software sia Libero e Gratuito è un errore in quanto non è sempre vero che le cose vadano insieme. 
Avere a disposizione il codice sorgente di una applicazione informatica non è detto che ne autorizzi l'utilizzo gratuito in qualsiasi circostanza oppure la ridistribuzione libera.

Bisogna anche smontare l'assioma che software Free significhi sempre risparmiare. Come già detto, sicuramente è così per i programmi da PC, ma non sempre la cosa vale per le applicazioni aziendali.
Infatti, oltre ai costi di licenza vanno considerati anche quelli accessori per i servizi professionali necessari alla installazione, integrazione e manutenzione evolutiva del sistema.
Può essere una brutta sorpresa selezionare un applicazione open source e free per poi accorgersi successivamente che bisogna pagare una società software integrator per personalizzarlo e metterlo in funzione, mentre magari acquistando un prodotto di mercato si riesce ad ottenere l'assistenza ed il supporto necessario del software vendor.

In molti casi, se si va ad approfondire soprattutto quando si parla di sistemi operativi, databases e application servers ed in generale di BSS (Business Support System), non si riesce più a distinguere fino in fondo le differenze che un cliente ha scegliendo tra open e non open:

  • i proprietari sono gli stessi, 
  • il supporto e la garanzia a cui una azienda non può rinunciare sono a pagamento, 
  • la community di sviluppatori è affiancata da una corporate (vendor/integrator) che certifica e propone ai clienti il prodotto con una normale azione commerciale B2B.

Anche sul piano tecnico ormai le cose non sono più così in antitesi, infatti dietro a quasi tutte le community più affidabili e conosciute ci sono da tempo i soliti colossi che ne utilizzano il lavoro (librerie, framework, ecc.) anche per includerlo embeddeb nelle loro proposte commerciali di punta.

Un altro errore è credere che un software proprietario o di mercato sia sempre a pagamento:

  • i programmi detti freeware e shareware sono concessi gratuitamente dal software vendor; 
  • nel caso di applicazioni di tipo enterprise, quando lo scopo commerciale è vendere servizi professionali a corredo del prodotto, il software vendor può anche decidere di concedere gratuitamente al proprio cliente la licenza d'uso ed addirittura su richiesta includere nel contratto il codice sorgente per evitare il vendor lock-in (dipendenza da un fornitore).

A livello aziendale quindi, la valutazione sulla opportunità di scegliere una soluzione applicativa Open Source rispetto ad una di mercato non può essere basata solo sugli aspetti economici, ma deve considerare i seguenti parametri:

  • la qualità: le soluzioni open source hanno ormai raggiunto standard elevati (chiaramente vanno valutate caso per caso) e dettano sicuramente i trend informatici anche rispetto alle soluzioni proprietarie;
  • il livello di maturità: l'affidabilità e la stabilità della piattaforma/framework;
  • la roadmap evolutiva:  la capacità della community di sviluppatori di migliorare la piattaforma e farla evolvere in futuro (evoluzione funzionale, compatibilità con nuovi sw di base, protocolli e configurazioni hw);
  • il supporto ed il livello di assistenza (SLA - Service Level Agreement) che possono garantire la community o la corporate parallela;
  • i costi accessori necessari per i servizi professionali per: 
    • integrazione inziale nel contesto progettuale;
    • per le future evoluzioni;
    • per il supporto tecnico e la garanzia.


Licensing

Le combinazioni possibili sull'utilizzo di un software sono moltissime, alla base di tutto c'è il licensing, cioè le condizioni con cui il proprietario o detentore dei diritti d'autore ne regola l'utilizzo definendo il regime giuridico di circolazione e le eventuali limitazioni.

Una licenza software è di fatto un contratto d'uso che può essere sottoscritto in maniera esplicita, ad esempio se si acquista un programma con un normale contratto, oppure implicita, accettata cioè nel momento in cui si effettua il download o l'installazione dopo averne letto le condizioni (ma chi lo fa ?).

Esistono diverse licenze di riferimento a cui ogni software può essere associato, tuttavia ciascun proprietario può di fatto personalizzarla un po' come vuole.

Per avere una visione più chiara riguardo alle tipologie di software e relative licenze, consiglio di dare un'occhiata qui:  https://www.gnu.org/philosophy/categories.it.html .


Image courtesy of Stuart Miles / FreeDigitalPhotos.net