Grazie alla possibilità di scambio rapido, economico ed efficiente di informazioni dovuto alla diffusione delle reti geografiche di calcolatori (Internet in testa), si diffonde sempre più capillarmente la pratica di utilizzare software di pubblico dominio, cioè ideato e realizzato senza scopo di lucro da privati o istituzioni.
Il fenomeno ha già permeato la comunità degli utenti di Personal Computer con applicazioni varie, ma sta estendendosi fino al software di base, cioè i sistemi operativi. In particolare è molto interessante il sistema operativo LINUX, che è un clone di UNIX, sviluppato da un gruppo di volontari sparsi in tutto il mondo e auto-coordinatisi attraverso la rete Internet, con piene funzionalità in grado di operare praticamente su qualsiasi PC Intel con prestazioni di tutto rispetto ottenute al costo del solo media e senza royalties per gli usi successivi.
Queste caratteristiche lo pongono in ottima posizione per applicazioni varie nel campo dei sistemi informativi aziendali, giacché possono portare ad una significativa riduzione dei costi di acquisto e manutenzione sia del parco hardware che del software, mantenendo livelli di prestazione e funzionalità del tutto in linea con quelle dei sistemi commercialmente disponibili. Inoltre, l'uso di hardware PC consente la riconversione ad applicazioni DOS/Windows del sistema in caso di necessità, riducendo al minimo i rischi dell'iniziativa. Il progetto di ricerca afferisce appunto all'individuazione ed alla verifica delle possibilità di introduzione di sistemi LINUX nella pratica corrente.
Metodi.
Data la larga compatibilità di LINUX con i sistemi PC attualmente in commercio, è assai agevole e di basso costo dotarsi di una piattaforma di caratteristiche adeguate: un PC con processore Intel 80386, 4Mb RAM e circa 100Mb di spazio su disco è sufficiente ad effettuare tutte le attività previste con un costo inferiore ai 3 milioni di Lire.
Il sistema operativo LINUX si ottiene direttamente da Internet mediante accesso ai numerosi ftp-servers esistenti, oppure può essere acquistato per poche decine di dollari su CD-ROM presso diversi distributori.
Data la scarsità di applicazioni sviluppate su questo sistema operativo, una piattaforma LINUX non può essere utilizzata al momento come workstation di produzione, a meno di non effettuare direttamente il porting dell'applicazione stessa: è quindi più proficuo indagare sulla possibilità di inserimento di tale macchina come generico server di rete, per servizi di file storage, backup, stampa e networking.
Si è quindi proceduto in tal senso, implementando un file server con protocollo NFS, un mail server SMTP e POP, un network router locale e remoto, un firewall system per il controllo della sicurezza rispetto ad accessi remoti, un ftp server in modalità anonymous, un NIS server per la gestione coordinata delle risorse di rete locale secondo gli standard TCP-IP ed ISO-OSI.
Risultati teorici e sperimentali.
Le applicazioni di LINUX sono finora state a livello amatoriale o di ricerca a scopo personale: occorre quindi verificare in dettaglio robustezza e funzionalità delle soluzioni implementate.
Data la stretta aderenza di tutto il codice LINUX ai protocolli RFC di Internet, la compatibilità teorica con altri ambienti UNIX è teoricamente assicurata. Inoltre, gran parte del codice sviluppato per lo UNIX BSD in ambiente universitario statunitense è portabile su LINUX mediante semplice ricompilazione. Ciò è assai promettente in vista di possibili incrementi di funzionalità anche di sviluppo autonomo da parte dell'utenza, essendo disponibili gratuitamente tutti gli ambienti di sviluppo necessari.
Dal punto di vista sperimentale si sono ottenuti i seguenti risultati:
- NFS Server e Client - Piena funzionalità in modalità read/write agendo direttamente attraverso i sistemi operativi. Il throughput dipende fortemente dalle caratteristiche di I/O su disco e RAM del sistema target. Alcuni problemi di compatibilità possono sorgere quando LINUX è acceduto direttamente da applicazioni remote che fanno uso di file locking mediante RPC proprietarie, che non sono a priori supportate: il problema peraltro non si presenta in modalità read-only.
- Mail server - Essendo SMTP assai stabilizzato nel tempo la sua implementazione è assai robusta. In particolare le funzionalità di address parsing sono più potenti di quelle normalmente disponibili in flavours UNIX ben più blasonati. Alcuni problemi possono verificarsi in fase di fine tuning data la presenza di alcune incongruenze nella locazione dei files di configurazione da parte delle procedure automatiche previste: la documentazione peraltro è corretta e consente un rapido isolamento del problema. POP ha notevole robustezza pur se qualche difficoltà di configurazione in più.
- Routing - Sono presenti sia i demoni routed che il più moderno named, di cui è consigliato l'uso. Il routing viene effettuato in modo agevole e trasparente anche su rete geografica. Il supporto X.25 come host-based PAD richiede la presenza di schede apposite, non per tutte le quali sono disponibili i drivers: è quindi consigliabile l'uso di X.25 routers esterni, che risultano del tutto trasparenti a LINUX. Qualche problema generale di configurazione TCP-IP a livello di netmask e broadcast address, che peraltro può dipendere dalla rete esistente alla quale ci si collega, è facilmente risolvibile con un po' di buon senso.
- Firewall - Al momento non sono disponibili su LINUX meccanismi di security a livello C2 (ad es. password shadowing ed ageing). La presenza del sorgente dei programmi che gestiscono il login (getty, agetty, login, passwd) consente peraltro di implementare direttamente tali caratteristiche. Nel caso di un firewall, che gestisce un numero limitato di passwords e protegge gli altri sistemi di rete da accessi indesiderati, il problema risulta minore in quanto la creazione di captive accounts impedisce l'esplorazione del sistema. Altri meccanismi di self- monitoring, basati ad esempio sul controllo degli eseguibili con SUID e GUID e sull'accounting, sono facilmente implementabili.
- FTP Server - La creazione di un anonymous ftp server è semplice e ben guidata. La security, che pure è generalmente critica in tale modalità, è ben presidiata a patto di non rilassare le protezioni sul file system. È invece scarsa, come del resto nella generalità dei sistemi UNIX commerciali, la documentazione di supporto al system manager per l'attivazione di funzionalità semplici (ad esempio i README di directory, i prompts, ecc.) ma assai utili per la presentazione ed il corretto uso del sistema.
- NIS Server - L'inserimento di un sistema LINUX in un dominio esistente è quasi banale, data la completa automazione del task. La creazione di un nuovo dominio, invece, richiede maggiore attenzione, seppure del tutto proporzionata alla complessità del problema. Un baco nel meccanismo di gestione delle mappe causa l'append del NIS-passwd al passwd locale, cosa che pur avere pesanti applicazioni in termini di security. L'indagine in corso stabilirà se il problema avviene in fase di configurazione, ed è quindi gestibile in fase preliminare all'uso, oppure durante le normali operazioni.
Discussione dei risultati.
Le funzionalità implementate nel corso del progetto sono quelle normalmente presenti sui sistemi UNIX più diffusi in commercio. I risultati dei tests effettuati hanno dato conforto alle ipotesi di applicazione di LINUX in ambienti operativi aziendali anche di grande complessità. La funzionalità ed il livello di prestazioni sono ottimi pur se il sistema in test disponeva di limitate risorse.
La robustezza, soprattutto in considerazione del fatto che il sistema è stato sviluppato in piena ``anarchia'', è veramente a tutta prova, tanto che non è stato osservato alcun crash o core dump anche in circostanze di stabilità marginale dell'ambiente e delle applicazioni. Nessun problema è sorto dall'uso di componentistica commerciale non specificamente selezionata, mentre si è verificata l'esistenza di una ``Incompatibility List'' assai dettagliata e tale da evitare acquisti di parti inadatte. I problemi minori osservati nell'interfacciamento con altri sistemi sono aggirabili con un po' di astuzia e quindi resi inoffensivi.
Prospettive e conclusioni.
I costi da sostenere per l'acquisto e l'installazione di un sistema come quello proposto sono relativi in pratica al solo hardware, poiché la distribuzione e la replicazione di LINUX sono completamente libere e quindi ogni attività su di esso è tale da non violare la legge sulla tutela dei diritti d'autore sul software. Si ritiene tuttavia che, almeno nella fase di iniziale diffusione sul mercato, LINUX richieda la presenza all'interno dell'azienda utente di persone competenti in grado di gestirne adeguatamente le fasi di configurazione ed avviamento: pertanto, l'applicazione è al momento accessibile in generale solo ad aziende a contenuto tecnologico medio-alto.
Data la tendenza al ribasso nei costi di acquisizione dell'hardware, l'uso di sistemi LINUX diventa assai competitivo rispetto all'adozione di soluzioni commerciali che, anche se normalmente supportate da hardware di elevate prestazioni, non hanno costi di acquisto paragonabili e comportano ingenti oneri di manutenzione. Pertanto, LINUX è una valida alternativa per applicazioni che richiedano servizi generici a basso costo ed elevata produttività, mentre si affacciano sul mercato le prime applicazioni commerciali basate su questo sistema operativo.
Riepilogo.
Il progetto ha verificato la possibilità di introduzione di PC con sistema operativo di pubblico dominio LINUX nella pratica dei sistemi informativi aziendali. I vantaggi previsti sono principalmente dovuti al basso costo dell'hardware necessario (quello di un comune PC) ed alla possibilità di libero uso, distribuzione, duplicazione e modifica di LINUX, al riparo dai rigori della legge.
Le funzionalità di LINUX sperimentate sono relative all'utilizzo del sistema come server generico di rete, per applicazioni di file e print services, routing, mailing, network management. I test effettuati hanno dato esito complessivamente positivo, dando sostegno alle tesi esposte e validando la tecnologia e le sue possibilità di applicazione. Il prototipo funzionante, ottenuto parzialmente con materiali di recupero ad un costo complessivo di circa Lit. 2.000.000=, è attualmente in fase di test di affidabilità in vista di un utilizzo H24 in ambiente industriale su rete locale Ethernet.