Analisi delle soluzioni basate sul software libero

Transcript

Analisi delle soluzioni basate sul software libero
Analisi delle soluzioni basate sul software libero
Documento
Versione
Analisi delle soluzioni basate sul software libero
1.0
Data Documento
12 dicembre 2004
Autore
Giuseppe Sacco <[email protected]>
Riferimenti
Analisi delle soluzioni basate sul software libero.sxw
Pag. 1/7
Index
ANALISI DELLE SOLUZIONI BASATE SUL SOFTWARE LIBERO............................................................................3
Introduzione...................................................................................................................................3
Portabilità.....................................................................................................................................3
Supporto........................................................................................................................................4
Localizzazione...............................................................................................................................4
Lato server.....................................................................................................................................5
Lato client......................................................................................................................................6
Guadagno dovuto all'adozione di software liberi.........................................................................7
Analisi delle soluzioni basate sul software libero.sxw
Pag. 2/7
Analisi delle soluzioni basate sul software libero
Questa analisi prende in considerazione i progetti di software libero1 che possono essere utilizzati
all'interno della compagnia di assicurazioni Toro. Il periodo di riferimento è dicembre 2004, ma ci sono
anche alcuni riferimenti a progetti che stanno raggiungendo la maturità necessaria all'uso in ambienti di
produzione.
Introduzione
I progetti di software libero sono partiti quasi sempre da necessità di utenti capaci di
programmare la macchine; per questo motivo il settore nel quale storicamente si trovano
più progetti è quello cosiddetto “lato server.” I progetti quali sistemi operativo, server web,
di posta, database, gestione del bilanciamento del carico, linguaggi di programmazione,
hanno ormai raggiunto una maturità e una diffusione tale che tutti ne conosciamo almeno
il nome del più famoso (GNU2/Linux, Apache, Sendmail, PostgreSQL, Openmosix, Perl.)
Negli ultimi anni invece c'è stato un proliferare di vari progetti che riguardano il “lato client”
cioè le applicazioni direttamente utilizzabili dall'utente tramite una interfaccia spesso
grafica. I più famosi sono certamente GIMP, Mozilla, GNOME, OpenOffice, KDE, Ximian
Evolution. Ci sono infine alcuni progetti software che sono stati adottati come base di
riferimento per prodotti commerciali: il sistema operativo GNU/Linux è stato scelto da
Oracle; il sistema FreeBSD è stato scelto da Apple.
In questo documento verranno fatti brevi cenni ai progetti “lato server” e verrà invece fatta
una comparazione tra le applicazioni “lato client” proprietarie3 e quelle libere, laddove la
controparte sia presente. Ci sono infatti alcuni progetti liberi che non hanno controparti
proprietarie e viceversa.
Portabilità
Ogni progetto open source è diffuso con il sorgente e quindi, molto spesso, ha trovato
“adepti” che lo volessero modificare per poter funzionare, ad esempio, su architetture
diverse, o su macchine più vecchie. Questo ha portato a grandi migliorie tecniche e ad
una maggiore diffusione delle applicazioni. Pressoché tutte quelle delle quali si parla in
1 Per software libero si intende quel software che viene fornito con una licenza che non pone alcun limite
all'utilizzatore. Molto spesso il software libero è anche a codice aperto (open source,) cioè viene fornito con il
codice sorgente, ma le due cose non vanno confuse. Ci sono software liberi che non forniscono il codice e ci sono
progetti open source che non solo liberi. Nell'accezione inglese free software, non va erroneamente tradotta la
parola free con gratuito: ci sono software non liberi ma gratuiti, come Acrobat Reader.
2 La dicitura “GNU/Linux” al posto di “Linux” è dovuta al fatto che Linux è il nome del kernel e tutto il software di
base necessario per l'utilizzo del kernel è preso dal progetto GNU.
3 Per software proprietario si intende il software fornito con una licenza che limita l'utente. Fino ai più recenti anni,
pressoché tutti i software acquistabili erano proprietari. Esempi di software proprietario: Oracle database, Microsoft
Windows, Lotus Domino.
Analisi delle soluzioni basate sul software libero.sxw
Pag. 3/7
questo documento, funzionano sia su GNU/Linux, sia su BSD, sia su Solaris, sia su
Windows. Inoltre, quando si parla di GNU/Linux o di OpenBSD, non ci si lega ad una
particolare architettura, ma si spazia dai diffusi processori Intel e AMD, ai MIPS, ai
PowerPC, agli StrongARM, fino alle più recenti architetture a 64 bit.
Supporto
Il supporto ai progetti di software libero è principalmente quello delle comunità di
sviluppatori che ci lavorano. Questo supporto è sterminato: ci sono sviluppatori di tutto il
mondo, quindi il supporto è dato 24 ore al giorno. Inoltre non ci sono call centre intermedi:
si parla direttamente con chi lavora al codice del prodotto. Si può contattare una mailing
list oppure collegarsi ad un canale IRC per un riscontro immediato. Ci sono una quantità
di siti web con esempi di configurazione, FAQ, spiegazioni in ogni lingua. L'aspetto
principale è però quello che tutto questo è fatto da volontari, quindi da un lato non si può
pretendere nulla, dall'altro c'è l'entusiasmo di chi vuole fare vedere che il proprio prodotto
funziona veramente.
Ci sono poi i progetti principali che hanno dato seguito ad un “business” e che quindi
hanno dei “partner” commerciali che possono offrire il supporto classico dei prodotti
proprietari. A pagamento.
Oltre al supporto relativo ai singoli progetti, ci sono varie società che raccolgono tutti
questi progetti di software libero e compongono delle raccolte dette distribuzioni che
aggiungono tutto quel “collante” necessario a fare interagire tra loro i vari progetti. Le più
famose distribuzioni di GNU/Linux sono Debian, Red Hat, Suse (ormai Novell), Mandrake.
Tutte queste distribuzioni offrono varie forme di supporto ai loro utenti.
Nella mia esperienza personale ho trovato parecchi “bug” all'interno di progetti liberi e di
applicazioni proprietarie. Per tutti quelli liberi ho avuto la soluzione entro 24 ore e, inoltre,
hanno fatto seguito versioni corrette del software disponibili a tutti, mentre non sono
ancora riuscito ad avere lo stesso risultato, per lo meno come tempistiche, con Oracle e
SUN, per non parlare di Microsoft.
Localizzazione
Proprio per la diffusione in ogni angolo del mondo, pressoché tutti i progetti di software
libero, soprattutto quelli “lato client” sono stati internazionalizzati e localizzati in varie
lingue, vale a dire che permettono una interazione con l'utente nella lingua scelta
dall'utente. Inoltre possono essere installati in un sistema multiutente e utilizzati in lingua
diverse in contemporanea, cosa possibile con altri prodotti commerciali come il database
Oracle, ma non con l'Office di Microsoft.
Analisi delle soluzioni basate sul software libero.sxw
Pag. 4/7
Lato server
I progetti di software libero hanno battuto parecchie aree:
•
sistemi operativi. Il più famoso è certamente GNU/Linux, ma ci sono anche
OpenBSD, FreeBSD e Hurd. In questo momento, tra quelli elencati, solo i primi tre
sono già maturi per essere utilizzati in ambienti di produzione. GNU/Linux ha avuto una
politica di diffusione decisamente più aggressiva dei due BSD, ma il loro grado di
maturità è pressoché lo stesso. I sistemi operativi BSD hanno un occhio di riguardo
maggiore verso la sicurezza del sistema e sono difatti stati preferiti per i server, mentre
solo di recente Linux sta raggiungendo BSD sul lato sicurezza. Questi sistemi hanno un
grandissimo pregio: sono aderenti ai vari standard internazionali (Posix, TCP/IP, ...) e
non hanno alcun interesse ad allontanarsene. Inoltre hanno una impostazione di base
che tiene in grande considerazione sia la sicurezza che le performance. Probabilmente
per questo motivo sono stati scelti come piattaforma di sviluppo da grosse società
come Oracle e Apple.
•
server di posta. Ci sono molti server di posta maturi, il più famoso dei quali è
certamente sendmail, che è anche il più usato al mondo. Ci sono poi exim, postfix e
qmail che hanno lo stesso grado di maturità, ma sono più recenti e puntano sulla
configurabilità o sulle performance. Oltre a tutti questi, che si occupano della consegna
della posta, ci sono poi parecchi progetti per la gestione POP3/IMAP4 come uw-imap e
courier, entrambi ormai pressoché perfetti.
•
server web. Il server web più diffuso al mondo è software libero, si tratta di Apache. Ha
varie estensioni per avere pagine dinamiche scritte in linguaggi differenti e tante altre
caratteristiche interessanti che sono elencate sul sito web dal quale è diffuso. Altri
server web sono roxen e boa. È disponibile il report di novembre 2004 del famoso
Netcraft Web Server Survey, ovvero le statistiche dei web server più utilizzati su
computer collegati a Internet. A Novembre 2004 sono stati raccolti dati provenienti da
56.923.737 circa 800.000 in più del mese precedente. Apache guadagna lo 0.07% del
mercato, salendo al 67.84% del totale, mentre IIS di Microsoft perde lo 0.06%,
attestandosi al 21.19%.
•
application server. Ci sono moltissimi application server e framework, in genere legati
ad uno specifico linguaggio di programmazione: Zope, Tomcat, Jboss. Hanno ormai
tutti raggiunto dei buoni livelli di maturità e stabilità e sono utilizzati in tutto il mondo in
ambienti di produzione.
•
database. I due principali motori sono PostgreSQL e mySQL. Ce ne sono anche
parecchi altri, ma non possono vantare la stessa aderenza agli standard SQL o la
stessa diffusione. In particolare PostgreSQL è molto robusto e diffuso in tutti i contesti
Analisi delle soluzioni basate sul software libero.sxw
Pag. 5/7
nel quale serva l'aderenza ad SQL, mentre il secondo è indirizzato ad applicazioni più
piccole e snelle.
Lato client
•
interfaccia grafica. Tutta l'interfaccia grafica di questi prodotti si basa su un protocollo
client/server che permette l'uso di qualsiasi applicazione in modalità remota. Non
esistono applicazioni che non si possono utilizzare in remoto. Questo protocollo si
chiama X-Window ed è adottato da tutti gli Unix; inoltre ne esistono emulatori liberi e
proprietari anche per Windows e MacOSX. Al di sopra di X-Window ci sono i window
manager e i desktop manager, cioè quello che veramente l'utente vede e utilizza. I più
famosi desktop manager sono KDE e GNOME. Entrambi offrono tutte le funzionalità
ormai adottate ovunque di finestre, icone per il ridimensionamento, barra dei menu,
menu a scomparsa, temi per la personalizzazione dell'aspetto. Inoltre includono molti
strumenti “desktop:” calendario, calcolatrice, videoscrittura, fogli di calcolo, strumenti di
personalizzazione del desktop, visualizzazione di immagini e documenti, editor, strumenti multimediali, dizionari, giochini, gestione dei desktop virtuali.
•
OpenOffice. OpenOffice è un pacchetto per la videoscrittura, per le presentazioni, per
il disegno e con un foglio di calcolo. È quindi paragonabile all'office di Microsoft e difatti
ne adotta parecchie caratteristiche sia in quella che è l'operatività, sia nel formato dei
file gestiti. OpenOffice è certamente maturo per l'uso quotidiano e inoltre ha una grande
compatibilità con l'antagonista di Microsoft: può leggere e scrivere in tutti i formati di
Microsoft, ma mantiene alcune informazioni extra che riguardano sue peculiarità solo
nel formato nativo. Un esempio di caratteristica che non è presente nel prodotto
Microsoft è la possibilità di creare direttamente documenti PDF come questo.
OpenOffice è ormai stato adottato da parecchie società e da enti amministrativi come la
provincia di Genova, quella di Pisa o il comune di Monca di Baviera. Le stime attuali
dicono che il prodotto occupa il 14% del mercato.
•
Mozilla. Il browser web nato da Netscape è ormai arrivato alla versione 1.7 ed ha dato
alla luce tre sottoprogetti: un client di posta elettronica, un browser leggero, una rubrica
per gli appuntamenti. Mozilla è il browser web più diffuso del software libero ed è
aderente agli standard W3C che esprimono la definizione di HTML e annessi. Ne
esistono versioni personalizzate per GNOME e KDE in modo tale da avere il browser
perfettamente integrato con le altre applicazioni del desktop.
•
Novell Evolution. Sviluppato in precedenza da Ximian e recentemente acquistato da
Novell, Evolution è il client perfetto per la posta elettronica, la gestione degli indirizzi,
degli appuntamenti e delle attività. Fa tutto quello che ci si può aspettare da un prodotto
simile ed è perfettamente integrato nell'ambiente GNOME. Per molti aspetti è migliore
Analisi delle soluzioni basate sul software libero.sxw
Pag. 6/7
di Outlook e ha una maggiore adesione agli standard relativi alla posta elettronica,
gestisce un numero maggiore di cifrature digitali e può anche aggiungere indirizzi a rubriche condivise via LDAP (tutte qualità mancanti al prodotto Microsoft.)
Guadagno dovuto all'adozione di software liberi
Passare da un sistema proprietario ad uno libero non è sempre immediato, spesso per la
forza di contrasto esercitata dagli utenti. La portabilità dei progetti open source viene in
aiuto in situazioni come questa, difatti è possibile passare prima all'uso di strumenti liberi
in ambienti misti (ad esempio, è possibile utilizzare openoffice o mozilla su Windows) e poi
passare all'uso completo di software libero, sostituendo anche Windows con un altro
sistema operativo.
Nel primo passaggio si ha un grande risparmio dal punto di vista delle licenze degli
applicativi, mentre nel secondo si ha un taglio delle licenze del sistema operativo e un
aumento impareggiabile della sicurezza e della semplicità di gestione; basti come
esempio che gli utenti di sistemi operativi Unix e derivati danno una libertà controllata agli
utenti e quindi questi non possono installare prodotti non autorizzati sulle loro macchine.
Come ultima considerazione, vorrei evidenziare che spesso le richieste hardware degli
strumenti liberi sono minori di quelle delle controparti proprietarie, quindi è spesso
possibile risparmiare parecchio evitando un aggiornamento del parco macchine.
Ci sono poi una serie di analisi di riduzione dei costi derivanti dall'adozione di software
libero, come evidenziato nel rapporto dello studio Soreon Research che si intitola “Saving
cash: a comparison of open source and proprietary software” (risparmiare denaro: un
confronto tra software open source e proprietario, disponibile sul sito www.soreon.de
solamente in tedesco) ed è focalizzato sulle aziende europee e sul costo totale di
gestione. Esso rileva come l'adozione di OpenOffice.org consenta un risparmio del 20%
rispetto alle soluzioni proprietarie, e come un ulteriore risparmio del 30% possa derivare
dall'adozione di Linux rispetto a Windows.
Analisi delle soluzioni basate sul software libero.sxw
Pag. 7/7