I motivi che spingono all’impiego di soluzioni open source sono diversi. Per prima cosa il software aperto permette di abbattere i costi relativi alle licenze e ad eventuali aggiornamenti dei prodotti. Si tratta del motivo principale, ma non unico che dovrebbe favorire l’attenzione verso questo mondo. Un vantaggio dei software open source è che solitamente abbracciano consolidati standard di mercato, come formati di file, raccomandazioni del W3C, specifiche di interoperabilità aperte invece che proprietarie. In questo modo è probabile che un software di questo tipo possa integrarsi, o essere predisposto a farlo, con altri prodotti o con soluzioni già utilizzati, anche se commerciali e realizzati da diversi produttori. Se poi la realtà che si sta preoccupando di adottare soluzioni open source dispone di personale IT aggiornato e che può dedicarsi allo studio di questi tipi di soluzione, i vantaggi aumentano. Conoscerne approfonditamente l’infrastruttura e l’architettura utilizzata permette di soddisfare nel dettaglio le esigenze, sviluppando dove possibile componenti ad hoc per estenderne o personalizzarne le funzionalità e nel contempo migliorare le conoscenze tecniche del personale.
Il beneficio è anche indiretto: con prodotti ormai maturi, dotati di funzionalità complete e complesse, chi produce software proprietario è incentivato a migliorare i propri prodotti o addirittura stipulare partnership con chi ha creduto nel software open source, come è successo tra Microsoft e Novell, che da qualche anno collabora attivamente con la comunità di sviluppatori open source. Da questi elementi potrebbe sembrare che la strada per l’ingresso di queste soluzioni sia spianata, ma è necessario aggiungere qualche considerazione sulle difficoltà che, probabilmente a ragione, a volte frenano (e a volte purtroppo interrompono) questo processo.
L’azienda è molto spesso spaventata dalla proposta di adozione di prodotti open source da parte del proprio reparto IT perché teme, a ragione, un aumento dei costi legati alla valutazione, installazione, configurazione e personalizzazione. Questa situazione è aggravata dal fatto che molto spesso chi realizza questi prodotti non ha a disposizione le risorse (tempo e denaro) da impiegare nella produzione di materiale informativo di corredo al software, cioè brochure o white paper, ma anche documentazione tecnica e procedure di installazione semplificate, come invece avviene per i software proprietari. Dove invece la documentazione è presente, il pericolo è che non sia aggiornata e che si riferisca a qualche versione precedente del software. Di solito in questi casi è bene frequentare assiduamente i forum di discussione e le mailing list.
Questa mancanza fornisce all’open source l’immagine di software a cui manchino caratteristiche fondamentali di un prodotto commerciale: viene allora visto come un prodotto artigianale, che non riesce ad uscire da una fase di instabilità per concretizzare funzionalità o obiettivi. Non sempre questo è vero, ma a volte, rispetto ai corrispettivi software commerciali, questi prodotti mancano di parte della fase di consolidamento del prodotto, come ad esempio interfacce di amministrazione (coerenti con il resto dell’applicazione), localizzazioni, supporto per diverse tipologie di database, test su diverse piattaforme, verifica delle performance sotto carico e, come dicevamo, documentazione.
Un’altra convinzione che frena l’adozione di software open source è quella che, se qualcosa va storto, se qualcosa non funziona, non esiste un referente da contattare o a cui rivolgersi. Questo non sempre è vero, anzi, uno dei modelli di sostentamento che da qualche tempo va per la maggiore è proprio la stipula di contratti di supporto per l’assistenza, mediante il pagamento di canoni annuali.
Quello che è certo, comunque, è che decidere se e come implementare in modo corretto queste soluzioni in azienda significa conoscere in profondità il problema che si vuole risolvere. Questo permette, tra la miriade di prodotti, di evidenziare i candidati da sottoporre a una fase di test. Questa seconda fase è tanto più semplice tanto maggiori sono le conoscenze e capacità del reparto IT dell’azienda. Una soluzione open source difficilmente potrà essere adottata se non verificata su un banco di prova, magari per settimane. Mancando documentazione completa, approfondita e soprattutto aggiornata, questa fase è irrinunciabile. Se l’IT non dispone di queste competenze va valutato se e come portarle in casa. Sembra una banalità, ma questo è il motivo principale di abbandono di progetti open source in azienda. Emerge quindi che se il costo preponderante di un software proprietario è quello delle licenze d’uso, del supporto e degli aggiornamenti, il vero costo dell’open source, soprattutto nella fase iniziale della sua adozione, è relativo al tempo per la ricerca e la sperimentazione.
Questa differenza con il mondo dei software proprietari, se ben sfruttata, introduce anche anche vantaggi. Mentre per un software proprietario la decisione che porta o meno al suo impiego avviene molto spesso sulla carta o su installazioni limitate nelle funzionalità o nel tempo, chi installa un banco di prova di software open source si trova a disposizione un ambiente completo con tutte le caratteristiche. Molto spesso il ciclo di vita di soluzioni open source comincia con una fase di test, per poi passare a un primo impiego da parte di utenti pilota, solitamente dipendenti del reparto IT o comunque utenti esperti. Dopo questa fase, il software è via via distribuito al resto dell’azienda. In questo modo non solo è possibile verificare se il prodotto soddisfa le esigenze, ma ne vengono valutate le funzionalità di scalabilità su larga scala. Di contro, una volta approvato l’acquisto di software proprietario, solitamente si tratta di una strada senza via di uscita, che può solo essere abbandonata in caso di insoddisfazione.