Intervento svolto da Antonio Bernardi al meeting organizzato dall'A.I.G.A. (Associazione Italiana Giovani Avvocati) di Treviso sul tema: "L'informatica negli studi professionali"
Treviso 20 novembre 1998
L'alternativa alle proposte commerciali: i sistemi aperti per soluzioni efficienti e a basso costo
Nel settore dell'informatica si distingue il software commerciale, inteso come software proprietario, dal software aperto inteso come non proprietario (di tutti) e percio' gratuito. Per intendere appieno questa distinzione dobbiamo partire dal prodotto software, da come e' composto un prodotto software e come esso si suddivide.
Codice sorgente e codice oggetto
Il prodotto software e' composto da un file sorgente (detto codice sorgente) ed un file oggetto (detto codice binario).
Il file sorgente e' il progetto, lo schema scritto in un linguaggio simile alla lingua naturale. Il file oggetto e' la traduzione del sorgente in linguaggio macchina (binario), comprensibile solo all'elaboratore, ed eseguibile da questo.
Il programma sorgente corrisponde ad una teoria, ad un teorema, e' come il progetto di una casa, mentre il programma oggetto corrisponde alla casa, che viene utilizzata.
Il file oggetto e' la traduzione in linguaggio macchina del file sorgente. Il file oggetto e' il programma che gira sul computer.
Chi ha soltanto il file oggetto puo' solo usarlo ma non puo' conoscere come e' fatto e non puo' modificarlo, in quanto la modifica andrebbe fatta nel file sorgente che verrebbe poi ritradotto nel file oggetto. Non si puo' modificare il programma oggetto.
Software di base e software applicativo
Nel settore dell'informatica si distingue, ancora, il software di base, chiamato sistema operativo, dal software applicativo.
Il sistema operativo e' il software che sostanzialmente permette alla macchina (hardware) di funzionare.
Senza il sistema operativo la macchina non funziona.
Il software applicativo e' formato da quei programmi che permettono all'utente di risolvere i suoi specifici problemi, di contabilita', di videoscrittura, di disegno, ecc.
Il sistema operativo da' l'abiente generale sul quale si impianta il software applicativo. E' evidente, percio', che il sistema operativo orienta e condiziona il tipo di applicativo che posssiamo utilizzare. L'applicativo e' condizionato e dipende in qualche misura dal sistema operativo nel senso che se cambio sistema operativo devo anche cambiare, tanto o poco, il software applicativo.
Conseguentemente il sistema operativo diventa l'elemento fondamentale di ogni sistema informativo aziendale e/o d'ufficio e chi ne dovesse detenere il monopolio, potrebbe condizionare tutto il software e il suo sviluppo.
Agli inizi il software era aperto
Inizialmente fino agli anni '80, quando si comperava il software si acquistava sia il sorgente che l'oggetto, con tutta la documentazione relativa (manuali, specifiche, sorgente, data-flow, flow-chart, ecc.). Chi acquistava il software ne aveva la completa disponibilita', ne aveva la assoluta proprieta', disponendo sia del sorgente che dell'oggetto.
Era come acquistare un'automobile potendo aprire il cofano, cioe' liberi di metterci le mani dentro.
L'introduzione del software proprietario e delle licenze d'uso
Con l'entrata in scena soprattutto del personal computer, attorno agli anni '80, le cose sono cambiate.
IV.A) Viene scorporato il programma sorgente dal programma oggetto. All'utente viene fornito solo il programma oggetto (codice binario). Ora se compero un'automobile compero solo la licenza di usarla, non posso piu' aprire il cofano e non posso metterci le mani dentro.
IV.B) Il codice oggetto viene fornito non in proprieta' ma solo in licenza d'uso. Percio' la mia liberta' e' solo quella di usarla.
Ma c'e' di piu'.
IV.C) Il software binario che ho in licenza d'uso lo posso utilizzare solo su un determinato computer. Se l'utente lo vuole copiare per usarlo su un altro computer, non puo'.
Viene introdotto il concetto di software proprietario.
In buona sostanza la societa' che produce il software si tiene i sorgenti e da' al cliente solo la licenza d'uso del programma oggetto su un solo computer. Queste licenze d'uso danno, al cliente, solo la possibilita' di un uso molto ristretto del software.
Sarebbe come dire: compero un libro e posso leggerlo solo io. Non posso passarlo ad un amico, se lo voglio passare ad un amico devo pagare una licenza.
Tornando all'esempio dell'automobile, sarebbe come "acquistare" un'automobile, solo in licenza d'uso, senza possibilita' di aprire il cofano e senza la possibilita' di farla guidare ad altri. Se la voglio prestare ad altri dovro' ripagarla per ogni guidatore (si veda al riguardo "La rivoluzione del Mimete", intervento dell'Ing. Giulio Mazzolini al Lime di Roma 7/9 ottobre, 1998).
IV.D) Con l'avvento del software proprietario avviene un'altro fenomeno, del tutto nuovo nel settore commerciale.
Faccio un esempio: se acquisto un'automobile, e si scopre che questa automobile e' difettosa, la casa costruttrice si fa carico di ritirarla a sue spese e di rifondermi i danni provocati. Questo avviene come norma nel settore commerciale.
Con il software proprietario questo principio non vale piu', perche' non si puo' dimostrare che un software e' errato, o comunque e' difficile dimostrarlo in quanto non ci sono i sorgenti disponibili.
E molto spesso una correzione agli errori del software proprietario viene propagandata, dalla societa' produttrice del software, come aggiornamento del programma, a spese del cliente!
Il RINASCIMENTO del software: GNU/Linux
A questa situazione illiberale si e' opposto e si oppone Richard Stallman, uno scienziato americano che ha fondato, nel 1984, la Free Software Foundation e il progetto GNU.
Per la Free Software Foundation e il progetto GNU il software, inteso come file sorgente, non deve essere proprietario ma libero e gratuito, come sono libere e gratuite le teorie scientifiche. Non sara' gratuita invece l'assistenza e i servizi che ci stanno sopra il software.
Nasce una nuova licenza per i prodotti software la GPL, affinche' societa' commerciali non si approprino di questo software.
La licenza GPL "e' intesa a garantire la liberta' di condividere e modificare il free software, al fine di assicurare che i programmi siano liberi per tutti i loro utenti".
Il software aperto che e' libero e gratuito non significa pero' che non possa essere venduto, ma se una societa' commerciale lo vende, lo deve vendere con licenza GPL.
A partire dal 1984 Stallman e alcuni altri programmatori cominciarono a progettare software aperto, ma non riuscivano a costruire un sistema operativo tale da rendere il progetto GNU completamente autonomo dal software proprietario. Percio' il loro software aperto doveva girare su macchine che avevano un sistema operativo proprietario.
E la loro filosofia, anche commerciale, non prendeva molto piede.
Nel 1991 uno studente finlandese, Linus Torvalds, sembra quasi per gioco, costrui' un abbozzo di sistema operativo simile a Unix che riusciva soltanto a scrivere alcuni caratteri sul video.
Ma Linus Torvalds lo mise libero, sotto il nome di Linux, con una licenza libera, in maniera che tutto il "popolo di Internet" potesse migliorarlo e aggiornarlo.
Il sistema Linux era il completamento del progetto GNU.
Dopo alcuni anni ci furono i primi rilasci del sistema stabile e oggi si stima vi siano piu' di 10 milioni di sistemi GNU/Linux (usualmente, ma impropriamente, detto Linux) operanti nel mondo.
Le sue caratteristiche principali, oltre ad essere gratuito, sono l'essere multitasking, multipiattaforma, multiutente. Gestisce le reti con il protocollo tcp/ip e in ambiente misto.
Un'altra caratteristica e' quella che con questo sistema potete riutilizzare i vecchi 386/486, perche' gira anche su questi e tra l'altro si interfaccia benissimo anche con i 286 in ambiente dos.
E' robusto nella gestione delle reti, molti provider di Internet lo usano con il programma Apache che e' il server web di Linux, ed e' il server web piu' utilizzato in Internet.
Nel frattempo moltissimo software aperto e' stato e viene aggiunto al sistema di base Linux.
Gratuito il sistema, non l'assistenza, i servizi, ne' eventualmente software applicativi proprietari che ci girano sopra.
Oggi Linux e' il sistema aperto per eccellenza.
Sistemi client e server
Perche' allora non e' cosi' diffuso come i sistemi commerciali proprietari?
Bisogna distinguere un sistema client da un sistema server.
Un client oggi corrisponde ad una macchina da scrivere e ad una calcolatrice. Quando si acquista un computer si acquista un client, per scrivere a macchina e fare qualche calcolo, eventualmente qualche disegno.
Eventualmente per collegarsi ad Internet e usufruire dei servizi di Internet.
Un server e' un sistema che da' i servizi ai client quando questi vengono collegati in rete tra di loro.
E' lo stesso rapporto che c'e' tra un negoziante (server) e un cliente (client) in un negozio.
Per il momento la forza di Linux si e' espressa dal lato server.
E' uno Unix a tutti gli effetti. Gestisce le reti, anche in ambienti diversi, con software Microsoft, Novell, Mac.
Al momento e' un po' indietro sul versante client, dell' office automation, ma con l'interfaccia Gnome e prodotti di office automation che vi gireranno sopra si stima che entro un anno anche sul versante client-desktop potra' dire la sua.
In questo settore quello che manca, oggi, e' solo la distribuzione di massa.
Le soluzioni efficienti a basso costo
Il sistema Linux e' gratuito, come moltissime sue utility e software vario. E gia' questo basta per prenderlo in considerazione come una possibile soluzione ai sistemi operativi proprietari.
Vi sono poi, prodotti commerciali proprietari che girano su Linux con licenze meno costose rispetto ad altri sistemi operativi. La Netscape ha rilasciato il suo browser, per navigare in Internet, con licenza open source, gratuito.
Oggi Linux e' un'ottima alternativa ai prodotti esclusivamente proprietari, in quanto e' un sistema efficiente nella gestione delle reti e a basso costo.
Non e' un caso che la societa' leader mondiale nei database, abbia rilasciato il suo software anche per Linux e abbia investito capitali su Linux. Ne' puo' essere casuale che la societa' Intel abbia anch'essa investito in Linux.
Anche una societa' leader in programmi per il disegno ha deciso di investire su Linux.
Il Ministero della Pubblica Istruzione Messicano ha, da poco, progettato un piano di investimento su 140.000 scuole messicane sulla base di Linux e il Ministero della Pubblica Istruzione Francese ha stipulato, con l'Associazione francofona di utenti Linux (AFUL), un accordo per introdurre il sistema Linux nelle scuole in Francia.
Stanno nascendo anche in Italia societa' per la distribuzione e diffusione di Linux.
Alcuni rivenditori di hardware cominciano ad offrire Linux e installare Linux: una societa' leader nella produzione di pc, in Francia, ha deciso di installare Linux sui suoi personal computer.
Conclusioni
In conclusione possiamo dire che, oggi, nel mercato vi e', grazie al sistema aperto Linux, un'alternativa a basso costo, ma di alta qualita', ai prodotti proprietari e monopolisti. In primo luogo dal lato server ma fra breve anche sul lato client.
A livello di ufficio, si potrebbe, gia' da subito, utilizzare in un ambiente misto: i server con Linux e i client con software commerciale proprietario, in attesa di passare tutto sotto Linux.
Personalmente se dovessi installare un server di rete non esiterei un attimo ad orientarmi su Linux, in quanto ormai ha dato prova di affidabilita' e di robustezza. In molte aziende Linux funziona ininterrottamente da alcuni anni, senza aver dato mai problemi. Terrei i client con il software gia' a disposizione e li collegherei in rete tcp/ip con Linux.
Percio' oggi possiamo dire che esiste nel mercato un nuovo protagonista nel settore del software: il software aperto (open source) e il sistema operativo Linux in particolare e appena le aziende e i consumatori si accorgeranno di avere a disposizione questa alternativa, che tra l'altro come software di base costa zero lire, sono certo che avra' un forte sviluppo, in tutte le direzioni, sia dal lato server che dal lato client.
La mia proposta dunque, se posso dare un suggerimento, e' quella di non trascurare il sistema Linux e i sistemi aperti nelle scelte per la soluzione dei propri problemi informatici.
Treviso 20 novembre 1998
Antonio Bernardi
brngb@tin.it