Skip to content

I vantaggi dell’open source

Nel 2001, Steve Ballmer, allora CEO di Microsoft, definì così Linux: “È un cancro, dal punto di vista delle proprietà intellettuali, che si attacca a tutto ciò che tocca1.

Di recente invece, Brad Smith, attuale presidente della società, ha riconosciuto l’errore commesso dichiarando: “Microsoft era dalla parte sbagliata della storia quando l’open source è esploso all’inizio del secolo2.

Queste non sono solo parole. Oggi infatti la società di Redmond rappresenta uno dei maggiori finanziatori dell’open source, e uno dei maggiori sostenitori di Linux.

Il modello open source ha vinto.  Ma perché e meglio usare software open source? Lo spieghiamo in questo breve articolo.

Che si tratti di imprese private, istituzioni pubbliche, famiglie, privati cittadini, i motivi che favoriscono la scelta di software open source (Open Source Software, anche OSS) sono molti, e traggono origine da una radice comune: la libertà. Qui, si è scelto di concentrare l’attenzione solo su alcuni di questi vantaggi (flessibilità, risparmio, trasparenza, velocità) senza omettere però anche gli svantaggi e i rischi.

I vantaggi dell’open source

Flessibilità

La flessibilità è la capacità di potersi modificare e adattare a situazioni o condizioni diverse e, in caso dell’open source, tale capacità si realizza grazie alla disponibilità del codice sorgente e alla licenza che lo accompagna, che concede, in linea generale, la libertà di usare il software per qualunque scopo, di condividerlo e modificarlo per adattarlo ai propri bisogni 3.

L’open source offre la massima flessibilità rispetto a qualsiasi alternativa di software commerciale. Chi sceglie di adottare un software open source, non rimane mai bloccato ad un fornitore (vendor-lockin) e ai suoi modelli di business ed è quindi indipendente da esso, da qualunque scelta tecnica, legale e commerciale il fornitore voglia prendere (e.g. un aumento dei prezzi) e dalle sue sorti (e.g. cessazione dell’attività).

La piena disponibilità del codice sorgente e la libertà di poterlo utilizzare per qualunque scopo, rende libero l’utilizzatore dai vincoli imposti dalle strategie commerciali del fornitore, quali ad esempio limiti sul numero di utenti, di processori o qualsiasi altro fattore di ridimensionamento che potrebbe influire sul prezzo di un software proprietario o limitarne il suo uso.

Risparmio

L’uso di software open source può ridurre significativamente sia i costi CapEx (Capital Expenditure, spesa in conto capitale) che OpEx (Operating Expenditure, spesa operativa) in numerosi modi.

I primo luogo, l’utilizzo del software non prevede quasi mai il pagamento di licenze, riducendo al minimo, o addirittura eliminando del tutto i costi OpEx.

Le fasi che portano alla realizzazione del software (analysis, design, coding, testing, deployment) e le attività di manutenzione non comportano costi per gli utilizzatori, perché sono portate avanti da una comunità di sviluppatori volontari, o comunque finanziati o retribuiti da enti, organizzazioni e fondazioni (e.g. Apache Software Foundation, Free Software Foundation, Mozilla Foundation, Linux Foundation).

Anche l’assistenza, quando non si vuole sottoscrivere un supporto enterprise (e.g. Red Hat), può essere fornita da una comunità di persone impegnate nel fornirsi reciproco aiuto, solitamente tramite chat, user groups, newsgroups, mailing lists, community events,  forum.

Anche la documentazione è disponibile gratuitamente e sotto licenza che ne permette la modifica e ridistribuzione, in vari formati, i più comuni dei quali sono man pages, web pages, PDF.

Sebbene sia spesso gratuito però, il software open, resta comunque un software concesso in licenza, con termini specifici da rispettare e requisiti di conformità.

Trasparenza

Solo quando si dispone del codice sorgente di un software, si può veramente sapere “cosa fa”, quali dati tratta e in che modo. Non ci sono più segreti, né dubbi, né incertezze. Potremmo non essere in grado di leggere e capire il codice, va bene, ma si tratterebbe allora di una competenza che manca all’osservatore, il concetto di trasparenza del software rimarrebbe inalterato.

Nel mondo open source, inoltre, la trasparenza non si trova solo nel software, ma anche nel suo processo di produzione. Nella quasi totalità dei casi infatti, lo sviluppo e il mantenimento del software avvengono per mezzo di una comunità aperta che si auto organizza secondo regole chiare e condivise. Si sa cosa avviene durante lo sviluppo del software, al quale si può contribuire, oppure solo assistere dall’esterno come osservatori.

Velocità

Il modello open source ha insito nella propria natura gli elementi che velocizzano i tempi di sviluppo (Software Development Life Cycle) e di adozione del software.

L’open source proviene infatti da una cultura “download-and-go“, che prevede l’immediato download e utilizzo del software, senza passare da offerte, ordini di acquisto, contratti, negoziazioni (negotiated procurement). Nella maggior parte dei casi il software può essere scaricato senza neppure passare da una procedura di registrazione.

I tempi di sviluppo del software sono molto rapidi e i rilasci frequenti; una normale versione del kernel Linux ad esempio viene rilasciata con un intervallo di 8-10 settimane.

Inoltre, disponendo del codice sorgente è possibile sviluppare in anticipo e in proprio delle personalizzazioni necessarie, senza attendere che altri rilascino le funzionalità attese.

Successi

L’approccio open source si è dimostrato così efficace per l’innovazione, che moltissime tecnologie software all’avanguardia sono guidate da comunità open source. Una trattazione completa è impossibile in questa sede, tuttavia possiamo citarne almeno alcuni.

Fra questi ricordiamo alcune delle più note distribuzioni di sistemi operativi GNU/Linux: CentOS, Debian, Fedora, Linux Mint, openSUSE, Ubuntu, e alcuni applicativi: 7-Zip, Apache HTTP Server, Audacity, Blender, FileZilla, GIMP, Magento, Mozilla Firefox, Mozilla Thunderbird, MySQL, OpenOffice, PrestaShop, VLC, WordPress.

Svantaggi e rischi

Il modello open source non porta però solo vantaggi. Ci sono anche delle sfide di cui si deve essere consapevoli e che devono essere affrontate. L’impiego di software open source, soprattutto quando non si acquista un servizio di supporto enterprise, aumenta la complessità operativa e la necessità di disporre delle competenze tecniche per garantire un adeguato livello di assistenza agli utilizzatori.

La gamma dei progetti open source spazia da piccole iniziative amatoriali fino a soluzioni altamente professionali, sviluppate e mantenute da grandi organizzazioni commerciali (e.g. RedHat) o no profit (e.g. Free Software Foundation) . Quando si sceglie un software open source occorre fare attenzione e ricercare soluzioni per le quali viene garantita continuità di sviluppo, manutenzione, aggiornamenti, assistenza, in caso contrario si va in contro ad un elevato grado di complessità e di rischi che dovranno essere gestiti.

Professional Open Source Management

Pertanto, quando l’utilizzo di software open source diventa rilevante per il successo di un’organizzazione, occorre adottare un modello di gestione professionale dell’open source (Professional Open Source Management).

La gestione professionale dell’open source richiede una strategia chiara e guidata dagli obiettivi dell’organizzazione, politiche (OSS Policy) e processi (OSS Processes) efficienti, per orientare l’implementazione del software in maniera coerente alla strategia e garantire il raggiungimento dei risultati prefissati.

La gestione professionale dell’open source richiede che siano prese decisioni, guidate dalla strategia aziendale, nei in sette ambiti di seguito riportati:4

  1. Discovery: in che modo gli sviluppatori troveranno e valuteranno il miglior software open source?
  2. Approval: in che modo l’organizzazione esaminerà e approverà l’utilizzo di software open source?
  3. Procurement Practices: in che modo il procurement dell’organizzazione gestirà i rischi associati all’acquisizione del software open source?
  4. Code Management & Maintenance: come verranno gestiti e mantenuti i componenti open source che saranno utilizzati dall’organizzazione?
  5. Community Interaction: se, e in che modo, l’organizzazione parteciperà alle comunità open source?
  6. Compliance Program: in che modo l’organizzazione garantirà la conformità con le licenze del software open source che utilizzerà?
  7. Executive Oversight: in che modo i dirigenti parteciperanno alla gestione del software open source per fornire una supervisione adeguata?

Conclusioni

Il software open source offre numerosi vantaggi per le organizzazioni che decidono di adottarlo: sviluppo più rapido, costi inferiori, flessibilità e trasparenza. Ci sono però anche alcuni svantaggi, in particolare un aumento dei rischi e della complessità, laddove non siano garantiti elevati livelli di qualità per i servizi di manutenzione e di assistenza. Tali rischi possono essere mitigati da una gestione professionale del software open source, che prevede la definizione di una strategia chiara, politiche (OSS Policy) e processi (OSS Processes).

Negli odierni mercati in rapida evoluzione, le aziende che innovano costantemente, il più rapidamente possibile, al minor costo, e garantendo la massima libertà degli utenti e il rispetto dei loro diritti, vinceranno. Ed è proprio in questo che il modello l’open source è perfetto.

Note

  1. Linux is a cancer that attaches itself in an intellectual property sense to everything it touches. That’s the way that the license works.” – Intervista a Steve Ballmer (Microsoft SEO) rilasciata il 01/06/2001 al Chicago Sun-Times
  2. Microsoft was on the wrong side of history when open source exploded at the beginning of the century, and I can say that about me personally …” – Intervista a Brad Smith (Microsoft president) rilasciata il 14/05/2020 in un evento all’MIT
  3. Per una trattazione esaustiva delle licenze open source si rimanda alla pagina About Open Source Licenses del sito opensource.org
  4. Dimensions of Professional Open Source Management, LFC210 Fundamentals of Professional Open Source Management
Torna su