Loading AI tools
software pubblicato con una licenza che permetta a chiunque di utilizzarlo, studiarlo, modificarlo e redistribuirlo Da Wikipedia, l'enciclopedia libera
Il software libero (dall'inglese free software o libre software) è un software distribuito sotto i termini di una licenza 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[1].
L'idea di software libero nasce agli inizi degli anni 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'hardware facevano 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 (come Creative Computing, Softside, Computer, Byte, ecc) e libri, come il bestseller BASIC 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 la US 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 dalla IBM. In questo modo le aziende cominciarono ad utilizzare la legge sul diritto d'autore per 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 sentenza Diamond 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.
Nel 1983 Richard Stallman, uno degli autori originali del popolare programma Emacs e membro di lunga data della comunità hacker presso il laboratorio di intelligenza artificiale del Massachusetts Institute of Technology (MIT), fondò il progetto GNU (GNU's Not Unix) con l'intenzione di creare GNU, un sistema operativo completamente 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 la GNU General Public License (GNU-GPL), una licenza Copyleft, 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'essa Copyleft (potrà quindi essere utilizzata, distribuita e talvolta modificata liberamente, seppur dovendo seguire alcune condizioni necessarie), continuando quindi a garantire ai suoi utenti le cosiddette quattro 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 di Internet presso università e istituti di ricerca per la coordinazione del progetto e al kernel Linux di Linus Torvalds, nel 1991 nacque GNU/Linux, un clone di Unix liberamente utilizzabile, modificabile e ridistribuibile.[Nel 1991 l'uso di internet era molto limitato]
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 tradizionale etica hacker. Infatti egli crea la definizione di software libero definendolo attraverso le "quattro libertà":
L’accesso al codice sorgente diventa prerequisito del concetto di software libero.
«I started the free software movement to replace user-controlling non-free software with freedom-respecting free software. With free software, we can at least control what software does in our own computers.»
«Ho avviato il movimento del software libero per rimpiazzare il software non libero che controlla l'utente con software libero rispettoso della libertà. Con il software libero, possiamo almeno avere il controllo su quel che il software fa nei nostri computer.»
Lo sviluppo dei software per il sistema operativo GNU è iniziata nel gennaio 1984, e la Free 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.
Il kernel Linux, iniziato da Linus 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 convention ha 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"[3].
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 le licenze Creative Commons, create nei primi anni 2000.
L'articolo 27 del TRIPS 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 sulle Computer Implemented Inventions la 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 una licenza d'uso, a differenza ad esempio del software di pubblico dominio.
Rispetto al software 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 concezione open source, incentrandosi sulla libertà dell'utente e non solo sull'apertura del codice sorgente, che è comunque un pre-requisito del software libero.[4]
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 «software open 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».[4] 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à.[5] «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.[6]
Secondo la Free Software Foundation, un software si può definire «libero» solo se garantisce quattro «libertà fondamentali»:[7]
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:
«I make my code available for use in free software, and not for use in proprietary software, in order to encourage other people who write software to make it free as well. I figure that since proprietary software developers use copyright to stop us from sharing, we cooperators can use copyright to give other cooperators an advantage of their own: they can use our code.»
«Rendo disponibile il mio codice affinché venga usato nel software libero, e non nel software proprietario, con lo scopo d'incoraggiare chi programma a fare altrettanto. Ho capito che, poiché gli sviluppatori di software proprietario usano il diritto d'autore per impedirci di condividere il software, noi che cooperiamo possiamo usare il diritto d'autore per favorire coloro che come noi cooperano: possono usare il nostro codice.»
Il termine open source indica criteri leggermente più deboli di quelli previsti per il software libero. Per quanto ne sappiamo, tutto il software libero esistente è anche open source. E anche quasi tutto il software open source che è stato rilasciato sotto forma di codice sorgente è anche software libero, ma ci sono eccezioni. Innanzitutto, alcune licenze open source sono 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.[11]
Essendo la disponibilità del codice sorgente uno dei requisiti fondamentali che accomuna il software libero ed il software open source, spesso si è indotti a considerare i due concetti equivalenti, ma in realtà non lo sono. Un software è open source se i termini secondo i quali viene distribuito rispondono alla Open Source Definition dell'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 attualmente open source non 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 licenze open source. Questo potrebbe, in linea teorica, far sì che una licenza ritenuta libera non venga ritenuta open source.
Una licenza invece è libera (o meglio, una versione di 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.[12]
Il software libero inoltre non deve essere confuso con il software freeware, 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 Inglese free va inteso in Italiano appunto come libero, nel senso dei principi suddetti, e non gratuito. In ogni caso, gli insiemi di applicativi designati da software libero e open source coincidono 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 visione open 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 tra problem solution approach e contribution 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 del c.d. contribution approach da 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à di CIIs e Ebusiness methods inventions[15], 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 essere copyleft, in contrapposizione a copyright, 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 copyleft Sono licenze che contengono clausole copyleft che 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à» della strong copyleft rende, 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 un copyleft forte è la GNU General Public License. La licenza Strong è anche una licenza di progettazione scientifica che può essere applicata a arte, musica, fotografia sportiva e video.
Weak copyleft Si riferisce alla licenza dove non tutti i lavori derivati ereditano la licenza copyleft, spesso a seconda del modo in cui sono derivate. Circoscrivono in modo più o meno ampio la portata della clausola copyleft, 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 di copyleft sono utilizzate principalmente per le librerie software consentendo collegamenti ad altre librerie (GNU Lesser General Public License e Mozilla Public License).
Cloud copyleft Sono 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 License e European Union Public Licence).
Non copyleft L'autore di software libero senza copyleft dà il permesso di ridistribuire e modificare il programma, e anche di aggiungervi ulteriori restrizioni.
Se un programma è libero, ma non ha copyleft, alcune copie o versioni modificate possono non essere affatto libere. Un'azienda di software può compilare il programma, con o senza modifiche, e distribuire il file eseguibile come un prodotto software proprietario.
Alcune delle licenze FOSS più 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 licenza GNU GPL, scritta da Richard Stallman e Eben Moglen per 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. Anche MediaWiki, il software usato per Wikipedia, è distribuito con licenza GPL, in particolare con la GNU Free Documentation License.[16]
La GNU 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 per librerie 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 la licenza BSD originale, pur essendo considerata licenza di software libero, è incompatibile con la GPL;[17] per ovviare al problema è stato necessario creare una "licenza BSD modificata" compatibile con la GPL. Un'altra licenza degna di nota è la licenza Apache, stilata dalla Apache Software Foundation; la versione 2 di questa licenza è compatibile con la GPL versione 3 ma non con la GPL versione 2.[18] 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 dei brevetti software impediscono 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.
La Open Source Initiative (OSI) e la Free 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 alla Comparazione di licenze di software libero in 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.[8]
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[39]. 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[40].
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à[41].
I vari obblighi variano da licenza a licenza[42]:
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[43].
Alcune licenze di software libero includono degli responsabilità rispetto ai diritti di brevetto per invenzioni possedute dall'utente dei software libero[44].
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[45].
C'è un grande dibattito riguardo alla sicurezza del software libero rispetto ad un software proprietario.
Per taluni, sostenitori della sicurezza tramite segretezza, il software libero sarebbe meno sicuro proprio perché il codice sorgente accessibile e migliorabile da tutti rende più facile trovare bug e punti deboli e riduce la segretezza. Secondo Richard Stallman però l'accesso degli utenti al codice sorgente rende più difficile il rilascio di un software con bug oppure spyware rispetto ad un software 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 da malware che le aziende stesse possono inserire all'interno dei propri programmi.[21]
Per questo motivo, vari progetti di software libero rifiutano i blob binari all'interno dei kernel ovvero driver proprietari di hardware le cui case produttrici non hanno rilasciato il codice sorgente. Non essendo noti i Codici sorgente, essi possono contenere bug e minare così la stabilità e la sicurezza del sistema. Alcune distribuzioni tra le prime attive in tal senso furono OpenBSD e gNewSense. Il progetto venne subito accolto e supportato dalla Free Software Foundation che stimolò la nascita del kernel Linux-libre.
A prescindere dalle implicazioni sociali, secondo i suoi sostenitori il software libero presenta numerosi vantaggi rispetto al software proprietario.[22]
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 parola libero ha un'accezione particolare. Si è già sottolineato che la libertà 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à cosiddetta copyleft, 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 la condivisione 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.[28]
Pertanto il software libero parte da considerazione sociali e per molti aspetti è una forma di filosofia.
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 in comunità, 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 del software proprietario, considerato una limitazione inaccettabile della libertà e dei diritti umani. Questa ideologia è stata, erroneamente o almeno impropriamente, paragonata a correnti politiche quali il comunismo, 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;[29] 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à del software e della collaborazione si è diffusa in altri ambiti produttivi come quella della creazione di contenuti. Un esempio è la definizione di opera culturale libera, che definisce i progetti a contenuto libero, come Wikipedia oppure pubblicazioni open 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 con REHL, 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 database MySQL, di cui esiste una versione "Pro Certified Server" a pagamento e una versione "Community Edition" pubblicata con licenza GPL, e la libreria Qt[30].
Vi sono poi aziende che sono strutturate integralmente per la vendita e l'assistenza di un determinato software libero: esempi classici sono alcune distribuzioni di GNU/Linux, come Red Hat o 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 della licenza BSD, alcune aziende preferiscono invece partire da software libero per sviluppare un prodotto non libero. Per esempio il sistema operativo proprietario Microsoft Windows implementava, fino alla versione NT 4.0, lo stack di rete utilizzando codice sotto licenza BSD.
È largamente riconosciuto che per la pubblica amministrazione è preferibile usare software libero, a meno di specifici fattori che lo rendano impossibile o estremamente costoso per la specifica applicazione.[31][32] Questo consenso si riflette, soprattutto dagli anni 2000, in numerose norme quali il Codice dell'amministrazione digitale in Italia, le linee guida dell'Unione europea e centinaia di iniziative pubbliche internazionali, di cui un numero crescente (soprattutto in America Latina) rende obbligatorio l'uso di software libero.[33]
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 (TCO comprensivo di ricerca, acquisizione, integrazione, uso e uscita).[34]
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.[35]
Il settore pubblico può contribuire alla sicurezza del software libero per tutti i suoi utenti, come ha fatto l'Unione europea a partire dal 2014.[36]
Articolo principale: Free and open-source software § Adoption.
Il software libero ha ricoperto un ruolo significativo nello sviluppo di internet, del World Wide Web e le infrastrutture delle dot-com-companies[37]. Il software libero permette agli utenti di collaborare nel miglioramento dei programmi; il software libero è un bene pubblico piuttosto che un bene privato[38]. Le aziende che contribuiscono al software libero aumentano l'innovazione commerciale.
La fattibilità economica dei software liberi è stata riconosciuta da grandi aziende come IBM, Red Hat, and Sun Microsystems. Altre aziende non agenti direttamenti nel mondo del IT scelgono 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 Group[39] stimò 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 un package manager. Free Software Directory è un popoloso catalogo di pacchetti di software libero.
Tra i sistemi operativi i più conosciuti includono le distribuzioni GNU/Linux e i sistemi *BSD. I software comunemente utilizzati ci sono il compilatore gcc, la libreria C standard glibc, il database MySQL e il web server Apache, l'editor di testo Emacs, l'editor di immagini GIMP, il sistema di finestre X Window System, la piattaforma di modellazione, animazione, rigging, compositing e rendering di immagini tridimensionali Blender e la suite LibreOffice.
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.