Il concetto di "software libero" discende da quello di libertà di scambio di informazioni e di sapere in generale.
Lo scambio di informazioni è di particolare importanza in tutti gli ambienti scientifici: la diffusione e il potenziamento di mezzi capaci di diffondere il sapere ed idee tra gli uomini è certamente alla base dello sviluppo intellettuale e scientifico degli ultimi due secoli.
Il libero scambio di idee è alla base della libertà di pensiero ed espressione: anche il software, come il pensiero, è immateriale, e per questo adatto ad essere riprodotto e trasmesso facilmente.
Richard Stallman (nella foto in basso), ricercatore presso il prestigioso MIT (Massachusetts Institute of Technology - Istituto di Tecnologia del Massachusetts) di Boston, fu il primo a formalizzare il concetto di software libero.
Il software libero deve offrire alcune libertà fondamentali per essere considerato tale:
Fu lo stesso Stallman, nel 1984, a creare il progetto GNU (leggasi /'gnu/ con la "g" dura di "gatto", e non /'jnu/ come in "gnocchi") ; il progetto aveva lo scopo di tradurre in realtà le teorie sul software libero, realizzando un nuovo sistema operativo che gli utenti avrebbero potuto scambiarsi, ed ovviamente modificare liberamente.
Il progetto GNU fu sostenuto dalla fondazione creata da Stallman, la Free Software Foundation (Fondazione per il Software Libero), a livello legale ed economico. Creare un nuovo sistema operativo, avrebbe significato gettare la basi per una grande comunità che avrebbe potuto finalmente scrivere programmi adatti al sistema operativo per scambiarli liberamente.
Dunque, l'abbozzo di sistema operativo creato di Stallman e da una piccola comunità di programmatori fu battezzato, come abbiamo avuto modo di accennare, GNU: si tratta di un acronimo ricorsivo, cioè un particolare tipo di acronimo nel quale una delle lettere che lo compongono è l'iniziale della parola che costituisce l'acronimo stesso. Il significato di GNU è "GNU is Not UNIX"; il nome chiarisce l'aspetto fondamentale del progetto, in quanto significa che GNU non è il sistema operativo "UNIX" elaborato dal colosso AT&T, non è dunque un sistema proprietario ma ha le stesse funzionalità ed è compatibile con esso.
Un requisito fondamentale di GNU fu l'essere "open source", come vedremo. Infatti, mentre il software proprietario è fornito già "compilato" (cioè già tradotto da linguaggio di programmazione - comprensibile agli utenti - a linguaggio "macchina" - comprensibile al computer) in modo da impedire ogni tentativo di interpretazione da parte dell'utilizzatore, il software "open source" rende disponibili i "sorgenti" (source) cioè tutte le righe di codice non tradotte in linguaggio macchina.
Il software libero deve perciò essere "open source" in modo che, conformemente alle libertà fondamentali garantite, possa essere "letto", analizzato e modificato.
Il software si divide in diversi tipi. Potremmo costruire una piramide immaginaria, al cui gradino più basso vi è il software proprietario, subito sopra il cosiddetto "freeware" (che è ugualmente software proprietario, ma che fornisce garanzia di libero utilizzo all'utente). Tra i vari tipi di software proprietario e i massimi gradi di libertà esistono infiniti gradini: ognuno è rappresentato da diverse licenza di utilizzo del software che vanno da quelle più restrittive a quelle meno restrittive. Il grado massimo di libertà sarebbe rappresentato dal software detto "di pubblico dominio". Materiale di pubblico dominio potrebbe ovviamente essere utilizzato per creare software proprietario.
Perciò Stallman decise che GNU non sarebbe stato di pubblico dominio. Si trattava di una limitazione necessaria affinché il progetto non si estinguesse nel giro di poco tempo. In effetti, se distribuire GNU con licenze "di pubblico dominio", avrebbe significato senz'altro una enorme diffusione in tempi rapidi del progetto, al tempo stesso avrebbe concretamente alimentato le idee dei creatori di software proprietario.
Fu dunque scelto di proteggere il prodotto con un nuovo tipo di licenza, chiamata da Stallman e dai sui collaboratori GPL (General Public Licence), che chiarisce in termini legali cosa gli utenti possono fare e non fare con il software.
La licenza fu scherzosamente detta "copyleft", un gioco di parole fra il diritto d'autore ("copyright") e la contrapposizione dell'idea di Stallman ("right" significa anche "destra", mentre "left" che significa sia "sinistra", sia "concessione").
Il "copyleft" fu chiamato da Stallman "permesso d'autore", in modo da distinguerlo dal "diritto d'autore", concetto strettamente correlato con il copyright.
La GPL e il concetto di "copyleft" hanno ispirato tra l'altro l'innovativo sistema di licenze "Creative Commons", che vengono largamente usate su Internet. "Il software", spiega Stallman riferendosi al "copyleft", "è coperto da copyright e gli autori danno il permesso agli utenti di studiarlo, modificarlo, apportare dei cambiamenti. Ma quando lo ridistribuite dovete farlo a certe condizioni, né più né meno. In questo modo le persone a cui lo darete saranno in grado, se vorranno, di cooperare con gli altri utenti. In questo modo, dove va il software, va anche la libertà".
La licenza GPL comportò un grande passo avanti nella storia del software libero perché si trattò della prima licenza scritta dalla parte della comunità (o se vogliamo degli utenti), e non da una azienda con il solo scopo di tutelarsi o, come nel caso di un'altra licenza (BSD), di ottenere finanziamenti governativi. Un evento fondamentale per il progetto fu la fondazione di aziende ispirate al movimento del software libero.
Fu lo stesso Stallman ad intuire la possibilità di guadagno insita nel progetto del software libero. "Se per lavoro usi del software libero", spiega Stallman, "hai la possibilità di scegliere tra un vasto numero di persone, che operano in diverse aziende del settore. In linea generale devono offrire un buon servizio di assistenza, altrimenti bisogna rivolgersi presso altre aziende. Con il software proprietario l'assistenza è un monopolio: c'è una sola azienda che possiede il codice sorgente, e solo lei può garantire assistenza, perciò non c'è da stupirsi che l'assistenza sia così scadente".
Nel 1990 il sistema GNU era quasi ultimato: mancava ancora il "kernel", cioè l'insieme di programmi base che consentono la gestione delle risorse fondamentali come l'unità di calcolo e la memoria centrale. Il kernel era certamente la parte più importante, ma la sua realizzazione fu rinviata in attesa della liberalizzazione di un kernel sviluppato dall'università dello Utah. "Avevamo appena iniziato a lavorare sul kernel, quando arrivò Linus Torvalds", racconta Stallman.
Linus Torvalds (nella foto), uno studente ventenne dell'università di Helsinki, aveva sviluppato un kernel che qualcuno riuscì a far funzionare molto velocemente con GNU. Linus aveva deciso infatti di creare un sistema simile ad UNIX, che aveva conosciuto presso l'università, per farlo "girare" sul suo nuovo computer. La sua "creatura" fu chiamata Linux, e dal 1996 ebbe come mascotte il simpatico pinguino chiamato "Tux".
Linus ebbe la magnifica idea di diffondere la sua opera su Internet mettendola a disposizione di chi fosse stato interessato ad utilizzarlo o migliorarlo. Insomma, quando qualcuno riuscì a far funzionare insieme Linux e GNU fu chiaro che il progetto era arrivato ad un importante punto di svolta.
La combinazione tra GNU e Linux diede vita al primo sistema operativo completo, battezzato semplicemente GNU/Linux. Questo sistema operativo è attualmente utilizzato da oltre 10 milioni di persone attraverso i server di Internet, come vedremo, ma ben poche di esse ne sono al corrente.
Ma affinché GNU/Linux potesse uscire dal mondo dei programmatori era necessario un ulteriore passo, che fu attuato con la creazione di un programma che rese possibile l'erogazione di siti web complessi: Apache HTTP Server.
È stato osservato che la curva che descrive la diffusione di Linux e la diffusione di Internet sono direttamente proporzionali: dal 1993, anno di nascita di Apache, è iniziato il boom degli Internet provider e quindi la diffusione della rete Internet come un bene di massa. In sostanza fu proprio Apache a convincere i provider e le aziende di e-commerce ad adottare Linux e non Microsoft Windows. Inoltre praticamente tutte le "web-application" che permettono agli utenti di creare un "blog" sono open source.
Da allora un numero sempre maggiore di utenti venne a conoscenza di GNU/Linux, e molti di loro decisero di adottarlo come sistema operativo. Con il passare del tempo gli utenti si sono organizzati in gruppi, ognuno dei quali rilasciava "distribuzioni" (in gergo dette "distro") del sistema operativo sempre nuove e diverse. Il tutto per pura passione: spesso gli utenti che sono in prima linea per il software libero, sono quelli che scrivono programmi perché semplicemente ne hanno bisogno. Le implicazioni sociali del software libero sono davvero notevoli. Oltre a quelle che derivano dalla convinzioni e dalle teorie prettamente filosofiche, esistono quelle decisamente più pragmatiche: la condivisione del sapere non premette a piccoli gruppi di persone di usarla per acquisire una posizione di potere politico o economico.
Dopo aver raccontato la storia del software libero, vediamo un po' perché è particolarmente vantaggioso.
Il software libero è in primo luogo affidabile. In che senso?
Nel senso che è molto stabile, ed è difficile che presenti errori o bug per il semplice fatto che, essendo i codici sorgente disponibili per tutti, migliaia di programmatori possono leggere il codice sorgente, aumentando esponenzialmente le possibilità di scoprire eventuali problemi. Almeno un programmatore su un migliaio individuerà il problema, e lo correggerà, rilasciando per tutta la comunità un buon software funzionante: mentre l'utente non vuole problemi con un programma, il programmatore vuole una buona reputazione nella comunità.
Al contrario, le aziende che vendono software senza rendere disponibile il codice sorgente, rilasciano correzioni dopo lunghi lassi di tempo, che spesso sono incluse nel nuovo prodotto che l'utente può ottenere solo dietro pagamento.
Nel mondo del software libero, tutti coloro che sono in grado di leggere e migliorare il codice sono incentivati a correggere gli errori, dato che saranno proprio loro ad utilizzare il programma; e poi, dato che a loro volta il software lo hanno ricevuto dalla comunità, si sentiranno in dovere di "ripagarla" attraverso la correzione dei bug.
Il software libero è in generale molto efficiente, cioè è in grado di "girare" anche su computer abbastanza vecchi.
Ciò porta con sé due vantaggi: in primo luogo permette di risparmiare tanti soldi sull'acquisto di una nuova macchina ed evitare di contribuire a far aumentare i tecno-rifiuti, che sono tra i più dannosi per l'ambiente (chi l'avrebbe mai detto: il software libero è anche amico dell'ambiente!) ; in secondo luogo permette a chi possiede nuove macchine di lavorare in maniera molto più rapida. Il vantaggio sarebbe anche dei produttori di computer, a pensarci bene: potrebbero infatti produrre macchine di "basso profilo" che, equipaggiate con software libero, possono fare più o meno quello che facevano i computer vecchi.
Inoltre, il software libero è sicuro infatti, solo per fare un esempio, un utente di GNU/Linux non deve preoccuparsi di contrarre virus mentre naviga in rete o scarica la posta elettronica, semplicemente perché non esistono (o comunque sono ben pochi) virus destinati ad attaccare certi sistemi.
Il vantaggio della sicurezza deriva ancora una volta dal lavoro della comunità di programmatori, che sono sempre alla ricerca di vulnerabilità nel software da correggere. Insomma oltre a portare avanti un progetto di civiltà il software libero ha innumerevoli vantaggi pratici tra cui quelli che abbiamo descritto.
Ma sul piano pratico è importante considerare un altro importante vantaggio del software libero: Nella maggior parte dei casi è gratuito.
Non tutto il software di cui sono disponibili i codici sorgente è gratuito. Alcune aziende infatti vendono insieme al programma anche i codici sorgente, lasciando in una certa misura l'utente libero di studiare il codice.
Ma il sistema operativo GNU/Linux e quasi tutte le sue distribuzioni sono, oltre che "open source", anche "free", cioè gratuite. Le distribuzioni GNU/Linux si possono scaricare liberamente da Internet, come anche un grande quantità di software "open" e "free".
Adottare il software libero è quindi conveniente anche sotto l'aspetto economico.
Purtroppo i computer che sono assemblati dalla casa produttrice hanno sistemi operativi Microsoft Windows pre-installati (i computer Apple sono equipaggiati esclusivamente con sistemi operativi della casa). Ciò lascia gli utenti poco esperti privi di alternative. Chi è in grado, invece, può assemblare il computer acquistando i vari pezzi e scegliere il sistema operativo da installare, senza essere soggetto alle costrizioni esercitate dalla posizione di monopolio di Microsoft.
Il boom di Intenet ha aperto gli occhi a molti utenti, che si sono finalmente resi conto di spendere per ogni nuova macchina centinaia di dollari a causa di una licenza software che non avevano richiesto.
Ultimamente grandi aziende tra cui Dell hanno deciso di offrire agli utenti la possibilità di acquistare i computer con sistemi operativi liberi pre-installati, facendo calare notevolmente i prezzi. In Europa solo in Francia gli utenti sono liberi di acquistare i computer senza sistema operativo pre-installato.
A quando questa iniziativa anche in Italia? Poiché molti privati non desiderano spendere centinaia di euro acquistando licenze per "suite" da ufficio (come Microsoft Office), spesso e volentieri si ricorre alla pirateria informatica.
Migliaia di utenti "scaricano" copie con numeri di licenza contraffatti di software proprietario attraverso le reti di condivisione file (che tuttavia in sé non hanno nulla di illegale).
La diffusione del software libero arginerebbe anche questo fenomeno: Condividere software libero (a differenza di quello proprietario) non comporta alcun reato.
Il software libero non è esente da svantaggi, ovviamente.
L'utente finale deve avere una solida (o almeno basilare) competenza informatica e deve conoscere a sufficienza del sistema operativo con cui interagisce per poter proficuamente operare nell'ambito di software libero.
Le grandi aziende invece vogliono esattamente il contrario: la loro politica è rivolta a creare ed allargare un tipo di utenza "ignorante", che si abbandoni alla guida rappresentata dal produttore.
I sistemi operativi e i programmi proprietari che eseguono operazioni in totale autonomia non vogliono il bene dell'utente per motivi economici: più un software sarà "facile", più l'utenza sarà invogliata ad acquistarlo.
Come si è detto in precedenza, la tecnologia non è (e non deve diventare) esclusivamente un mezzo di aiuto per svolgere molto rapidamente operazioni difficili o noiose: è uno stimolo per la mente umana, un mezzo per mettere alla prova la creatività, l'inventiva, la capacità di ragionamento e, ovviamente, una valida assistente nella vita lavorativa e quotidiana.
Possiamo definire i computer "macchine stupide", ma di certo non possiamo estendere la definizione agli inventori e programmatori.
Il software libero, a differenza di quello proprietario, oltre a creare una benefica cultura del dono e della condivisione, stimola il ragionamento e la creatività.
Naturalmente non bisogna essere spaventati da queste considerazioni se si è deciso di intraprendere un viaggio nel mondo del software libero: tutte le distribuzioni GNU/Linux attuali hanno una interfaccia grafica molto semplice, funzionale e gradevole che rende, specie per l'ex utente Windows, meno "traumatico" il passaggio (è il caso della famosa distribuzione "Ubuntu", nota per la sua grafica e per la sua semplicità di utilizzo attraverso interfaccia grafica).
Prima di discutere intorno a questo punto, credo sia necessario fare una precisazione. "Scuola" è diverso da "didattica".
Infatti, essere interessati ad Introdurre il software libero nella "didattica" risulta differente dal voler introdurre il software libero nella "scuola" in generale (quindi in amministrazione, segreteria...).
Analizzeremo perciò la questione sotto due aspetti differenti, a causa delle implicazioni notevolmente differenti. Sarebbe inoltre utile chiarire qual è la situazione attuale nella scuola italiana.
Ha fatto notare "Punto Informatico" in vari articoli apparsi sulle sue pagine che "in questi anni gli insegnanti si sono visti "scippare l'esercizio della libertà di insegnamento ad opera del software proprietario monopolistico".
Infatti lo scopo di creare una cultura scientifica e tecnologica nei ragazzi era ben lontano dalle intenzioni delle "major": le casse dell'azienda di Redmond sono state notevolmente rimpinguate dai generosi ed ingenui acquisti del settore scuola.
È stata creata una "sottocultura tecnologica perpetrata dall'uso di questo software", scrive Antonio Bernardi; negli anni si è insomma creata una "visone magica della tecnologia".
Gli studenti sarebbero sempre più assimilabili a "passivi consumatori di tecnologia", piuttosto che ad esseri umani critici e creativi. "Potremmo dire", scrive ancora Bernardi, "che crea maggior consapevolezza di libertà OpenOffice (la suite da ufficio sorella di Microsoft Office, ma in versione open source) su Windows, nel ruolo di alternativa al monopolio, che con un router Linux in una rete dove tutti usano Windows e Microsoft Office. Al limite si perpetuerebbe la sottocultura informatica: Linux come stampella di Windows".
Ciò significa se se non si desidera abbandonare completamente il software proprietario, si potrebbero quanto meno inserire elementi di "concorrenza", che servano da monito per gli studenti, per far capire che un'alternativa esiste.
Il fatto è che il software proprietario è venduto come se fosse il migliore in assoluto.
Il che non è sempre vero: esiste un gran numero di software liberi che svolgono i loro compiti come, se non meglio, dei software proprietari.
Osserva Bernardi: "si riesce ad insegnare ad andare in bicicletta anche su una vecchia bici".
Il software libero ha perciò tutti gli strumenti per essere introdotto nella didattica. Bisogna innanzitutto partire dal lato "client", cioè da quello dell'utente: il primo passo è installare su tutti i computer OpenOffice, in modo da restituire agli utenti due importati libertà, cioè quella dell'uso del software, e quella della copia dello stesso. Il passaggio ad OpenOffice fornisce a docenti e studenti l'importante messaggio che esiste una alternativa al monopolio di Microsoft Office.
Ma se il software libero, oltre a non essere soggetto a costi, ha anche innumerevoli vantaggi pratici, perché non viene adottato in ambito scolastico o di pubblica amministrazione in generale?
Alcune indagini promosse dalla Comunità Europea rivelano che l'utilizzo di software open source nella pubblica amministrazione è concentrato nella fascia "server": ciò significa che a livello di server sono molto diffuse le combinazioni Linux + Apache Web Server.
A livello europeo, hanno sorpreso le cifre riguardanti l'uso di suite da ufficio open source: anche se con dimensioni più contenute rispetto ad Apache, questi software risultano in espansione.
Ben differente è, come vedremo la realtà italiana. Alcuni ricercatori dell'Osservatorio "Software open source nella Pubblica Amministrazione" dell'Università di Bologna hanno effettuato una rilevazione automatica circa il tipo di web server utilizzato dalle pubbliche amministrazioni locali italiane. Risulta che Appena il 40% dei server utilizza Apache (contro il 60% europeo).
Secondo l'Osservatorio dell'Università di Bologna, poiché Apache rappresenta una delle applicazioni di più ovvio e diffuso utilizzo, una organizzazione che non possiede neppure un server open source, "mostra in media di possedere una scarsa propensione all'uso del software open source all'interno di tali amministrazioni. Perciò i dati della rilevazione, pur non riferendosi esplicitamente all'uso di software libero in generale, valutano la propensione dell'amministrazione pubblica all'utilizzo del software libero.
L'adozione del software libero nella pubblica amministrazione comporta, come abbiamo ripetuto più volte, un risparmio iniziale in termini di licenze; il risparmio deriva anche dagli eventuali servizi di assistenza, installazione, gestione, manutenzione, aggiornamento. Disporre dei codici sorgente dei propri programmi è inoltre un notevole vantaggio per la sicurezza.
La ricerca di vulnerabilità ad attacchi di hacking o di backdoor nei sistemi proprietari è affidata esclusivamente ai produttori; con il software libero sono più semplici e sicuri i controlli. Indiscutibilmente il software libero è meno vulnerabile ad attacchi dall'esterno da parte di malintenzionati.
L'esempio fornito da Cuba nelle scorse settimane è emblematico: la pubblica amministrazione dell'isola ha deciso di adottare il software libero.
Ma è importante sottolineare che anche l'amministrazione Obama si sta muovendo verso l'adozione del software libero, sollecitato da aziende produttrici di software open source come Sun Microsystems. Il software libero renderebbe la PA indipendente da un produttore di software; inoltre i documenti digitali diverrebbero interoperabili, poiché sarebbero basati su formati aperti e standard (in questo modo anche sistemi diversi sarebbero in grado di condividere gli stessi dati).
I "formati testo aperti standard" hanno il beneficio della persistenza, Un problema al contrario presente nel software proprietario. Mentre, infatti, tra una versione e l'altra del software, la casa produttrice potrebbe (ma succede molto spesso) cambiare lo standard del formato (che di conseguenza diverrebbe inutilizzabile su sistemi dotati di software più vecchio), i documenti creati con software libero sono persistenti perché non sono soggetti ad "invecchiamento" (tra l'altro è importante sottolineare che il software libero è molto spesso in grado di gestire i formati "proprietari" - cioè "chiusi").
Abbiamo avuto modo di scoprire la storia del software libero, e i suoi pro e contro.
Abbiamo visto perché adottare il software libero e possibilmente il "pinguino" a livello didattico o di pubblica amministrazione ha i suoi vantaggi.
Indiscutibilmente molti quesiti sono dovuti al fatto che molti utenti sono in grado di risolvere eventuali problemi e rilasciare aggiornamenti frequentemente.
La libera circolazione della conoscenza, nell'ambito informatico ha permesso a grandi comunità di sviluppatori di scambiarsi in rete idee e file, senza un controllo o una autorità centrale, per creare software complessi.
Il passaggio al software libero nel mondo della didattica e della pubblica amministrazione potrebbe essere realtà se solo da parte degli enti competenti vi fosse maggiore sensibilità ed interessamento, e se tra i fruitori di esso vi sia una sufficiente competenza.
MegaLab.it rispetta la tua privacy. Per esercitare i tuoi diritti scrivi a: privacy@megalab.it .
Copyright 2008 MegaLab.it - Tutti i diritti sono riservati