English [en]   Afrikaans [af]   العربية [ar]   Azərbaycanca [az]   български [bg]   বাংলা [bn]   català [ca]   Česky [cs]   dansk [da]   Deutsch [de]   ελληνικά [el]   Esperanto [eo]   español [es]   فارسی [fa]   français [fr]   galego [gl]   עברית [he]   hrvatski [hr]   magyar [hu]   Bahasa Indonesia [id]   italiano [it]   日本語 [ja]   한국어 [ko]   lietuvių [lt]   norsk (bokmål) [nb]   Nederlands [nl]   polski [pl]   português do Brasil [pt-br]   română [ro]   русский [ru]   slovenčina [sk]   slovenščina [sl]   српски [sr]   svenska [sv]   தமிழ் [ta]   Tagalog [tl]   Türkçe [tr]   українська [uk]   简体中文 [zh-cn]   繁體中文 [zh-tw]  

Da trent'anni la Free Software Foundation è ritenuta una guida autorevole per il movimento del software libero e si batte per la libertà degli utenti.

Aiutateci a continuare il nostro lavoro facendo una donazione che ci avvicini all'obiettivo dei 450.000$ entro il 31 gennaio.

450mila $
314 mila finora

Questa è la traduzione di una pagina scritta originariamente in lingua inglese.

Cos'è il Software Libero?

This page is maintained by the Free Software Foundation's Licensing and Compliance Lab. You can support our efforts by making a donation to the FSF. Have a question not answered here? Check out some of our other licensing resources or contact the Compliance Lab at licensing@fsf.org.

Definizione di Software Libero

La definizione di Software Libero chiarisce quali sono i requisiti che un certo programma deve soddisfare perché lo si possa considerare “software libero”. La definizione viene occasionalmente sottoposta a revisioni per chiarificarla o spiegare come interpretare alcune sfumature. Per analizzare le modifiche effettuate basta leggere la sezione Storia nel seguito.

Il “Software libero” è software che rispetta la libertà degli utenti e la comunità. In breve, significa che gli utenti hanno la libertà di eseguire, copiare, distribuire, studiare, modificare e migliorare il software. Quindi è una questione di libertà, non di prezzo. Per capire il concetto, bisognerebbe pensare alla “libertà di parola” e non alla “birra gratis”; in inglese a volte usiamo “libre” per disambiguare [NdT: il termine free in inglese significa sia gratuito che libero, in italiano il problema non esiste].

Noi difendiamo attivamente queste libertà, perché tutti hanno diritto ad averle. Tramite queste libertà gli utenti (individualmente o nel loro complesso) controllano il programma e le sue funzioni. Quando non sono gli utenti a controllare il programma, allora il programma (che in quel caso chiamiamo "non libero" o "proprietario") controlla gli utenti; e gli sviluppatori controllano il programma, che quindi diventa uno strumento di abuso.

Un programma è software libero se gli utenti del programma godono delle quattro libertà fondamentali:

Un programma è software libero se l'utente ha tutte queste libertà in modo adeguato. Altrimenti diciamo che è non libero. I modelli di distribuzione non liberi si possono differenziare a seconda di quanto si distanziano dall'essere liberi, ma per noi sono tutti non etici allo stesso modo.

In qualsiasi scenario specifico, queste libertà devono applicarsi a qualsiasi codice noi vogliamo usare o fare usare agli altri. Ad esempio, consideriamo un programma A che automaticamente lancia un programma B per svolgere determinati compiti. Se vogliamo distribuire A così com'è, allora gli utenti avranno bisogno anche di B e dovremo giudicare se la coppia di programmi A e B è libera. Altrimenti, se vogliamo modificare A in modo che non usi B, dovrà essere libero solo A e potremo ignorare B.

Il resto di questa pagina chiarisce cosa significa che determinate libertà sono concesse in modo adeguato.

La libertà di distribuire (libertà 2 e 3) significa che si è liberi di ridistribuire copie, con o senza modifiche, gratis o addebitando delle spese di distribuzione a chiunque ed ovunque. Essere liberi di fare queste cose significa (tra l'altro) che non bisogna chiedere o pagare alcun permesso.

Bisogna anche avere la libertà di fare modifiche e usarle privatamente nel proprio lavoro o divertimento senza doverlo dire a nessuno. Se si pubblicano le proprie modifiche, non si deve essere tenuti a comunicarlo a qualcuno in particolare o in qualche modo particolare.

La libertà di usare un programma significa libertà per qualsiasi tipo di persona od organizzazione di utilizzarlo su qualsiasi tipo di sistema informatico, per qualsiasi tipo di attività e senza dover successivamente comunicare con lo sviluppatore o con qualche altra entità specifica. Quello che conta per questa libertà è lo scopo dell'utente, non dello sviluppatore; come utenti potete eseguire il programma per i vostri scopi; se lo ridistribuite a qualcun altro, egli è libero di eseguirlo per i propri scopi, ma non potete imporgli i vostri scopi.

La libertà di eseguire il programma come si desidera significa semplicemente che non ci sono divieti a farlo, e non ha nulla a che fare con quali funzioni ha il programma o se è utile per quello che si desidera fare.

La libertà di ridistribuire copie deve includere le forme binarie o eseguibili del programma e anche il codice sorgente, sia per le versioni modificate che non modificate (distribuire programmi in formato eseguibile è comodo per avere sistemi operativi liberi facili da installare). È legittimo anche se non c'è alcun modo di produrre una forma binaria o eseguibile (dal momento che alcuni linguaggi non supportano questa caratteristica), ma si deve avere la libertà di ridistribuire tali forme nel caso si trovi o si sviluppi un modo per farlo.

Affinché le libertà 1 e 3 (libertà di fare modifiche e di pubblicare versioni modificate) abbiano senso, si deve avere accesso al codice sorgente del programma. Perciò, l'accessibilità al codice sorgente è una condizione necessaria per il software libero. Il “codice sorgente” deliberatamente offuscato non è vero codice sorgente e non può essere considerato tale.

La libertà 1 comprende la libertà di utilizzare una versione da voi modificata anziché l'originale. Se il programma è distribuito in un prodotto che, per scelta progettuale, esegue le versioni modificate da una specifica persona o azienda ma si rifiuta di eseguire quelle modificate da voi (tecnica nota come “tivoization” o come “lockdown” o come “secure boot” secondo la discutibile definizione che ne danno i suoi sostenitori), allora la libertà 1 diventa una richiesta vuota senza alcun valore concreto. Lla versione eseguibile di questi programmi non è software libero anche se il codice sorgente da cui sono stati ottenuti è libero.

Un importante modo di modificare un programma è quello di includervi funzioni e moduli liberi già esistenti. Se la licenza del programma prevede che non si possano includere moduli già esistenti (nonostante abbiano una licenza appropriata), ad esempio se richiede che voi possiate aggiungere solo codice di cui detenete il copyright, allora la licenza è troppo restrittiva per essere considerata libera.

La libertà 3 comprende la libertà di usare e rilasciare le versioni modificate come software libero. Una licenza libera può anche permettere altri modi di distribuzione; insomma, non c'è l'obbligo che si tratti di una licenza con copyleft. Tuttavia, una licenza che imponesse che le versioni modificate non siano libere non si può categorizzare come licenza libera.

Queste libertà per essere reali devono essere permanenti e irrevocabili fin tanto che non si fa qualcosa di sbagliato: se lo sviluppatore del software ha il potere di revocare la licenza, o di sostituirla retroattivamente con una più restrittiva, anche senza che l'utente sia causa di tale revoca, il software non è libero.

Tuttavia, certi tipi di regole sul come distribuire il software libero sono accettabili quando non entrano in conflitto con le libertà principali. Per esempio, il copyleft, noto anche impropriamente come "permesso d'autore", è (detto in poche parole) la regola per cui, quando il programma è ridistribuito, non è possibile aggiungere restrizioni per negare ad altre persone le libertà principali. Questa regola non entra in conflitto con le libertà principali, anzi le protegge.

Nel progetto GNU, noi usiamo il copyleft per proteggere le quattro libertà legalmente per tutti. Per noi è meglio usare il copyleft, ma va bene anche il software libero senza copyleft. Vedere Categorie di software libero per una discussione più ampia delle relazioni tra “software libero”, “software con copyleft” e altre categorie.

“Software libero” non vuol dire “non-commerciale”. Un programma libero deve essere disponibile per uso commerciale, sviluppo commerciale e distribuzione commerciale. Lo sviluppo commerciale di software libero non è più inusuale: questo software commerciale libero è molto importante. Si può ottenere software libero pagandolo o non pagandolo, ma, a prescindere da come lo si è ottenuto, rimane sempre la libertà di copiare e modificare il software, persino di venderne copie.

Se una modifica costituisca o meno un miglioramento è una questione soggettiva. Se i vostri diritti di modificare un programma sono limitati, in sostanza, a variazioni che qualcun altro considera miglioramenti, quel programma non è libero.

Tuttavia, sono anche accettabili regole su come pacchettizzare una versione modificata, purché non limitino in modo significativo la vostra libertà di distribuire versioni modificate, o di produrre versioni modificate per uso interno. Quindi è accettabile, ad esempio, che la licenza vi obblighi a cambiare il nome della versione modificata, togliere un logo, o chiarire che la versione modificata è opera vostra. Purché queste richieste non siano talmente pesanti da rendere molto complesso rilasciare le modifiche, sono accettabili; dato che state già apportando modifiche al programma, non faticherete troppo ad apportarne qualcuna in più.

Regole del tipo “se rendete disponibile la vostra versione in questo modo, allora dovete renderla disponibile anche in quell'altro modo” possono essere accettabili, alla medesima condizione. Un esempio di regola accettabile di questo tipo è la richiesta che se avete distribuito una versione modificata e un precedente sviluppatore ne chiede una copia, dovete inviargliela. (Notate che una regola di questo tipo vi lascia sempre liberi di scegliere se distribuire o no la vostra versione). Anche regole che richiedano di distribuire il codice sorgente agli utenti delle versioni che avete pubblicamente distribuito sono accettabili.

Una questione particolare è quando una licenza richiede di cambiare il nome con cui il programma sarà chiamato da altri programmi. Questo impedisce di rilasciare la versione modificata in modo che possa sostituire l'originale quando chiamata dagli altri programmi. Questo tipo di richiesta è accettabile solo se c'è una funzionalità di "aliasing", cioè una funzionalità che permetta di specificare il nome originario del programma come alias della versione modificata.

Qualche volta le leggi sul controllo delle esportazioni e le sanzioni sul commercio possono limitare la libertà di distribuire copie di programmi verso paesi esteri. I programmatori non hanno il potere di eliminare o di aggirare queste restrizioni, ma quello che possono e devono fare è rifiutare di imporle come condizioni d'uso del programma. In tal modo, le restrizioni non influiranno sulle attività e sulle persone al di fuori della giurisdizione degli stati che applicano tali restrizioni. Insomma, le licenze di software libero non possono richiedere il rispetto di un controllo (non banale) sulle esportazioni come condizione sull'esercizio di una qualsiasi delle libertà essenziali.

Il semplice atto di citare l'esistenza di regole sull'esportazione, senza che diventino condizioni della licenza, è accettabile poiché non pone restrizioni. Se una regola sull'esportazione diventa banale nel caso del software libero, allora porla come condizione non è un problema effettivo, ma rimane un problema potenziale, perché modifiche successive nelle leggi sull'esportazione potrebbero rendere non banale quel requisito e quindi fare diventare non libero il software.

Una licenza libera non può chiedere il rispetto dei termini di una licenza di un programma non libero. Quindi, ad esempio, se una licenza obbliga l'utente a rispettare le licenze di "tutti i programmi che usa", nel caso di un utente che usa anche programmi non liberi questo richiederebbe che l'utente rispetti la licenza di tali programmi non liberi, e renderebbe non libera la licenza in questione.

È accettabile che una licenza specifichi quale giurisdizione si applica, o quale sede è designata per dirimere le controversie, o entrambe le cose.

Molte licenze di software libero sono basate sul copyright, e ci sono limiti a quello che si può imporre con il copyright. Se una licenza basata sul copyright rispetta la libertà nei modi descritti sopra, è improbabile, anche se non impossibile, che abbia qualche tipo di problema che non abbiamo previsto. Tuttavia alcune licenze di software libero sono basate sui contratti, e i contratti possono imporre una gamma molto più vasta di restrizioni. Questo significa che ci sono molti modi possibili di rendere inaccettabilmente restrittiva e non libera una licenza del genere.

Non possiamo elencare tutti i modi in cui questo potrebbe accadere. Se una licenza basata su contratto restringe i diritti dell'utente in una maniera inusuale, fuori da quello che le licenze basate sul copyright potrebbero fare, e non citata qui come legittima, dovremmo esaminare il caso, ma probabilmente concluderemmo che la licenza non è libera.

Quando si parla di software libero, è meglio evitare di usare espressioni come “regalato” o “gratuito”, perché esse pongono l'attenzione sul prezzo, e non sulla libertà. Parole comuni quali “pirateria” implicano opinioni che speriamo non vogliate sostenere. Si veda Termini da evitare per una discussione su queste parole. Abbiamo anche una lista di traduzioni in varie lingue dell'espressione “software libero”.

Infine, si noti che criteri come quelli indicati in questa definizione di software libero richiedono un'attenta interpretazione. Per decidere se una determinata licenza software si qualifichi come licenza per il software libero, noi la consideriamo basata su questi criteri al fine di determinare se corrisponde al loro spirito così come alle precise parole. Se una licenza include restrizioni irragionevoli, la rifiutiamo, anche se in questi criteri non anticipiamo il problema. Qualche volta le richieste di una licenza sollevano un problema che richiede un'analisi dettaglia, oltre a discussioni con un avvocato prima di poter decidere se la richiesta sia accettabile. Quando raggiungiamo una conclusione riguardo ad un nuovo problema, spesso aggiorniamo questi criteri per fare in modo che sia più facile capire perché determinate licenze siano adeguate o meno.

Se siete interessati a sapere se una determinata licenza abbia le caratteristiche per essere una licenza di software libero, consultate il nostro elenco delle licenze. Se la licenza che vi interessa non vi è elencata, potete interpellarci inviandoci un'e-mail a <licensing@gnu.org>.

Se pensate di scrivere una nuova licenza, per favore contattate la FSF scrivendo all'indirizzo sopra indicato. La proliferazione di licenze di software libero comporta un maggiore sforzo di comprensione per gli utenti; potremmo aiutarvi a trovare una licenza di software libero già esistente che soddisfi le vostre necessità.

Se questo non è possibile e avete proprio bisogno di una nuova licenza, col nostro aiuto potrete essere sicuri che la licenza sia davvero una licenza di software libero ed evitare vari problemi pratici.

Al di là del software

I manuali del software devono essere liberi, per le medesime ragioni per cui il software deve essere libero, e poiché i manuali sono parte del software.

Lo stesso ragionamento si applica ad altri tipi di lavori di utilizzo pratico — lavori che raccolgono conoscenze utili, come opere didattiche e di riferimento. Wikipedia è l'esempio più noto.

Ogni tipo di lavoro può essere libero, e la definizione di software libero è stata estesa per diventare una definizione di opera culturale libera che si può applicare ad ogni tipo di lavoro.

Open Source?

Un altro gruppo usa il termine “open source” per indicare qualcosa di simile (ma non identico) al “software libero” (o “free software”). Preferiamo il termine “software libero” perché, una volta chiarita (nella dizione inglese) la precisazione sul fatto che si parla di libertà e non di prezzo, fa subito pensare alla libertà, la parola “open” (o “aperto”) no.

Storia

La definizione di Software Libero viene occasionalmente sottoposta a revisione per chiarificarla. Qui elenchiamo le modifiche significative effettuate, con collegamenti che illustrano esattamente cosa è cambiato.

Ci sono dei salti nei numeri di versione mostrati sopra poiché alcune delle modifiche sono totalmente irrilevanti ai fini del significato e o delle interpretazioni. Ad esempio, l'elenco non comprende modifiche ad elementi ausiliari, a formattazione, ortografia o punteggiatura o ad altre parti della pagina. Per vedere la lista completa delle modifiche si può utilizzare la nostra interfaccia cvsweb.

[Logo FSF]“La nostra missione è preservare, proteggere e promuovere la libertà di usare, studiare, copiare, modificare e ridistribuire il software per computer, e difendere i diritti degli utenti di software libero.”

La Free Software Foundation è lo sponsor principale del Sistema operativo GNU. Potete sostenere GNU e la FSF comprando manuali e gadget, diventando membri associati della FSF oppure facendo una donazione diretta o via Flattr.

inizio pagina