Cos'è l'Open Source

Con il termine generico di Open Source ci si riferisce ad un software per il quale il codice sorgente è lasciato accessibile agli utenti e/o ad eventuali altri sviluppatori. Questa definizione è generalmente giudicata non sufficiente per catalogare un software, e più specificamente la sua licenza e la sua distribuzione, come Open Source. L’OSI (Open Source Initiative – www.opensource.org), ha stilato un decalogo, solo rispettando tutte le direttive del decalogo, un software può fregiarsi della definizione suddetta. Secondo l’OSI i termini di distribuzione di un software “Open Source” devono essere conformi ai seguenti criteri:

  • 1. Free Redistribution: il software può essere liberamente distribuito o venduto, anche come componente di un’altra distribuzione. Non devono essere richieste royalty o altre fee per le vendite o le distribuzioni.
  • 2. Source Code: il codice sorgente deve essere incluso nella distribuzione o facilmente ottenibile e nessun pagamento deve essere richiesto per ottenerlo. Non sono ammessi deliberati offuscamenti del codice, così come forme intermedie di preprocessori o traduttori.
  • 3. Derived Works: Deve essere possibile modificare il software o usarlo per la costruzione di derivati software, deve essere permessa la distribuzione dei derivati software con la stessa licenza del software originale.
  • 4. Integrity of the Author’s Source Code: la licenza può richiedere che le modifiche e i software derivati siano distribuiti come patch i primi e con un nome diverso i secondi; preservando così il lavoro originale dell’autore.
  • 5. No Discrimination Against Persons or Groups: Non è possibile limitare l’accesso al software a singole persone o gruppi di persone.
  • 6. No Discrimination Against Fields of Endeavor: Non è possibile limitare l’uso del software in determinati campi: business, ricerca, educations, etc.
  • 7. Distribution of License: I diritti offerti dalla licenza si applicano automaticamente a tutti i destinatari.
  • 8. License Must Not Be Specific to a Product: La licenza non deve essere specifica ad un Prodotto (cioè legata ad una particolare forma fisica di distribuzione).
  • 9. License Must Not Restrict Other Software: La licenza non deve porre vincoli su altro software allegato a quello licenziato (es. vincoli sui software che possono o meno essere utilizzati assieme a quello licenziato).
  • 10. License Must Be Technology-Neutral: Non devono essere richieste particolari tecnologie di accesso.

Vantaggi dell'Open Source

Indipendenza dal fornitore

Possono esistere varie ragioni strategiche e politiche per non legarsi a doppio filo ad un vendor, il quale solitamente acquisisce con il tempo una posizione dominante, essendo lui l’unico owner della tecnologia, rispetto all’utilizzatore.

In qualsiasi momento l'utente può decidere di cambiare fornitore di servizi, tutelando al 100% quanto finora sviluppato sul software Open Source.

Questo aspetto assume un significato molto importante in quanto mette nelle mani del cliente il potere di selezionare il fornitore, di non farsi condizionare da contratti e regole commerciali, di accedere a professionisti confrontando la qualità e il costo del servizio.

Anche lo svilupo di feature aggiuntive non è più legato alle disponibilità del vendor.

Interoperabilità e rispetto degli standard

Questa è una delle ragioni principali che, anche da sola, farebbe preferire l’ “Open Source” rispetto a software commerciale. Il software “Open Source” è solitamente costruito per l’interoperabilità e interlacciato ai cosiddetti “Open Standard”. Il software commerciale spesso usa standard proprietari con scopi auto-protezionistici, e solitamente la politica dei produttori di software commerciale è cercare di attrarre interoperabilità di altri sistemi verso i loro software, ma, quasi mai offrono interoperabilità ed apertura “verso” altri sistemi; inoltre alcuni produttori proteggono i loro formati con diritti di copyright e la richiesta di “fee” per il loro uso.

L’adozione di software “Open Source” e la sempre più forte attenzione verso la definizione ed il supporto anche dei cosiddetti “formati aperti”, fa si che l’investimento su software OS sia molto conveniente in termini di ciclo di vita anche a lungo termine.

Sicurezza e disponibilità del codice sorgente

La disponibilità del codice sorgente è un fattore essenziale. Non solo per la reale necessità di modificare il codice, che dovrà essere sicuramente fatta da consulenti esterni, ma per la capacità di assicurarsi che il codice non contenga codice maligno: backdoor, spyware, etc.

Qualità e affidabilità

L’ OS è solitamene un software di buona qualità e affidabilità, in molti casi superiore al software commerciale. Solitamente ha subito buoni test da parte di un nutrito gruppo di utenti che, invogliati dall’utilizzo “free” iniziano a scaricarlo, e fanno da involontari “beta-tester”, inoltre, anche gli sviluppatori di solito non hanno pressione per il rilascio delle release, e questo permette in generale di avere software di qualità migliore.

Costi e stabilità a lungo termine

La prima tangibile percezione del minore costo dell’OS si concretizza nell’annullamento del costo delle licenze, è vero che solitamente i costi di licenza incidono per circa un 20% nel cosiddetto Total Costo of Ownership (TCO), questo margine può essere usato semplicemente per abbassare i costi, ma può essere anche reinvestito per migliorare i costi di manutenzione o di training, con l’obiettivo di avere un sistema più affidabile e performante. Inoltre, bisogna considerare, che in ogni caso per grandi installazioni che prevedono un numero molto alto di licenze, tale margine del 20% può aumentare significativamente, facendo così ulteriormente incrementare il vantaggio economico del software OS rispetto ad analoga soluzione commerciale.

Una soluzione OS può essere considerata più stabile nel lungo termine, per una serie di motivi, abbiamo accennato al rispetto degli standard ed all’interoperabilità maggiore che quindi tendono a preservare un software da una precoce obsolescenza. Ma può essere anche dovuta al fatto che nessun vendor potrà mai imporre evoluzioni e migrazioni solo perché una determinata piattaforma è vecchia e non più supportata e sviluppata.

Risorse Umane

Un team di gestione di una certa soluzione installata, nel caso di piattaforme chiuse è solitamente adoperato con mansioni sistemistiche e di assicurazione della qualità. Nel caso di piattaforme OS il team dovrà evolvere come se fosse una piccola comunità che appoggia, garantisce e promuove lo sviluppo della piattaforma “Open Source”, questo può significare debbugging, scrittura di piccole parti di codice, ma anche partecipazioni a forum, etc. Questa evoluzione solitamente significa una più alta motivazione, e crescita di competenze ed esperienze.

© H2i - Via Venezia 24, 87036 Rende • P.IVA: 02645510781 • Tel.: +39 0984 1876333 • Fax: +39 0984 1711106 • e-mail: info@h2i.it
posta certificata: h2isrl@legalmail.it