La definizione di "Software libero" dalla Free Software Foundation:
Il "software libero" è una questione di libertà, non di prezzo. Per capire il concetto, dovresti pensare a "libero" come a "libertà di parola", non come a "birra libera".
Il software libero è una questione di libertà degli utenti di eseguire, copiare, distribuire, studiare, cambiare e migliorare il software. Più precisamente, significa che gli utenti del programma hanno le quattro libertà essenziali:
- La libertà di eseguire il programma, per qualsiasi scopo (libertà 0).
- La libertà di studiare come funziona il programma e cambiarlo per farlo fare ciò che desideri (libertà 1). L'accesso al codice sorgente è una condizione preliminare per questo.
- La libertà di ridistribuire copie in modo da poter aiutare il tuo vicino (libertà 2).
- La libertà di distribuire copie delle versioni modificate ad altri (libertà 3). In questo modo puoi dare a tutta la comunità la possibilità di beneficiare dei tuoi cambiamenti. L'accesso al codice sorgente è una condizione preliminare per questo.
Un programma è un software gratuito se gli utenti hanno tutte queste libertà. Pertanto, dovresti essere libero di ridistribuire copie, con o senza modifiche, gratuitamente o addebitando una commissione per la distribuzione, a chiunque ovunque. Essere liberi di fare queste cose significa (tra le altre cose) che non devi chiedere o pagare il permesso per farlo.
La definizione di "software open source" dall'iniziativa open source:
Open source non significa solo accesso al codice sorgente. I termini di distribuzione del software open source devono essere conformi ai seguenti criteri:
Ridistribuzione gratuita La licenza non deve impedire a nessuna parte di vendere o distribuire il software come componente di una distribuzione di software aggregata contenente programmi provenienti da diverse fonti diverse. La licenza non richiede una sovranità o altra tassa per tale vendita.
Codice sorgente Il programma deve includere il codice sorgente e deve consentire la distribuzione nel codice sorgente e nella forma compilata. Laddove una qualche forma di un prodotto non sia distribuita con il codice sorgente, ci deve essere un mezzo ben pubblicizzato per ottenere il codice sorgente per non più di un ragionevole costo di riproduzione, preferibilmente scaricandolo da Internet gratuitamente. Il codice sorgente deve essere la forma preferita in cui un programmatore dovrebbe modificare il programma. Il codice sorgente deliberatamente offuscato non è consentito. Non sono consentiti moduli intermedi come l'output di un preprocessore o traduttore.
Opere derivate La licenza deve consentire modifiche e opere derivate e deve consentire la loro distribuzione agli stessi termini della licenza del software originale.
Integrità del codice sorgente dell'autore La licenza può impedire la distribuzione del codice sorgente in forma modificata solo se la licenza consente la distribuzione di "file patch" con il codice sorgente allo scopo di modificare il programma in fase di compilazione. La licenza deve consentire esplicitamente la distribuzione di software creato da codice sorgente modificato. La licenza può richiedere che le opere derivate abbiano un nome o un numero di versione diverso dal software originale.
Nessuna discriminazione nei confronti di persone o gruppi La licenza non deve discriminare alcuna persona o gruppo di persone.
Nessuna discriminazione nei confronti di Fields of Endeavour La licenza non deve impedire a nessuno di utilizzare il programma in uno specifico campo di attività. Ad esempio, potrebbe non impedire che il programma venga utilizzato in un'azienda o utilizzato per la ricerca genetica.
Distribuzione della licenza I diritti allegati al programma devono applicarsi a tutti coloro a cui il programma è ridistribuito senza la necessità di eseguire una licenza aggiuntiva da parte di tali soggetti.
La licenza non deve essere specifica per un prodotto I diritti collegati al programma non devono dipendere dal fatto che il programma faccia parte di una particolare distribuzione di software. Se il programma viene estratto da tale distribuzione e utilizzato o distribuito entro i termini della licenza del programma, tutte le parti a cui viene ridistribuito il programma dovrebbero avere gli stessi diritti di quelli concessi insieme alla distribuzione del software originale.
La licenza non deve limitare altri software La licenza non deve imporre restrizioni su altri software distribuiti insieme al software concesso in licenza. Ad esempio, la licenza non deve insistere sul fatto che tutti gli altri programmi distribuiti sullo stesso supporto debbano essere software open source.
La licenza deve essere neutra dalla tecnologia Nessuna disposizione della licenza può essere basata su qualsiasi singola tecnologia o stile di interfaccia.
Queste definizioni, sebbene derivino da ideologie molto diverse, sono ampiamente compatibili e la maggior parte del software libero è anche software open source e viceversa. Ritengo, tuttavia, che non sia possibile che ciò avvenga: è possibile che il software sia Open Source senza essere Free o che sia Free senza essere Open Source.
Domande
- La mia convinzione è corretta? È possibile che il software rientri in un campo e non nell'altro?
- Esiste davvero un software del genere? Per favore, fai degli esempi.
Una precisazione
Ho già accettato una risposta ora, ma mi sembra di aver confuso molte persone, quindi forse è necessario un chiarimento. Mi è stato non chiedendo la differenza tra copyleft (o "virale", anche se non mi piace questo termine) e senza permesso d'autore ( "permissive") licenze. Né ti chiedevo delle tue definizioni idiosincratiche personali di "Libero" e "Aperto". Stavo chiedendo "Software libero definito dall'FSF" e "Software open source definito dall'OSI". I due sono sempre gli stessi? È possibile essere l'uno senza essere l'altro?
E la risposta, a quanto pare, è che è impossibile essere liberi senza essere aperti, ma è possibile essere aperti senza essere liberi. Grazie a tutti coloro che hanno effettivamente risposto alla domanda.