I modelli di business dell’open source

Articolo scritto per ZeroUno di Febbraio 2008

Nell’introduzione a un recente convegno dedicato all’open source e ai modelli di business relativi al mondo dell’offerta, nonché ai diversi criteri di adozione presso i differenti segmenti di mercato, tenutosi presso il Politecnico di Milano, Carlo Ghezzi, docente di Ingegneria del Software, ha illustrato come l’open source (Os) rappresenti un punto di contatto molto forte tra mondo accademico e mondo professionale. “Durante l’insegnamento è molto difficile trovare esempi “viventi” di software da mostrare agli studenti (a differenza di quanto avviene in altre discipline scientifiche). I software usati in ambito di produzione, oltre a essere troppo costosi per un ente di ricerca, sono sempre delle scatole chiuse, non sezionabili e analizzabili. Il software aperto fornisce invece esempi visibili e studiabili. E spesso si tratta di ottimi esempi in quanto condensano molto spesso buone pratiche e standardizzazioni”, dice Ghezzi.
Il software è come un sistema evolutivo: “non è mai stabile ma evolve sempre nel tempo; quindi non è importante studiare il singolo esemplare, quanto la storia della sua evoluzione, cosa che è disponibile tramite le librerie e i repository. Per la prima volta esiste un laboratorio universale di studio”, ha precisato Ghezzi. “Per quanto riguarda la ricerca, l’indisponibilità fino a pochi anni fa di oggetti di studio (software sorgente) su sistemi reali ha sempre rappresentato un problema. Era necessario ricorrere a piccoli studi in vitro che avevano scarso significato per la limitatezza degli oggetti. Oggi il problema è stato superato grazie alla disponibilità di dati reali. È ora possibile verificare e misurare oggetti e dati effettivi”.
Il ruolo della ricerca applicata è quello di comprendere tutti i modelli esistenti, distinguere il valore di business, valutare costi e benefici. Punto importante in questo approccio è quello di mantenersi lontani da “guerre di religione”, che purtroppo hanno in passato infiammato la discussione riguardo al software open source. Ciascun approccio al software deve essere analizzato per i suoi vantaggi e svantaggi e come tale è sempre rispettabile in linea di principio.

Definire l’Open Source
Anthony Wasserman, executive director Center for Open Source Investigation, Carnagie Mellon West, fornisce una triplice definizione di open source: software che rende disponibile a tutti il codice sorgente completo dei programmi eseguibili; software fornito insieme a una licenza che illustra le diverse modalità per il corretto uso e redistribuzione; software supportato da una comunità di persone che vi contribuiscono.
Tutti usiamo software open source, spesso anche senza saperlo. Yahoo funziona su BSD (Berkeley Software Distribution; l’acronimo si riferisce alle distribuzioni di codice sorgente dell’Università della California, Berkeley); Google su Apache (una delle piattaforme server web open source più diffuse in grado di operare da sistemi operativi Unix-Linux e Microsoft), e Firefox è il secondo browser più utilizzato.
Per quanto riguarda l’infrastruttura It (web server, database, sistemi di content management, email server, strumenti di collaborazione) il software Os è già estremamente diffuso. Allo stesso modo è ampiamente utilizzato nello sviluppo (compilatori, ambienti di sviluppo e testing, debugging, controllo delle versioni e così via). Lo stadio successivo è una maggiore diffusone nel mondo delle applicazioni (Crm, applicativi finanziari, gestionali, applicativi verticali, gestione delle immagini, prodotti di elaborazione audio/video).
A seconda del tipo di licenza associata al prodotto, alla disponibilità più o meno completa del codice sorgente e al tipo di comunità che ne sostiene lo sviluppo, il software può essere più o meno “aperto”. Non esiste infatti soluzione di continuità tra prodotti tipicamente considerati open source come Apache e software proprietario in senso stretto come Microsoft Office. Questa precisazione è importante nella valutazione di qualità, costi e vantaggi dei prodotti software.

Quali modelli di business sono applicabili?
Secondo Wasserman i modelli di business legati alla produzione e distribuzione di software open source sono molteplici, in particolare se ne possono identificare almeno nove. Il primo, Subscription, è un modello secondo il quale gli utenti possono ricevere aggiornamenti e assistenza sul software open source mediante l’iscrizione a un servizio in abbonamento. Esempi tipici di modelli a sottoscrizione sono i servizi di RedHat e Novell. Il secondo modello è quello del Training. La formazione comprende libri, riviste, corsi, eventi e tutto l’indotto che un nuovo prodotto (spesso abbastanza complicato da utilizzare) richiede. O’Reilly negli Stati Uniti o Apogeo in Italia sono solo alcuni esempi. C’è poi il modello Packaging secondo il quale è possibile usare prodotti open source all’interno di prodotti commerciali (ovviamente nel rispetto delle clausole di licenza). SugarCRM è un esempio di applicativo di customer relationship management basato su un “core” open source. Hosting è il modello in cui il software open source è spesso la base su cui vengono realizzati e forniti servizi in hosting o in ASP (per esempio database hosting). Lo stesso business di Google e Yahoo è in hosting su software open source.
Un altro esempio di distribuzione viene dal Dual license, secondo questo modello viene resa disponibile sia una versione gratuita (libera) sia una versione a pagamento. Quest’ultima serve per chi usa il software per attività commerciali (soluzione adottata per esempio da MySQL). Ma i modelli di distribuzione possono anche prevedere lo sviluppo di standard aperti e di altre attività di azienda, come nel caso di Ibm o sviluppo di prodotti commerciali che migliorano e completano prodotti open source (per esempio Oracle).

Gli ostacoli in azienda
I timori delle aziende sono diversi, anche se oggi sono minori rispetto al passato, e riguardano soprattutto le funzionalità (che si teme possano essere inferiori rispetto ai prodotti commerciali) l’affidabilità e la disponibilità di supporto. Tipicamente i reparti IT desiderano una infrastruttura uniforme e un completo controllo dei pc in azienda per una maggiore semplicità di gestione. Ci sono poi ragioni di ordine economico: l’adozione di prodotti diversi richiede formazione sia per i dipendenti sia per gli amministratori di sistema. Alcune aziende hanno una policy: non usano software privi di supporto commerciale. Infine ci sono i dubbi legati alle modalità di licenza e la corretta adozione in azienda.
Qualità e costi del software open source
È convinzione comune che il software open source abbia una qualità maggiore e costi ridotti. La qualità maggiore, secondo l’opinione diffusa, deriverebbe dal fatto che la comunità di sviluppo, libera da vincoli e scadenze commerciali, sarebbe più orientata alla realizzazione di un prodotto migliore che non a soddisfare una esigenza di mercato. I costi di sviluppo, d’altra parte, essendo assorbiti dal lavoro della comunità non verrebbero scaricati sugli utenti. Secondo Alfonso Fuggetta, amministratore delegato di Cefriel, questa convinzione comune è fuorviante e potenzialmente pericolosa. “Oggi il software è considerato una commodity quasi gratuita (secondo lo slogan: It doesn’t matter). Il punto di partenza su cui bisogna ragionare, invece, è che il software non è gratuito. Anzi, più è di qualità, più costa”. Il software è un’opera d’autore: il lavoro è svolto da persone e come tale ha un valore e un costo. Quando il vero valore del software viene nascosto perché i costi sono assorbiti dalla comunità, il mercato stesso ne risente e le aziende si ritrovano a competere sul prezzo e non sulla qualità.
Andando a esaminare più nel dettaglio come effettivamente si svolgono le pratiche di sviluppo, si scopre che molti sviluppatori open source sono pagati da aziende per svolgere il loro lavoro. Inoltre il coordinamento distribuito tende a essere più difficile e oneroso rispetto a modelli organizzativi strutturati. Gli stessi meccanismi di governance meno formali potrebbero inoltre portare a rinunciare a controlli di qualità di un certo livello.
Secondo una ricerca svolta dal Politecnico di Milano, i costi effettivi dello sviluppo open source (misurati con il numero di programmatori impiegati per una determinata quantità di tempo e un numero identificato di nuove funzionalità realizzate) sono in media più alti rispetto al software proprietario. Analizzando progetti software diversi, che hanno modelli di sviluppo, di governance e di contribuzione diversi, si vede che la distizione tra software aperto e chiuso non è più così netta: l’intervento delle aziende che sponsorizzano i progetti e l’adozione di pratiche di leadership più o meno strutturate sono fattori che influenzano qualità e costi: maggiormente un progetto adotta pratiche open source, più si alza la qualità ma si alzano anche i costi. Un aspetto importante da rilevare è che nell’open source ogni versione ha una qualità maggiore della precedente. Il susseguirsi di nuove release in tempi ravvicinati (senza vincoli commerciali e distributivi) consente agli sviluppatori di correggere e migliorare ogni volta il codice. Il software proprietario è invece dipendente da bug fixes, mentre la qualità aumenta solo quando c’è una vera e propria reingegnerizzazione.

Perché adottare software open source?

Dal punto di vista di una software house la qualità migliore è visibile a una comunità più ampia, risultando in un’azione di marketing virale. Inoltre la comunità è molto più veloce ed efficiente a fornire feedback. È una fonte di informazione che aiuta a far evolvere il software. Questo velocizza e facilita l’internazionalizzazione dei progetti software.
Dal punto di vista di un’azienda, invece, la maggiore qualità di progettazione rappresenta un primo vantaggio: la comunità stessa fa emergere il software di migliore qualità, secondo una selezione naturale, e supporta l’azienda che vuole adottarlo grazie a forum e mailing lists. Infine, a seconda del modello di governance utilizzato, il costo totale di acquisizione (Tco) potrebbe essere più basso.

Robert AlexanderSecondo Robert Alexander (nella foto), executive It architect di Ibm, “lo sviluppo open source è un’istanza speciale di un approccio più ampio che è quello sviluppo in comunità (come la comunità scientifica). Il valore di questa forma di sviluppo rispetto a quello diretto da un’entità centrale, risiede nella tendenza a far emergere più rapidamente i requisiti degli utenti. Nell’industria automobilistica – prosegue Alexander – alcune innovazioni come il riscaldamento, l’avviamento elettrico e il bagagliaio sono stati ideati dagli utenti, non dagli ingegneri delle case automobilistiche”. In questa direzione l’interesse di Ibm è estremamente chiaro: far emergere l’innovazione da parte degli utenti. I driver economici che muovono Ibm nel sostenere oltre 150 progetti open source sono tre: cost reduction (l’Os consente di ridurre i costi), direct revenue (modelli di subscription e consulenza producono revenue dirette), influenced revenue (Linux permette di vendere una certa categoria di hardware).

Come integrare l’open source in una strategia It
Paolo De NardiPaolo De Nardi (nella foto a destra), direttore del Dipartimento di Information and Clinical Technology dell’Azienda Ospedaliera di Padova, spiega come l’adozione di software open source in una struttura estremamente articolata e complessa come l’Azienda abbia rappresentato un successo. Una struttura comprendente novemila dipendenti, 3500 Pc, 120 server, un totale di 20 terabyte di immagini radiologiche e cento applicativi verticali di fornitori diversi interconnessi tra loro è certamente sfidante. “La scelta di un sistema open source per la gestione delle immagini è stata influenzata da quattro motivazioni principali”, dice De Nardi. “In primo luogo, trattandosi di una soluzione gratuita, la pubblica amministrazione può utilizzate procedure semplificate per l’acquisizione. Questo ha reso agile e velocizzato enormemente il processo. Secondo, il software open source ha come caratteristica distintiva quello di adottare standard riconosciuti, con il conseguente obbligo verso tutti gli altri fornitori di seguire gli stessi standard. Terzo, una volta obbligati tutti i fornitori a lavorare con standard riconosciuti, è possibile sostituire ogni singolo componente con uno equivalente (sia esso open source o proprietario). Liberati quindi dal “ricatto del pacco unico” si è liberi di scegliere le soluzioni più efficienti e affidabili per ciascun ambito. Infine, avendo a disposizione più fornitori tra cui scegliere (e non solo il proprietario del software), il livello di qualità e assistenza ne risente positivamente”.
L’adozione di standard aperti è uno punti chiave anche secondo Ibm. “L’azienda deve essere libera di valutare le opzioni migliori tra software aperto e proprietario, garantendo flessibilità, interoperabilità e facilità di migrazione. La scelta di un prodotto open source deve comunque essere fatta tenendo in considerazione il livello di maturità della comunità che lo sostiene, in quanto sarà la stessa comunità a fornire informazioni, supporto, aggiornamenti”, dice Alexander. L’esistenza di un ecosistema di ISV (independent software vendor) e business partner deve essere valutata attentamente in modo da garantire una continuità di servizio e di supporto. È importante poi conoscere approfonditamente le opzioni di licenza del prodotto software scelto, in modo da adattare le policy aziendali al rispetto di tali termini. Prima di adottare software open source in produzione è opportuno utilizzare ambienti di test e progetti pilota. I risultati di questi test, insieme a fattori tecnici e di business orienteranno poi la scelta finale.

Questa voce è stata pubblicata in generale, società, web. Contrassegna il permalink.

Lascia un Commento

L'indirizzo email non verrà pubblicato. I campi obbligatori sono contrassegnati *

*

È possibile utilizzare questi tag ed attributi XHTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

*