COS'È L'OPEN SOURCE?
Un po’
di storia...
Open Source significa (codice) sorgente aperto, cioè leggibile. Questa
concezione del software sottende la possibilità che più persone
possano guardare il codice sorgente e, eventualmente, apporre delle modifiche
che consentano di migliorarlo, permettendone uno sviluppo più veloce
e ottimale.
Il concetto di codice sorgente aperto affonda le sue radici nella storia della
BSD (Berkeley Software Distribution) e di Unix. Parliamo quindi della seconda
metà degli anni ’70. Soltanto nel 1998, tuttavia, il termine “Open
Source” è stato ufficializzato da alcuni sviluppatori e dalla comunità
Internet affiancandolo a quello già esistente di free software (software
libero).
L’evento che ha dato il via al diffondersi dell’espressione “open
source” è stato il rilascio, nel febbraio 1998, del codice sorgente
del browser Netscape.
Nello stesso anno in California è nata un’associazione non-profit,
la “Open Source Initiative”
(OSI), con lo scopo di ufficializzare le licenze che rendono libero il codice
sorgente. L'intenzione dichiarata dell'OSI è quella di mantenere l’integrità
del movimento e di prevenire l’abuso da parte dei produttori di software
proprietario. Ha quindi portato avanti una campagna promozionale a favore del
software open source, tentando di registrare il marchio. Nel 1999, tuttavia,
il tentativo è fallito e la richiesta è stata fatta decadere.
Nel corso del 1997 e del 1998, alcuni software open source come Linux,
FreeBSD, Apache e Perl hanno cominciato a diffondersi su larga scala e ad attirare
l’attenzione di un pubblico nuovo: manager di progetto, dirigenti, analisti
d’industria e investitori. Ciò ha fatto sì che, negli anni,
molte aziende abbiano contribuito allo sviluppo del software libero. Molte di
queste, tuttavia, hanno cercato di dare un significato diverso al concetto di
“Open Source”.
All’incontro “Open Source Developers Day” svoltosi nell’agosto
1998, per esempio, diversi fra gli sviluppatori commerciali presenti dichiararono
di essere intenzionati a trasformare (o creare) in open source solo una parte
del proprio lavoro, aggiungendo a esso software e/o documentazione proprietarie
(cioè con codice sorgente non visibile).
Lo scopo di queste aziende dunque sembra soprattutto quello di dare un'immagine
open source ai prodotti software proprietari da loro creati.
Che cos’è il Codice Sorgente?
I programmi che girano sui nostri computer corrispondono a sequenze di numeri
esadecimali, di solito talmente complessi da essere incomprensibili alla mente
umana.
Il codice sorgente non è altro che il linguaggio “umano”
composto di parole e numeri (istruzioni). È 'scritto' dal programmatore
e poi convertito (in codice binario) in modo automatico da un software compilatore
che lo rende leggibile al computer.
Linguaggio di programmazione
(codice sorgente) >> |
Compilatore >> |
Linguaggio macchina (target) |
Questa traduzione è praticamente irreversibile. Usare un programma senza
il codice sorgente significa quindi:
* non sapere come è fatto;
* ignorare quali potrebbero essere le sue potenzialità al di là
del suo output finito;
* impedire ogni eventuale miglioramento del programma, poiché non è
possibile modificare il codice.
Open Source e Software Libero
La frase Open Source Software è talvolta usata con lo stesso significato
di Free Software, cioè software libero.
In realtà occorre fare alcune precisazioni.
All’interno della comunità del software libero esistono due partiti
politici: il movimento pro Open Source e quello a favore del Software Libero,
che potremmo definire come due correnti di pensiero nell’ambito di una
stessa cultura.
Cos’è il software libero?
Dobbiamo alla “Free Software Foundation”
(FSF) la definizione di software libero e delle quattro libertà che questo
garantisce. Secondo la FSF, infatti, con il software libero si ha la libertà
di:
* eseguire il programma;
* studiare come funziona e adattarlo alle proprie necessità;
* ridistribuirne copie;
* migliorare il programma e distribuirne pubblicamente i miglioramenti, in modo
tale che tutta la comunità ne tragga beneficio.
Il software libero offre quindi la libertà di imparare,
di insegnare e di competere ma anche libertà
di parola e di scelta.
Dal punto di vista pratico, tuttavia, non esistono differenze sostanziali fra
programmi open source e software libero. La differenza fondamentale
tra i due movimenti, al contrario, si trova nei loro valori, nel modo diverso
di guardare il mondo.
Per il movimento Open Source la visibilità del codice sorgente è
un problema pratico, una metodologia di sviluppo. L’associazione per il
Software Libero (a cui si deve lo sviluppo del sistema operativo GNU/Linux)
offre invece una filosofia vera e propria, che trae le proprie origini dall’idea
del libero scambio della conoscenza e del pensiero. Per quest'ultima dunque
il software non libero è soprattutto un problema sociale per il quale
il software libero rappresenta la soluzione.
Li accomuna un problema comune: il software proprietario,
cioè quello il cui utilizzo, ridistribuzione o modifica sono proibiti
o richiedono un permesso.
Free software: libero e/o gratuito?
Secondo alcuni l’espressione “Free Software” (software libero)
è ambiguo poiché free, in inglese, significa sia “libero”
sia “gratuito”.
In italiano, tuttavia, questi concetti ben distinti e la traduzione di “free”
non dà adito a dubbi.
“Free” quindi, si riferisce alla libertà
e non al prezzo: alla libertà dell’utente di eseguire,
copiare, distribuire, studiare, cambiare e migliorare il software senza chiedere
alcun permesso o dover pagare per farlo.
Perché il software sia libero e queste libertà siano reali, tuttavia,
è fondamentale avere accesso al codice sorgente del programma. Purtroppo
quando si parla di software libero, spesso si crede – erroneamente –
che esso debba essere non commerciale, cioè gratis.
Il software commerciale è sviluppato da un’azienda a scopo di
lucro. Software libero non significa “non commerciale”.
Molti fra i produttori di software libero lavorano nel campo del software commerciale.
Ne consegue che un programma libero deve essere disponibile anche per uso, sviluppo
e distribuzione commerciali.
E’ vero che la maggior parte del software commerciale è proprietario,
tuttavia, esiste anche software libero commerciale e software non commerciale
non libero!
( Tratto
da: ScuolaER
)
PER APPROFONDIRE:
Diffusione
dell'open source nelle scuole italiane
Il
glossario dell'open source
La
definizione di open source (in inglese)