Flessibilità e standard: la strada Open Source Carlo Daffara [email protected] Udine, 13 Dicembre 2002 Convegno sulle Soluzioni Open Source per le Aziende • Le caratteristiche principali del software Open Source sono: – Il software e' liberamente ridistribuibile – Il codice sorgente e' disponibile, adattabile, modificabile a piacimento per qualsiasi necessita' – Non ci sono limitazioni sull'uso, sul numero di utenti o altro • L'open source e' anche un modo di sviluppare software distribuito. Viste le caratteristiche delle licenze open source, conviene sia agli utenti che agli sviluppatori diffondere modifiche, commenti, codice ecc. • In questo modo si sfrutta una vastissima comunita', in grado di segnalare errori, suggerire modifiche e, in generale, migliorare il software • La grande modularita' riduce lo sforzo di coordinamento e integrazione tra progetti diversi, e incoraggia l'adozione (o la creazione) di standard realmente interoperabili • Esistono diverse licenze Open Source; in particolare, quella piu' usata e' la GPL (General Public License) • La licenza: – Consente la commercializzazione del software – Obbliga alla distribuzione dei sorgenti (o delle modifiche) solo se il software viene redistribuito e solo se oggetto delle modifiche e' il codice stesso (sotto GPL) • Quindi: – L'uso interno non richiede redistribuzione – L'uso di software GPL non obbliga a ridistribuire nulla, ne' influenza in qualsiasi modo altro software – In molti casi, anche se non esiste l'obbligo, conviene comunque ridistribuire le modifiche fatte, per usufruire del supporto della comunita' degli utenti e sviluppatori – Il software puo' essere liberamente modificato, copiato e adattato • 22.6 % delle aziende investira' direttamente nell'open source nel 2003 (fonte: CIOInsight) • Nella EU: l'uso di software open source varia da paese a paese: 17.7% in Svezia, 31.5% in Inghilterra, 43.7% Germania (fonte: FLOSS EU study) • Tra gli adopters, la maggioranza delle risposte citavano tra i vantaggi la sicurezza, la maggiore efficienza a parita' di hardware, la flessibilita' e il costo • Nel 2006, 80% delle organizzazioni che usano Java adottera' componenti Open Source (fonte: Meta Group) • I vantaggi del modello Open source: – Nessuno puo' imporre restrizioni unilateralmente (nessun “cambio di licenze”, o “prodotto non piu' supportato”) – Non c'e' una unica entita' da cui dipende l'evoluzione del software – Potenzialmente piu' sicuro: il codice e' visibile, non e' possibile nascondere “backdoors”, la sicurezza e validita' degli algoritmi e' controllabile – Non ci sono costi “per utente” – Non ci sono problemi di contabilizzazione delle licenze • Esistono molti campi applicativi per l'open source; in particolare: – “hard” embedded systems, real time systems (telecontrollo, gestione industriale, System-on-Chip) – “light” embedded (palmari, routers, bancomat, registratori di cassa, appliances) – Diskless terminal – Customized desktop – Desktop – Workstation – Small/traditional server – Departmental server (fino a 4/8 cpu) – Clusters (oltre 1000 cpu) • La disponibilita' del sorgente e il diritto di usare versioni modificate consente di adattare il software alle proprie necessita' – Togliendo quello che non serve – Adattando perfettamente il software all'hardware – Consentendo il “tuning” su un carico specifico, verificabile e consistente con quello reale richiesto dal cliente – Dando all'amministratore e all'utente le “manopole” per ottimizzare i parametri di basso livello in modo sicuro • Accedere direttamente alle interfacce consente di integrare facilmente package diversi • Diventa semplice unire e adattare facilmente software open source diversi e comunicare anche con package commerciali • Realizzare sistemi verticali, soluzioni custom Alcuni esempi applicativi: file gateway • Il cliente gestisce una rete eterogenea di macchine (Windows, Unix, Netware) • Per l'interoperabilita' e per consentiure l'interscambio di file venivano utilizzati software aggiuntivi come PcNFS e Netware Access • A causa di incompatibilita', basse performance e per il costo delle licenze (su oltre 100 client) solo pochi PC venivano usati manualmente come “ponte” per trasferire file da un sistema all'altro • I backup non erano centralizzabili Alcuni esempi applicativi: file gateway • Al centro della rete viene posta una macchina Linux, con visibilita' sia delle macchine Windows, Unix e Novell • Usando il supporto nativo per NFS, la macchina linux si collega ai server unix come se fosse un client, e mostra i file remoti come se fossero presenti su una directory della macchina linux, ad esempio /unix1 e /unix2 • Tramite il pacchetto ncpfs, si esegue la stessa operazione sui server Novell • Usando il file server Samba (un emulatore del formato SMB usato dai sistemi Windows) vengono “esportate” le directory di interesse come se fossero fisicamente ospitate su un server Windows; sulla stessa macchina viene effettuato il backup • Tutti i client windows vedono la macchina linux sulla rete, e sfogliando all'interno vedono tutti i file delle macchine unix e novell senza bisogno di software aggiuntivo Alcuni esempi applicativi: il desktop • In molti uffici le applicazioni utilizzate sono relativamente poche: Office, un client di posta elettronica e messaging, un browser web, eventualmente un client 3270/5250 per collegarsi a mini/mainframe • Il costo per desktop e' comunque elevato, non solo in termini di licenza per postazione, ma anche in termini di hardware e manutenzione • L'upgrade delle applicazioni diventa un problema, come il controllo degli accessi e la protezione dai virus Alcuni esempi applicativi: il desktop • Esistono combinazioni di pacchetti in grado di supportare questo tipo di utenza: – OpenOffice (sostituisce Office) – Evolution (sostituisce Outlook) – Mozilla, Galeon (sostituisce Internet Explorer) – Tn5250... • Ma semplicemente sostituire Windows con Linux non risolve del tutto il problema; la manutenzione e gestione rimane ancora problematica • La soluzione: i Pc possono eseguire la procedura di avvio tramite la rete, e caricare il sistema operativo e il software da un server centrale • I Pc diventano sistemi diskless, sostituibili a basso costo • L'ambiente operativo di ogni utente rimane completamente personalizzabile; ad esempio ridotto nel caso di applicazioni semplici come help desk o data entry, o complesso per il tradizionale lavoro di ufficio • Un server di rete puo' gestire almeno 50 utenti contemporanei, o 120 “lite” (con desktop ridotto) • E' possibile svolgere attivita' di manutenzione remota, per aiutare l'utente o per risolvere i problemi che normalmente richiederebbero un intervento diretto • I desktop sono completamente autonomi, e sfruttano la propria potenza di calcolo • Il server puo' effettuare i backup in automatico per tutti i client • Ogni desktop puo' anche collegarsi a un server X11 (unix), Citrix (ICA), Windows Terminal Services Alcuni esempi applicativi: “remote office” • Il problema: come rendere utilizzabili le applicazioni della intranet aziendali fuori dalla sede tramite computer palmari e connessioni a bassa velocita' • L'UMTS ancora non e' disponibile, il GPRS e' disponibile in poche citta', la rete GSM e' la soluzione piu' diffusa • Ma il GSM ha una velocita' massima di 9600 bps! • E in generale bisogna garantire la sicurezza dei dati, indipendentemente dal tipo di connessione Alcuni esempi applicativi: “remote office” • La soluzione: combinare strumenti diversi • Un firewall e un tunnel cifrato OpenSSH per garantire la sicurezza • Sul server dal lato aziendale, una proxy che filtra il traffico, scala la dimensione delle immagini per adattarla alle dimensioni ridotte del display e comprime le componenti testuali delle pagine • Il palmare (nel nostro caso, lo Sharp Zaurus) ha a bordo una proxy che implementa il protocollo AirHook, per sfruttare al massimo le caratteristiche del canale GSM VNC viewer Visualizzatore PDF Web Browser Domande? Conecta Srl [email protected] http://www.conecta.it tel. +39 0432 548825