Open Source e Free Software
 
20/08/2005 - 17:14

Questo e' il primo di una serie di articoli che riguardano fatti o avvenimenti non molto noti a gran parte delle persone, ma che, riteniamo, debbano essere resi noti e divulgati. Argomenti che riguardano la rete direttamente od indirettamente. Argomenti indirizzati non solo agli addetti ai lavori, anzi, al contrario, diretti proprio verso tutte quelle persone che non essendo esperte in materia informatica, ignorano completamente il problema. Argomenti che spesso vengono trattati 'maldestramente' dai media, i quali finiscono quasi sempre per fornire informazioni inesatte (o addirittura completamente distorte). Questi articoli che vedrete su Wowarea, non hanno la pretesa di essere dei veri 'pezzi' giornalistici, in quanto, beh...siamo tecnici e non giornalisti. Percio' lasciamo questo lavoro a chi sa farlo meglio di noi. L'unico scopo di questi articoli e' quindi INFORMARE. Ma arriviamo al dunque: l'open source ed il free software.

Ok, cominciamo con il dire che agli albori dell'era informatica il software era libero e gratuito, difatti le comunita' di programmatori cooperavano e si scambiavano i programmi tra loro liberamente. Non esisteva ancora il concetto di copyright nel software e le informazioni si diffondevano all' interno della comunita' informatica cosi' come avveniva ed avviene tutt'ora all'interno della comunita' scientifica. Le scoperte scientifiche difatti, vengono pubblicate su riviste autorevoli e divulgate in tutto il mondo. Questo spirto di cooperazione e' stato lo spirito che ha animato (a parte la scintilla iniziale di carattere militare) da sempre la comunita' di Internet. Internet e' nata prima in ambito militare e poi si e' diffusa immediatamente in ambito scientifico. Solo recentemente (anche grazie alla comparsa del web) si e' diffusa in ambito commerciale. Ma tornando al software...tutto e' andato bene sino a quando le societa' che lo sviluppavano non hanno cominciato a far pagare agli utilizzatori il software da loro prodotto. C'e' poi chi ha addirittura esagerato e ha creato situazioni di monopolio (leggi Microsoft). Tutto a discapito della qualita' del software prodotto. Monopolio infatti significa: 'o mangi questa minestra o...'. Ma la notizia non e' questa. La notizia e' che sta comparendo nuovamente il concetto di software libero e gratuito.

Questo grazie all'azione di migliaia di volontari e di organizzazioni sparse in tutto il mondo - legate tra loro, guarda un po', dalla rete - che da anni cooperano congiuntamente per raggiungere degli obiettivi comuni. Grazie a queste persone sono nati progetti grandiosi e meravigliosi, come l'organizzazione GNU, la free software foundation, l'open source, l'organizzazione Mozilla, LINUX e molti altri. I promotori e gli ideatori di questi progetti sono degli HACKER famosi. Gia', guarda un po', gli hacker non sono cattivi (questo sara' il tema di un prossimo articolo) come vogliono farci credere. Anzi. Linus Torvalds ad esempio, e' stato l'hacker ideatore del mitico sistema operativo linux. Richard Stallman e' stato l'hacker ideatore del progetto GNU (un sistema operativo stile Unix ma gratuito). Questo solo per citare due dei personaggi piu' famosi. Stiamo parlando di studenti universitari particolarmente brillanti e di persone che hanno lavorato presso universita' prestigiose come il mitico MIT (Massachusetts Institute of Technology). Poi e' nato l'open source (lett. sorgente aperto).

Ma per capire la chiave del problema occorre dare una piccolissima spiegazione tecnica ai non addetti ai lavori. Occorre sapere infatti che il software esiste in 2 formati particolari: un formato 'sorgente' ed uno 'eseguibile'. La parte sorgente e' il codice del programma scritto con un qualsiasi linguaggio di programmazione (come il C, il Java od il Cobol). La parte eseguibile invece e', grossomodo, la traduzione di quel codice in un linguaggio comprensibile solo al calcolatore (incomprensibile cioe' agli umani). Il sorgente in sostanza e' una serie di comandi e di istruzioni impartite al calcolatore e scritte da un programmatore (puo' essere scritto come se fosse una lettera, usando ad esempio il programma Word). Questo sorgente puo' essere letto da tutti e, chiunque, se e' in grado di farlo, puo' apporre modifiche o migliorie. Basta sapere dove mettere le mani ;o). Le cose stanno diversamente con il formato 'eseguibile' che e' una traduzione (fatta da un apposito programma chiamato compilatore) del sorgente in un linguaggio comprensibile esclusivamente dal calcolatore. Un programma in formato eseguibile (cioe' tradotto dal compilatore) e' impossibile da leggere per gli umani. Tutto questo perche' il calcolatore non capisce il nostro linguaggio e noi umani non comprendiamo il suo. Il calcolatore non sa che farsene del programma scritto come se fosse un documento Word. Non lo capisce. Occorre pertanto una fase di traduzione da sorgente (comprensibile dagli umani ma non dal calcolatore) ad eseguibile (incomprensibile per gli umani ma comprensibile dal calcolatore).

E siamo arrivati al punto. Word od Internet Explorer ad esempio (cito dei programmi Microsoft perche' sono presenti nel 90% dei PC e quindi li conoscono quasi tutti) sono programmi che vengono distribuiti soltanto in formato eseguibile. Non vengono diffusi cioe' i sorgenti di tali programmi. Perche'? Semplice: se io che sono programmatore ho a disposizione il formato sorgente del programma Word, posso modificarlo ed apportare migliorie a mio piacimento. Posso addirittura eliminare (ma non e' legale) le protezioni che impediscono a tale software di funzionare quando non lo si e' pagato (operazione denominata 'cracking' del software). In altre parole diventerebbe un programma open source (cosa non voluta dalla casa produttrice). Al contrario, se non si diffondono i sorgenti di tale programma, io che sono programmatore non posso fare altro che pagare quel programma se voglio utilizzarlo, non essendo piu' in grado - avendo a disposizione solo il formato eseguibile - di modificarlo o di eliminare le protezioni.

Il software quindi e' composto di 2 parti, una parte sorgente ed una eseguibile. Bene, quando di un software viene distribuita solo la parte eseguibile si parla di software proprietario (di proprieta' cioe' di una societa' produttrice di software), e per poterlo usare occorrono delle licenze. Licenze vendute dalla stessa casa produttrice. Queste licenze hanno un prezzo piu' o meno alto, ma hanno comunque un prezzo. Esiste cioe' il concetto di copyright o diritto di copia, che piu' o meno significa che su ogni copia di software distribuita, la casa produttrice detiene dei diritti. Tali diritti costituiscono il prezzo del software. Quindi chi compra un programma, in realta' non compra il programma ma solo una copia di esso. Per tale motivo non e' possibile copiare un programma di questo tipo e diffondere le copie ottenute (operazione illegale). Un po' come avviene con i disci ed i CD (vedi il caso Napster con i file mp3). Al contrario, quando di un software si distribuisce anche la parte sorgente, parliamo di open source, ossia di sorgente aperto (cioe' libero e leggibile - e quindi modificabile - da tutti). Attenzione: il sorgente aperto non e' ancora un software gratuito. Infatti un programma open source puo' essere distribuito gratuitamente o anche venduto. E' solo un software del quale sono disponibili i sorgenti. Questa sottile differenza tra software libero (free) e sorgente aperto (open source) viene discussa nelle pagine del sito che fa capo al progetto GNU: www.gnu.org. Comunque spesso vengono usati questi termini indistintamente per indicare la stessa cosa: software libero (libero da copyright) disponibile ed utilizzabile da tutti. Ecco che cosi' viene a crearsi il concetto di copyleft (esatto contrario di copyright), ossia non piu' diritto sulle copie distribuite ma permesso di copia (ossia chiunque e' libero di copiare e diffondere il programma). Questo per sommi capi il concetto di open source. Seguono comunque delle definizioni piu' precise delle varie categorie di software.

Categorie di software secondo la GNU Software libero: chiunque puo' usarlo, copiarlo e distribuirlo, in versione originale o modificato, gratis o a pagamento. Deve essere disponibile il codice sorgente. Software open source: sorgenti aperti, ossia disponibili e consultabili. Molti usano questo termine attribuendogli lo stesso significato che ha il software libero. Alla GNU pero' fanno distinzione e preferiscono usare il termine 'software libero'. Software di pubblico dominio: software senza copyright. Software con permesso d'autore (copyleft): chi ridistribuisce questo software libero non puo' apporre delle restrizioni aggiuntive alle versioni ridistribuite. Software senza permesso d'autore: e' software libero dove pero' chi lo ridistribuisce puo' apporre delle restrizioni. Esempio di tale software e' l' X Window System (www.x.org). Software con licenza GPL: General Public Licenze, e' una licenza specifica usata per moltissimi programmi sviluppati nell'ambito del progetto GNU. Software semilibero: software non libero che pero' puo essere distribuito, copiato e modificato senza scopo di lucro. Ad esempio il programma PGP e' software semilibero. Software proprietario: e' software non libero. Non si puo' ridistribuire, copiare o modificare. Software freeware: puo' essere ridistribuito ed usato gratuitamente ma non si puo' modificare (i sorgenti non sono disponibili). Software shareware: ogni copia usata necessita di una licenza d'uso che occorre pagare. Non e' pertanto software libero anche se puo' essere ridistribuito. Software commerciale: sviluppato da un'azienda con lo scopo di guadagnarci sopra, ma da non confondere con il software proprietario. Infatti anche se la maggior parte del software commerciale e' proprietario, il software commerciale puo' anche essere libero. Si puo' lucrare sul software libero in modi diversi, ad esempio gli sviluppatori GNU del compilatore ADA (software libero) vendono contratti di assistenza. Ma il compilatore ADA di per se' e software libero (licenza GPL). Ossia: tu usi ADA liberamente (e' software libero) pero' se vuoi l' assistenza degli sviluppatori della GNU devi pagare. Le esatte definizioni, maggiori dettagli e maggiori informazioni in merito al software libero sono disponibili presso il sito dell' organizzazione GNU: www.gnu.org

In Italia? Ora che abbiamo parlato dell'open source, occorre dire che ci sono dei progetti europei che mirano alla diffusione ed alla promozione dell'open source. La Francia ha da tempo iniziato delle sperimentazioni per introdurre Linux nel sistema scolastico, la Germania ha finanziato con denaro pubblico il progetto GPG (Gnu Privacy Guardian), una sorta di PGP ma libero. E l'italia? Beh, si sta promuovendo l'alfabetizzazione informatica nelle scuole (PC ed accessi ad Internet). Ma di open source non se ne parla. Si finira' con l'usare software proprietario? Recentemente un articolo su Linux&C forniva un parallelo perfettamente azzeccato tra lingua parlata e software: in sostanza il rapporto tra software proprietario e software libero e' lo stesso che esiste tra il linguaggio klingon e la lingua comune. Per chi non lo sapesse il linguaggio klingon e' stato brevettato dalla casa cinematografica che detiene i diritti sul famosissimo telefilm start trek. E' il linguaggio usato dagli avversari dell'astronave Enterprise, i klingon appunto. Nell'esempio veniva evidenziato come un linguaggio brevettato non sia liberamente alterabile (in quanto protetto da copyright) e pertanto se si volesse migliorarlo (magari aggiungendo nuove espressioni) si verrebbe immediatamente perseguiti legalmente. E' un parallelo perfettamente azzeccato, in quanto evidenzia con efficacia la relazione che esiste tra liberta' d'uso e di modifica di un software ed altre liberta' insindacabili come la...liberta' di espressione e di parola.

Alcuni indirizzi utili www.gnu.org (progetto GNU - GNU's Not Unix) www.opensource.org (org. open source) www.stallman.org sourceforge.net



Torna indietro
 

Home  Chi siamo?  Scrivici!  

Copyright © 1998-2006 Wowarea