Analisi delle soluzioni basate sul software libero
←
→
Trascrizione del contenuto della pagina
Se il tuo browser non visualizza correttamente la pagina, ti preghiamo di leggere il contenuto della pagina quaggiù
Analisi delle soluzioni basate sul software libero Documento Analisi delle soluzioni basate sul software libero Versione 1.0 Data Documento 12 dicembre 2004 Autore Giuseppe Sacco 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, stru- menti 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 ru- briche 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
Puoi anche leggere