Software libero

Ilsoftware libero(dall'inglesefree softwareolibre software) è unsoftwaredistribuitosotto i termini di unalicenza di software libero, che ne concede lo studio, l'utilizzo, la modifica e la redistribuzione.
Chi usa il software libero ha il controllo delle proprie elaborazioni informatiche.
L'idea di software libero nasce agli inizi deglianni ottanta, quando lo sviluppo del software cominciò a passare di mano dalle università alle aziende (software proprietario), ponendo un pesante freno alla collaborazione che caratterizzava il lavoro di gran parte dei programmatori e dei sistemisti dell'epoca, soprattutto con i patti di non divulgazione che le aziende facevano firmare ai programmatori che assumevano.
Dal 1950 fino ai primi anni del 1970, era tipico per gli utenti di computer utilizzare software liberi associati a software gratuiti. Quindi il software "commerciale" esisteva da sempre, ma i costi elevati dell'hardwarefacevano sì che il business delle aziende non fosse concentrato sul software, che era considerato una parte naturale del prodotto, e i cui codici sorgenti erano in genere pubblici. Per esempio, venivano formate organizzazioni di utenti e fornitori per facilitare lo scambio di software. Inoltre, poiché i software erano spesso scritti in un linguaggio ad alto livello, il codice sorgente veniva distribuito in riviste di computer (comeCreative Computing, Softside, Computer,Byte, ecc) e libri, come il bestsellerBASIC Computer Games.
Dal 1970 la situazione cambiò: il software diventava sempre più complesso e difficile da realizzare e le aziende iniziarono a non distribuire i codici sorgenti e ad obbligare i propri dipendenti a non rivelare nulla per non avvantaggiare la concorrenza; inoltre con il crollo dei costi dell'hardware, lo sviluppo commerciale del software divenne un business notevole ed il codice sorgente divenne sempre più un investimento prezioso che poteva far acquisire una fetta di tale mercato in rapida crescita, da un lato, e dall'altro legare i propri utenti al proprio software mantenendo il segreto sui metodi utilizzati per lo sviluppo di sistemi e applicazioni.
L'industria del software iniziò così ad utilizzare misure tecniche (come ad esempio la distribuzione di copie di programmi per computer solo in binario) per impedire agli utenti di computer di essere in grado di studiare e adattare il software come meglio credevano.
Negli anni '80, si verificarono due situazioni rilevanti che contribuirono all'ideazione e alla creazione del software libero:
Così, nel 1980, viene emessa laUS Software Copyright Act, che introduce la tutela del diritto d'autore anche per il software, inerente a copia, modifica e distribuzione. In questi anni, infatti, erano importanti tre facoltà esclusive: il diritto di riprodurre copie del programma, il diritto di apportare modifiche ed il diritto di distribuire copie del programma. Arriva, quindi, il software proprietario, in quanto vennero applicati questi divieti con il diritto d'autore. Questa scelta è stata favorita dalla lobby dei produttori hardware, in primo luogo dallaIBM. In questo modo le aziende cominciarono ad utilizzare la legge suldiritto d'autoreper impedire ai concorrenti di leggere e modificare i loro prodotti, assicurandosi il controllo dei propri clienti che, senza più poter vedere e modificare il codice sorgente del software, non potevano più adattarlo alle loro esigenze, ma dovevano chiedere alle aziende di farlo per loro.
Nel 1981 si stabilisce un precedente riguardo al diritto d'autore vigente sul software, ciò in seguito all'esito della sentenzaDiamond v. Diehr, che riteneva che la presenza di un elemento software non costituisse un motivo per rendere inammissibile un brevetto per macchina o processo altrimenti idoneo ai brevetti.
Nel1983Richard Stallman, uno degli autori originali del popolare programmaEmacse membro di lunga data della comunità hacker presso il laboratorio di intelligenza artificiale delMassachusetts Institute of Technology(MIT), fondò ilprogetto GNU(GNU's Not Unix) con l'intenzione di creareGNU, unsistema operativocompletamente libero.
Stallman aveva bisogno di uno strumento che potesse tutelare l'utente alla modifica del codice sorgente del software. Questo perché il diritto di autore si applica di default, anche senza azioni da parte dell'autore stesso che dal momento della nascita del software è l'unico ad avere diritto di modifica. Lo strumento giuridico più adatto a questo scopo si rivela essere la licenza di software libero. Nel 1989,Richard Stallman, ideò anche laGNU General Public License(GNU-GPL), una licenzaCopyleft, che consiste nel prevedere la modifica, incentivando di conseguenza la condivisione del codice sorgente, aggiungendo però l'obbligo verso coloro che modificano di farlo con la stessa licenza del software di partenza, ovvero deve essere anch'essaCopyleft(potrà quindi essere utilizzata, distribuita e talvolta modificata liberamente, seppur dovendo seguire alcune condizioni necessarie), continuando quindi a garantire ai suoi utenti le cosiddettequattro libertà(libertà di eseguire il programma, di studiare come esso funzioni e di adattarlo alle proprie necessità, di ridistribuire copie per aiutare il prossimo e di migliorare il programma in modo tale che tutta la comunità ne tragga beneficio).
Grazie alla collaborazione di molti sviluppatori volontari, all'uso diInternetpresso università e istituti di ricerca per la coordinazione del progetto e alkernel LinuxdiLinus Torvalds, nel1991nacqueGNU/Linux, un clone diUnixliberamente utilizzabile, modificabile e ridistribuibile.
Nella sua dichiarazione iniziale del progetto e del suo scopo, Stallman ha espressamente citato, come motivazione, la sua opposizione alla richiesta di accettare i vari accordi di non divulgazione e le licenze restrittive dei software che vietano la libera condivisione di software-sviluppo potenzialmente redditizio, un divieto che è direttamente in contrasto con la tradizionaleetica hacker.
Infatti egli crea la definizione di software libero definendolo attraversole "quattro libertà":
L’accesso al codice sorgente diventa prerequisito del concetto di software libero.
Lo sviluppo dei software per il sistema operativo GNU è iniziata nel gennaio 1984, e laFree Software Foundation(FSF) è stata fondata nel mese di ottobre 1985. Ha sviluppato una definizione di software libero e il concetto di "copyleft", progettata per garantire la libertà software per tutti.
Ilkernel Linux, iniziato daLinus Torvalds, è stato rilasciato come codice sorgente liberamente modificabile nel 1991. La prima licenza è una licenza di software proprietario. Tuttavia, con la versione 0.12, nel febbraio 1992, pubblicarono il progetto sotto la GNU General Public License. Essendo molto simile a Unix, kernel di Torvalds ha attirato l'attenzione di programmatori volontari.
Nel 1997 l'European patent conventionha riconosciuto la validità dei brevetti per software, quando questi implicano un'attività inventiva e sono finalizzati ad applicazioni industriali. Tuttavia, l'articolo 52, al paragrafo 2, punto c, ai sensi del paragrafo 1, nega la brevettabilità dei programmi per calcolatori considerati "in quanto tali" (paragrafo 3). Il problema risiede, dunque, nella distinzione tra "software in quanto tale" e "invenzione di software".
Nel 1998 è stata inoltre creata un’organizzazione, l’Open Source Initiative, che fornisce licenze libere.
Dopo pochi anni era già chiaro a molti che il software libero fosse un modello importante e che si stava pian piano imponendo. L’interesse per la licenza di software libero si è di conseguenza esteso ad altri ambiti tra i quali quello di altre opere creative: libri, film, fotografie, musica, siti Internet ecc. Le più importanti sono sicuramente lelicenze Creative Commons, create nei primi anni 2000.
L'articolo 27 delTRIPS Agreement, contiene elementi che renderebbero lecito il brevetto del software (Software patents under TRIPs Agreement); tuttavia, nel 2002, la Commissione fece una proposta di direttiva sulleComputer Implemented Inventionsla quale, dopo una lunga discussione, venne bocciata.
Il software libero rispetta la libertà degli utenti. Ciò significa che gli utenti hanno la libertà di eseguire, copiare, studiare, distribuire, migliorare, modificare il software. Per capire tale concetto di libertà si dovrebbe pensare al concerto di “libertà di parola”: una libertà che tutti hanno il diritto di avere. La parola «libero», tuttavia, non implica la possibilità di utilizzare tale software in maniera indiscriminata: il software libero è comunque soggetto ad unalicenza d'uso, a differenza ad esempio del software dipubblico dominio.
Rispetto alsoftware proprietario, il software libero si basa su un diverso modello di licenza, su un diverso modello di sviluppo e su un diverso modello economico. Esso si contrappone quindi al software proprietario ed è differente dalla concezioneopen source, incentrandosi sulla libertà dell'utente e non solo sull'apertura delcodice sorgente, che è comunque un pre-requisito del software libero.
Rispetto al software proprietario, la licenza d'uso del software libero permette le quattro libertà, ponendo in genere i seguenti vincoli:
La FSF consiglia di utilizzare il termine «software libero», piuttosto che «softwareopen source», perché, come essa afferma in un documento sulla filosofia del software libero, quest'ultimo termine e la campagna di marketing associato ad esso si concentra sulle questioni tecniche di sviluppo del software, evitando la questione della libertà degli utenti. La FSF rileva inoltre che «open source» ha esattamente un significato specifico nell’inglese comune, vale a dire che "è possibile guardare il codice sorgente." Stallman afferma tuttavia che il termine «software libero» può portare a due interpretazioni differenti, una delle quali è coerente con la definizione FSF di Software libero, così da esservi almeno qualche possibilità di essere inteso correttamente, a differenza del termine «open source».Stallman ha anche affermato che, considerare i vantaggi pratici del software libero equivale a valutare i vantaggi pratici del non essere ammanettato, nel senso che non è necessario per un individuo considerare delle ragioni pratiche al fine di rendersi conto che essere ammanettato limita la propria libertà.«Libre» è un termine spesso usato per evitare l'ambiguità dell’aggettivo «free» in lingua inglese e l'ambiguità con l'uso precedente del software libero, come software di pubblico dominio.
Secondo laFree Software Foundation, un software si può definire «libero» solo se garantisce quattro «libertà fondamentali»:
Un programma è software libero se l'utente ha tutte queste libertà. In particolare, se è libero 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 nessun permesso.
Richard Stallman aveva l'obiettivo di diffondere la libertà e la cooperazione, incoraggiando la diffusione del software libero in sostituzione al software proprietario:
Il termineopen sourceindica criteri leggermente più deboli di quelli previsti per il software libero. Per quanto ne sappiamo, tutto il software libero esistente è ancheopen source. E anche quasi tutto il softwareopen sourceche è stato rilasciato sotto forma di codice sorgente è anche software libero, ma ci sono eccezioni. Innanzitutto, alcune licenzeopen sourcesono troppo restrittive (ad esempio: “Open Watcom” non è libero perché la sua licenza non permette di realizzare una versione modificata e usarla in privato) e non si possono considerare libere, ma tali licenze sono poco usate.
Essendo la disponibilità del codice sorgente uno dei requisiti fondamentali che accomuna il software libero ed il softwareopen source, spesso si è indotti a considerare i due concetti equivalenti, ma in realtà non lo sono. Un software èopen sourcese i termini secondo i quali viene distribuito rispondono allaOpen Source Definitiondell'Open Source Initiative(OSI): in particolare, se una licenza rientra in tale definizione, allora tale licenza può essere dichiarata licenza open source.
La definizione potrebbe cambiare nel tempo (nessuno garantisce che questo non possa accadere) e quindi è possibile che una licenza attualmenteopen sourcenon lo sia nel futuro o viceversa. OSI è anche l'organizzazione che su richiesta certifica con il relativo marchio registrato il fatto che una licenza sia effettivamente aderente all'Open Source Definition. Recentemente l'OSI ha posto un freno al proliferare delle licenze dichiarando che cercherà di limitare il numero di licenze che nel futuro saranno ritenute licenzeopen source. Questo potrebbe, in linea teorica, far sì che una licenza ritenuta libera non venga ritenutaopen source.
Una licenza invece è libera (o meglio, unaversionedi una licenza è libera) solo se rispetta le quattro libertà fondamentali. Pertanto se una versione di una licenza è libera, allora lo sarà per sempre. Naturalmente è sempre complesso, almeno per un cittadino "normale" (non esperto di leggi), stabilire se una licenza è libera o meno perché entrano in gioco i termini legali utilizzati nella stessa. Il progetto GNU si occupa tra l'altro anche di indicare se una licenza è libera o meno e se è compatibile con le licenze GNU o meno.
Il software libero inoltre non deve essere confuso con il softwarefreeware, che è distribuibile gratuitamente, ma che non è né software libero néopen source: il software libero infatti non è detto che sia gratuito ovvero può anche essere a pagamento e il termine Inglesefreeva inteso in Italiano appunto comelibero, nel senso dei principi suddetti, e nongratuito. In ogni caso, gli insiemi di applicativi designati da software libero eopen sourcecoincidono a meno di poche eccezioni. La differenza fondamentale è nel tipo di approccio: parlando di software libero si pone l'accento sugli aspetti sociologici ed etici, che sono volutamente rimossi nella visioneopen source.
Ecco alcuni esempi di licenze open source non libere:
La querelle relativa alla tutela del software ed alla sua possibile brevettabilità è tra le più complesse e, perlomeno ufficialmente, irrisolte in Europa. In particolar modo, le ultime decisioni delle Camere sembrano porsi in contrasto con alcuni principi, elaborati da loro stesse in passato. Il nuovo orientamento conferisce minore importanza al requisito del carattere tecnico, deducibile dalle caratteristiche fisiche, ovvero dalla natura di una certa attività. Ad esempio, potrebbe essere conferito a un’attività non-tecnica semplicemente dall’utilizzo di mezzi tecnici. Mentre la verifica della sussistenza di carattere tecnico viene ridotta a una mera formalità. L'Ufficio Europeo Brevetti(UEB) dà maggior peso all’esame di originalità del trovato. La brevettabilità del software, in relazione all’analisi dell’originalità dello stesso, con la fusione traproblem solution approachecontribution approach, non è stata opera semplice, tant’è che le stesse Camere dell’UEB sembrano avere adottato posizioni non sempre uniformi. Il problema ruota sempre intorno alla distinzione fra gli elementi non-tecnici “in quanto tali” e quegli stessi elementi che possono essere presi in considerazione per misurare il gradiente di originalità.
A conferma della sussistenza di diversi punti di contrasto fra le decisioni delle Camere dei Ricorsi, le questioni sollevate sono le seguenti:
Le questioni appena citate sono volte a verificare l’effettivo superamento delc.d. contribution approachda parte delle Camere dell’UEB.
Il primo punto evidenzia come, alla luce della più recente giurisprudenza, che postula la necessità di rivendicare nella domanda di brevetto un elemento hardware da cui derivare il carattere tecnico del trovato, non appare chiara la possibilità di rivendicare l’invenzione sotto forma di prodotto di per sé, o anche salvato su un dispositivo di memoria portatile.
Il secondo ed il terzo punto chiedono se la semplice menzione di un’apparecchiatura programmabile sia sufficiente a conferire tecnicità al trovato, ovvero se occorra dimostrare la sussistenza di un effetto tecnico ulteriore, e se tale contributo, per dirsi tecnico, debba provocare un’alterazione tangibile di un’entità fisica nel mondo reale.
Infine, il punto 4 rimanda al quesito principe in materia di brevettabilità diCIIs e Ebusiness methods inventions, e cioè se la mera attività di programmazione – intesa come attività intellettuale associata alla formulazione e messa a punto di programmi per elaboratore – sia un’attività tecnica o non-tecnica. Come nota il Presidente dell’UEB, una risposta affermativa a tale domanda comporterebbe che qualunque rivendicazione contenente un riferimento a siffatta attività varrebbe a conferire natura tecnica al trovato, senza bisogno di ulteriori indagini. Questa situazione di incertezza giuridica potrebbe allontanare le imprese europee dallo strumento brevettuale e, di conseguenza, danneggiare il progresso tecnologico che vede nella privativa industriale il principale strumento di incentivo all’innovazione.
Le licenze possono esserecopyleft, in contrapposizione acopyright, o meno. Le licenze libere non sono tese a garantire il guadagno dello sviluppatore o delle software house, ma la disponibilità, per la comunità degli utenti, di software che sia modificabile ed utilizzabile come parte di altre applicazioni. L'idea alla base delle garanzie previste da queste licenze, in particolare le più "restrittive", sono fondate sugli ideali etici proposti dalla filosofia del software libero ed incentivano quindi la condivisione.
Esiste una gran quantità di licenze di software libero.
I tipi di licenze libere:Strong copyleftSono licenze che contengono clausolecopyleftche estendono i loro effetti a tutte le opere derivate, il che significa che il primo creatore delle opere ha il maggior numero di diritti. L'«ereditarietà» dellastrong copyleftrende, pertanto, impossibile derivarne del software proprietario, anche se solo in parte closed source, poiché impone l'applicazione della licenza e delle sue clausole all'intero software derivato.
La licenza di software libero più conosciuta (utilizzata da circa il 30% dei progetti di software libero) che utilizza uncopyleftforte è laGNU General Public License. La licenza Strong è anche una licenza di progettazione scientifica che può essere applicata a arte, musica, fotografia sportiva e video.
Weak copyleftSi riferisce alla licenza dove non tutti i lavori derivati ereditano la licenzacopyleft, spesso a seconda del modo in cui sono derivate. Circoscrivono in modo più o meno ampio la portata della clausolacopyleft, permettendo quindi di applicare licenze diverse ad alcune opere derivate. Il criterio utilizzato prevede l'imposizione dell'applicazione della stessa licenza non su software che prevedono un utilizzo tramite linking, ma solo sulle versioni modificate.
Le licenze deboli dicopyleftsono utilizzate principalmente per le librerie software consentendo collegamenti ad altre librerie (GNU Lesser General Public LicenseeMozilla Public License).
Cloud copyleftSono licenze che impongono di rendere disponibile il codice sorgente del programma anche agli utenti che lo utilizzano da remoto, collegandosi al server presso il quale il software è fatto funzionare come servizio (GNU Affero General Public LicenseeEuropean Union Public Licence).
NoncopyleftL'autore di software libero senzacopyleftdà il permesso di ridistribuire e modificare il programma, e anche di aggiungervi ulteriori restrizioni.
Se un programma è libero, ma non hacopyleft, alcune copie o versioni modificate possono non essere affatto libere. Un'azienda di software può compilare il programma, con o senza modifiche, e distribuire ilfile eseguibilecome un prodotto software proprietario.
Alcune delle licenzeFOSSpiù popolari sono:
Le licenze libere gestiscono anche i profili brevettuali.
La maggior parte del software libero è distribuito con queste licenze:
Buona parte del software libero viene distribuito con la licenzaGNU GPL, scritta daRichard StallmaneEben Moglenper garantire legalmente a tutti gli utenti le quattro libertà fondamentali. Dal punto di vista dello sviluppo software, la licenza GPL viene considerata una delle più restrittive, poiché impone che necessariamente ogni prodotto software derivato - ovvero, che modifica o usa codice sotto GPL - venga a sua volta distribuito con la stessa licenza. AncheMediaWiki, il software usato perWikipedia, è distribuito con licenza GPL, in particolare con laGNU Free Documentation License.
LaGNU LGPL, simile ma meno restrittiva rispetto alla precedente, permette di utilizzare il codice anche in software proprietario, purché le parti coperte da LGPL - anche se modificate - vengano comunque distribuite sotto la medesima licenza. In genere è utilizzata perlibrerie software. Non tutte le licenze ritenute libere sono compatibili tra di loro, cioè in alcuni casi non è possibile prendere due sorgenti con due licenze libere ed unirle per ottenere un prodotto unico. Questo avviene quando non esista e non sia possibile creare una licenza che possa soddisfare i requisiti delle licenze originali.
Ad esempio lalicenza BSDoriginale, pur essendo considerata licenza di software libero, è incompatibile con la GPL;per ovviare al problema è stato necessario creare una "licenza BSD modificata" compatibile con la GPL. Un'altra licenza degna di nota è lalicenza Apache, stilata dallaApache Software Foundation; la versione 2 di questa licenza è compatibile con la GPL versione 3 ma non con la GPL versione 2.L'Apache License considera un prodotto derivato alla stregua della LGPL, ma è più liberale nella concessione delle proprietà intellettuali.
Le varie licenze libere possono contenere ulteriori limitazioni per alcune situazioni particolari; per esempio la GPL prevede che si possa esplicitamente vietare l'uso del software nelle nazioni dove tale licenza non è valida o dove deibrevetti softwareimpediscono la distribuzione di tale software. Le licenze d'uso non vietano in genere di vendere software libero e non limitano il loro prezzo di vendita.
LaOpen Source Initiative(OSI) e laFree Software Foundation(FSF) hanno valutato con determinati criteri le licenze utilizzate per la distribuzione di software. Nonostante ciò, non tutte le licenze, persino quelle approvate dalla OSI, vengono considerate libere (free) dalla FSF, che invece considera libere e compatibili con la GPL alcune licenze non approvate dalla OSI. Questa differenza è influenzata da un differente modus operandi: le licenze vengono approvate dalla OSI dietro richiesta di chi le ha scritte, mentre la FSF ha fornito il proprio giudizio spontaneamente, per fare chiarezza riguardo alla compatibilità con la GPL e per ribadire il proprio concetto di "libero".
Un approfondimento riguardo alle specifiche licenze è consultabile sulla pagina relativa allaComparazione di licenze di software liberoin cui appare un elenco delle licenze approvate dalla OSI o giudicate free dalla FSF.
Vengono accettate regole su come pacchettizzare una versione modificata, purché non limitino in modo significativo la 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, ecc. 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.
Per non incorrere alla violazione degli obblighi imposti dalle licenze di software libero, è utile porre attenzioni ad alcuni aspetti:
Spesso può risultare utile fare utilizzo di alcuni strumenti di analisi software in grado di acquisire automaticamente indicazioni sulle licenze ed informative di diritto d'autore del software che si riusa e si distribuisce, in modo da esaminare tutte le caratteristiche e i vincoli.
Le licenze di software libero impongono una serie di obblighi a chi distribuisce il software in versione originale o modificata o chi distribuisce prodotti che comprendono elementi in software libero. Questi obblighi sono stati imposti per avvantaggiare gli utenti che fanno uso del software, ma anche coloro che l'hanno sviluppato e diffuso la versione originale del software.
Alcune licenze copyleft non sono compatibili tra di loro, quindi, se si ha l'intenzione di utilizzare differenti programmi sviluppati con licenze diverse tra di loro, è utile analizzare innanzitutto come si comportano i diversi programmi tra di loro per evitare il rischio di incompatibilità.
I vari obblighi variano da licenza a licenza:
Ci sono anche degli obblighi che coinvolgono tutti i tipi di licenza di software libero (anche non "copyleft", che anche variano da licenza a licenza). La maggior parte delle licenze di software libero richiedono di distribuire il software con una nota di diritto d'autore.
Alcune licenze di software libero includono degli responsabilità rispetto ai diritti di brevetto per invenzioni possedute dall'utente dei software libero.
Il concetto di software libero non è legato esclusivamente all'ambito informatico, infatti anche i distributori di prodotti industriali che includono componenti in software libero (basti pensare a qualsiasi oggetto, veicolo o elettrodomestico che implementi un accessorio informatico) sono tenuti a rispettare suddetti obblighi. La violazione di questi obblighi può causare la cessazione degli effetti della licenza.
C'è un grande dibattito riguardo allasicurezzadel software libero rispetto ad unsoftware proprietario.
Per taluni, sostenitori dellasicurezza tramite segretezza, il software libero sarebbe meno sicuro proprio perché ilcodice sorgenteaccessibile e migliorabile da tutti rende più facile trovare bug e punti deboli e riduce la segretezza. SecondoRichard Stallmanperò l'accesso degli utenti alcodice sorgenterende più difficile il rilascio di unsoftwarecon bug oppurespywarerispetto ad unsoftware proprietario: dal suo punto di vista, infatti, lo sviluppatore di un codice di fatto non visibile dagli utenti si trova in condizione di potere su di essi, favorita damalwareche le aziende stesse possono inserire all'interno dei propri programmi.
Per questo motivo, vari progetti di software libero rifiutano iblob binariall'interno deikernelovverodriverproprietari dihardwarele cui case produttrici non hanno rilasciato ilcodice sorgente. Non essendo noti iCodici sorgente, essi possono contenere bug e minare così la stabilità e la sicurezza del sistema. Alcune distribuzioni tra le prime attive in tal senso furonoOpenBSDegNewSense. Il progetto venne subito accolto e supportato dallaFree Software Foundationche stimolò la nascita delkernelLinux-libre.
A prescindere dalle implicazioni sociali, secondo i suoi sostenitori il software libero presenta numerosi vantaggi rispetto al software proprietario.
Secondo alcuni il software libero avrebbe delle limitazioni e degli svantaggi rispetto al software proprietario, specialmente nei casi in cui sia frutto di un lavoro volontario:
La scelta tra software proprietario e software libero dipende dalle esigenze specifiche di un'organizzazione o di un individuo e dalle implicazioni per le loro attività.
In generale, il software proprietario può essere preferibile in casi in cui:
D'altro canto, il software libero può essere preferibile in casi in cui:
In generale, i sistemi critici in cui la sicurezza e l'affidabilità sono fondamentali, spesso utilizzano software proprietario, mentre altri ambiti come l'educazione, la ricerca e la tecnologia dell'informazione, spesso utilizzano software libero, perché permette una maggiore flessibilità e controllo da parte degli utenti.
Nel software libero il significato della parolaliberoha un'accezione particolare. Si è già sottolineato che lalibertàdel software libero non è incondizionata, perché è soggetta ai precisi vincoli della licenza d'uso, come qualsiasi altra licenza d'uso, solo che in questo caso l'autore si "espropria" di alcuni diritti per cederli agli utenti. Questi vincoli sono studiati in maniera tale da favorire il tipo di libertà cosiddettacopyleft, un metodo generico per rendere un programma (o altro lavoro) libero ed imporre che tutte le modifiche e versioni estese del programma siano anch'esse software libero, e hanno come obiettivo lacondivisione del sapere. Non a caso esso fonda le sue radici in un contesto accademico che, prima delle limitazioni sulla pubblicazione della ricerca, vantava una comunità che era essa stessa motore del progresso dei singoli, proprio grazie alla condivisione, motivo per il cui Stallman non scende fin da subito a compromessi con il software proprietario, per lui negazione di questo fondamento.
Pertanto il software libero parte da considerazione sociali e per molti aspetti è una forma difilosofia.
Le implicazioni sociali del software libero sono notevoli. La condivisione del sapere non permette a un gruppo ristretto di persone di sfruttare la conoscenza (in questo caso tecnologica) per acquisire una posizione di potere. Inoltre, è promossa la cooperazione delle persone, che tendono naturalmente ad organizzarsi incomunità, cioè in gruppi animati da un interesse comune.
Il modello del software libero si è naturalmente esteso ad altri campi del sapere. Chi crede nel modello copyleft pensa che questo possa essere applicato ad esempio alla musica o alla divulgazione. L'esempio più riuscito di applicazione di questo modello ad un campo differente dal software è oggi Wikipedia, che promuove la condivisione del sapere e la formazione di una comunità.
Il caso di software libero può essere visto semplicemente come uno strumento che da più possibilità di manifestare liberamente il proprio pensiero e garantisce una società pluralista: c’è molta più libertà nell’accedere all’informazione e nel divulgarla.
Tra i sostenitori del software libero, e più in generale del copyleft, vi sono diverse correnti di pensiero, che spaziano da una visione radicale ad una più moderata. La visione più radicale tende ad un modello che si spinge molto oltre a quello del software libero, arrivando in alcuni casi ad auspicare una completa abolizione delsoftware proprietario, considerato una limitazione inaccettabile della libertà e deidiritti umani. Questa ideologia è stata, erroneamente o almeno impropriamente, paragonata a correnti politiche quali ilcomunismo, sebbene solitamente i sostenitori del software libero non entrino in questioni politiche.
Chi è su posizioni più moderate considera il software libero un ideale a cui tendere, non negando la possibilità di esistere al software proprietario e più in generale allo sfruttamento commerciale del diritto d'autore, sfruttamento che può essere fatto anche usando software libero, come dimostrano vari casi di successo (es:MySQL).
La licenza LGPL è stata concepita per permettere una certa integrazione tra software libero e software non libero. C'è chi ritiene inopportuno un suo utilizzo perché permette l'integrazione, sotto determinate condizioni, di software libero da parte di software non libero;tuttavia ogni autore di software può decidere liberamente che licenza scegliere e quindi sotto quali condizioni permettere l'uso del proprio lavoro.
L'approccio della libertà delsoftwaree della collaborazione si è diffusa in altri ambiti produttivi come quella della creazione di contenuti. Un esempio è ladefinizione di opera culturale libera, che definisce i progetti acontenuto libero, comeWikipediaoppure pubblicazioniopen data/open access, termini utilizzati rispettivamente per dati e per pubblicazione di articoli accademici fruibili liberamente.
Il software libero non deve necessariamente essere sviluppato a titolo gratuito o a fondo perduto. Purché si rispettino i vincoli della licenza d'uso, è possibile vendere software libero; all'interno dei documenti del progetto GNU, Stallman incoraggia la vendita di software libero. Stando alla GPL, però, il primo che compra un software libero ha il diritto di redistribuirlo gratis, è quello che succede ad esempio conREHL,CentOS,Suse,Canonical, che guadagnano semmai su servizi e assistenza. Il modello di business è quindi basato sul lavoro e non su licenze parassitarie.
Vi sono inoltre alcune aziende che adottano il modello di sviluppo del software libero per i propri prodotti commerciali. Il ritorno economico in questo caso può derivare dalla fornitura di assistenza e di know-how. Un caso diverso è quello di alcuni esempi di software che vengono pubblicati con un sistema di "licenze multiple". In pratica lo stesso software viene licenziato sia come proprietario, sia come software libero. La versione libera talvolta dispone di meno funzionalità, o è limitata ad un numero ristretto di piattaforme. Esempi celebri di software a doppia licenza sono il databaseMySQL, di cui esiste una versione "Pro Certified Server" a pagamento e una versione "Community Edition" pubblicata con licenza GPL, e la libreriaQt.
Vi sono poi aziende che sono strutturate integralmente per la vendita e l'assistenza di un determinato software libero: esempi classici sono alcunedistribuzionidiGNU/Linux, comeRed Hato SUSE. Queste aziende utilizzano come base il software sviluppato dalla comunità, aggiungendo una serie di tool di configurazione o sviluppo, curando gli aspetti più tecnici e dando agli utenti finali un'assistenza mirata. Sfruttando le caratteristiche dellalicenza BSD, alcune aziende preferiscono invece partire da software libero per sviluppare un prodotto non libero. Per esempio il sistema operativo proprietarioMicrosoft Windowsimplementava, fino alla versioneNT 4.0, lostack di reteutilizzando codice sotto licenza BSD.
È largamente riconosciuto che per lapubblica amministrazioneè preferibile usare software libero, a meno di specifici fattori che lo rendano impossibile o estremamente costoso per la specifica applicazione.Questo consenso si riflette, soprattutto dagli anni 2000, in numerose norme quali ilCodice dell'amministrazione digitalein Italia, le linee guida dell'Unione europeae centinaia di iniziative pubbliche internazionali, di cui un numero crescente (soprattutto inAmerica Latina) rende obbligatorio l'uso di software libero.
Una sintesi dell'esperienza di 20 enti migrati al software libero ha mostrato che il software libero ha costi totali inferiori rispetto al software proprietario, posto che la migrazione sia ben pianificata e consideri tutti i costi del ciclo di vita del software (TCOcomprensivo di ricerca, acquisizione, integrazione, uso e uscita).
Per incrementare la diffusione del software libero all'interno della pubblica amministrazione, una strategia comune è che un ente centrale acquisti un servizio di assistenza per tutti gli enti periferici, garantendo così un elevato livello di qualità del servizio a un costo minimo.
Il settore pubblico può contribuire alla sicurezza del software libero per tutti i suoi utenti, come ha fatto l'Unione europeaa partire dal 2014.
Articolo principale:Free and open-source software § Adoption.
Il software libero ha ricoperto un ruolo significativo nello sviluppo di internet, delWorld Wide Webe le infrastrutture delle dot-com-companies. Il software libero permette agli utenti di collaborare nel miglioramento dei programmi; il software libero è unbene pubblicopiuttosto che un bene privato. Le aziende che contribuiscono al software libero aumentano l'innovazione commerciale.
La fattibilità economica dei software liberi è stata riconosciuta da grandi aziende comeIBM,Red Hat, andSun Microsystems. Altre aziende non agenti direttamenti nel mondo delITscelgono di utilizzare i software liberi per i loro siti, grazie alla personalizzazione e anche grazie al basso capitale di investimento. La maggior parte delle aziende del software business includono software liberi nei loro prodotti se la licenza lo permette.
I software liberi sono generalmente gratuiti, e molti business li utilizzano esattamente per soddisfare la loro necessità andandoli a modificare personalmente o assumendo un programmatore.
Un report fatto da Standish Groupstimò che l'adozione di software liberi causa perdite di oltre 55 miliardi di dollari all'anno nel mercato dei software.
Su Internet sono disponibili svariate applicazioni e sistemi operativi liberi. Queste applicazioni sono generalmente scaricabili tramite unpackage manager.Free Software Directoryè un popoloso catalogo di pacchetti di software libero.
Tra i sistemi operativi i più conosciuti includono le distribuzioniGNU/Linuxe i sistemi*BSD. I software comunemente utilizzati ci sono il compilatoregcc, la libreria C standardglibc, il databaseMySQLe il web serverApache, l'editor di testoEmacs, l'editor di immaginiGIMP, il sistema di finestreX Window System, la piattaforma di modellazione, animazione, rigging, compositing e rendering di immagini tridimensionaliBlendere la suiteLibreOffice.