InformaticaMondo LinuxOpen Source

Open Source Definition

Quando si parla di Open Source spesso si fa confusione confondendo la definizione con quella di Free Software.
Ho pensato dunque di fare due piccoli post dedicati alle due definizioni in modo da chiarire ai neofiti (e non) di GNU/Linux quale siano le differenze. 
Cominciamo con la Open Source Definition ovvero la Definizione di Open Source, definizione ufficiale adottata dal movimento Open Source.
Riporto la traduzione da Wikipedia Italia. 

La definizione di open source

Versione 1.9

Le sezioni indentate e in corsivo appaiono come note esplicative
della Definizione di open source (OSD) e non sono parte della
definizione stessa.

Introduzione
Open source non significa semplicemente libero accesso al codice sorgente di un programma. La licenza di un software, per potersi considerare open-source, deve soddisfare i seguenti criteri:
1. Libera redistribuzione
La licenza non può limitare alcuno dal vendere o donare il software
che ne è oggetto, come componente di una distribuzione aggregata,
contenente programmi di varia origine. La licenza non può richiedere
diritti o altri pagamenti a fronte di tali vendite.

Motivo: Imponendo la libera redistribuzione, si elimina la
tentazione di rinunciare a importanti guadagni a lungo termine in
cambio di un guadagno materiale a breve termine, ottenuto con il
controllo delle vendite. Se non vi fosse questa imposizione, i
collaboratori esterni sarebbero tentati di abbandonare il progetto,
invece che di farlo crescere.

2. Codice sorgente
Il programma deve includere il codice sorgente e ne deve essere
permessa la distribuzione sia come codice sorgente che in forma
compilata. Laddove alcune forme di un prodotto non siano distribuite con
il relativo codice sorgente, deve essere chiaramente indicato il modo
per ottenerlo, ad un costo non superiore ad una ragionevole spesa di
distribuzione, preferibilmente scaricandolo gratuitamente da Internet.
Per codice sorgente si intende la forma in cui un programmatore
preferirebbe modificare il programma. Codice sorgente deliberatamente
reso illeggibile non risponde ai requisiti. Forme intermedie come
l’output di un preprocessore o compilatore non rispondono ai requisiti.

Motivo: Si richiede l’accesso al codice sorgente poiché
non si può far evolvere un programma senza poterlo modificare. Il nostro
obiettivo è rendere facile l’evoluzione del software, pertanto
richiediamo che ne sia resa facile la modifica.

3. Prodotti derivati
La licenza deve permettere modifiche e prodotti derivati, e deve
permetterne la distribuzione sotto le stesse condizioni della licenza
del software originale.

Motivo: La sola possibilità di leggere il codice sorgente
non è sufficiente a permettere la revisione indipendente del software da
parte di terzi e una rapida selezione evolutiva. Per garantire una
rapida evoluzione, deve essere possibile sperimentare modifiche al
software e redistribuirle.

4. Integrità del codice sorgente originale
La licenza può impedire la distribuzione del codice sorgente in forma
modificata, a patto che venga consentita la distribuzione
dell’originale accompagnato da “patch”, ovvero file che permettono di
applicare modifiche automatiche al codice sorgente in fase di
compilazione. La licenza deve esplicitamente permettere la distribuzione
del software prodotto con un codice sorgente modificato. La licenza può
richiedere che i prodotti derivati portino un nome o una versione
diversa dal software originale.

Motivo: Incoraggiare il miglioramento è bene, ma gli
utenti hanno diritto di sapere chi è responsabile del software che
stanno usando. Gli autori e i tecnici hanno diritto reciproco di sapere
cosa è loro chiesto di supportare e di proteggersi la reputazione.
Perciò, una licenza open source deve garantire che il codice sorgente sia facilmente disponibile, ma può
eventualmente richiedere che esso sia redistribuito solo in forma
originale più file patch. In questo modo le modifiche “non ufficiali”
possono essere rese disponibili pur rimanendo distinte dal codice
sorgente originale.

5. Discriminazione contro persone o gruppi
La licenza non deve discriminare alcuna persona o gruppo di persone.

Motivo: Per ottenere il massimo beneficio dal processo, il
massimo numero di persone e gruppi deve avere eguale possibilità di
contribuire allo sviluppo del software. Pertanto viene proibita
l’esclusione arbitraria dal processo di persone o gruppi.
Alcuni paesi, inclusi gli Stati Uniti, hanno restrizioni
all’esportazione di certi tipi di software. Una licenza conforme all’OSD
può avvertire gli utenti di possibili restrizioni e ricordare loro che
sono obbligati a rispettare la legge; in ogni caso non può incorporare
tali restrizioni essa stessa.

6. Discriminazione per campo d’applicazione
La licenza non deve impedire di far uso del programma in un ambito
specifico. Ad esempio non si può impedire l’uso del programma in ambito
commerciale o nell’ambito della ricerca genetica.

Motivo: L’intenzione principale di questa clausola è di
proibire trappole nelle licenze che impediscano al software open source
di essere usato commercialmente. Vogliamo che le aziende si uniscano
alla nostra comunità, non che se ne sentano escluse.

7. Distribuzione della licenza
I diritti allegati a un programma devono essere applicabili a tutti
coloro a cui il programma è redistribuito, senza che sia necessaria
l’emissione di ulteriori licenze.

Motivo: Questa clausola intende proibire la chiusura del
software per mezzi indiretti, come un obbligo di sottoscrizione di
accordi di non diffusione.

8. Specificità ad un prodotto
I diritti allegati al programma non devono dipendere dall’essere il
programma parte di una particolare distribuzione di software. Se il
programma è estratto da quella distribuzione e usato o redistribuito
secondo i termini della licenza del programma, tutti coloro che ricevano
il programma dovranno avere gli stessi diritti che sono garantiti nel
caso della distribuzione originale.

Motivo: Questa clausola impedisce un’ulteriore classe di licenze-trappola.

9. Vincoli su altro software
La licenza non deve porre restrizioni su altro software distribuito
insieme al software licenziato. Per esempio, la licenza non deve
richiedere che tutti gli altri programmi distribuiti sugli stessi
supporti siano software open source.

Motivo: I distributori di software open source hanno il diritto di fare le loro scelte riguardo al software che intendono distribuire.

10. Neutralità rispetto alle tecnologie
La licenza non deve contenere clausole che dipendano o si basino su particolari tecnologie o tipi di interfacce.

Motivo: Questa clausola è diretta in particolar modo a
quelle licenze che richiedano un gesto esplicito di approvazione da
parte dell’utente, al fine di stabilire un contratto. Clausole che
richiedano un “click” su interfacce web o di altro tipo possono essere
in conflitto con importanti metodi di distribuzione del software, come i
siti FTP, le raccolte su CDROM e le copie distribuite sul Web. Tali
clausole possono rendere difficoltoso il riutilizzo del software. Le
licenze valide devono permettere la possibilità che: 1) il software
venga distribuito mediante canali diversi dal Web, sui quali non si
possa richiedere un “click” esplicito prima di iniziare il download, e
che 2) il programma in oggetto, o sue porzioni, possano essere
utilizzati in ambienti privi di interfaccia grafica, nei quali non si
possa richiedere la presenza di specifiche finestre di dialogo.

Origine: La prima bozza di questo documento fu scritta da Bruce Perens come “Linee guida per il software libero in Debian”.
Essa venne ampiamente discussa e migliorata nelle mailing list del
progetto Debian nel giugno 1997. Questo documento è il risultato della
rimozione di ogni riferimento a Debian e della successiva pubblicazione
del risultato.

Marco Giannini

Quello del pacco / fondatore di Marco’s Box