Analisi delle soluzioni basate sul software libero

Pagina creata da Gabriel Gasparini
 
CONTINUA A LEGGERE
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