Open source: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Riga 7:
* [[Open Source Definition]]
* [[Differenza tra Software Libero e Open Source]]
== Storia dell'Open Source ==
=== La genesi del software condiviso ===
La origine di quello che solo da pochi anni viene chiamato Open Source, risalgono agli albori dell'[[informatica]], o meglio ai tempi nei quali per la prima volta fu possibile ed aveva una sua utilità condividere il codice tra persone senza che esistesse alcun legame contrattuale tra di loro. A partire dagli [[anni 1950|anni Cinquanta]], e soprattutto negli [[anni 1960|anni Sessanta]], è stato possibile riusare lo stesso codice e distribuirlo anche se in modo oggi ritenuto piuttosto artigianale, ovvero con nastri e [[schede perforate]]. Questo fenomeno diventò evidente soprattutto quando si affermò il vantaggio di usare una stessa porzione di codice, il che presupponeva di avere macchine uguali e problemi simili.
 
Negli [[anni 1940|anni Quaranta]] e [[anni 1950|Cinquanta]] ciò non succedeva spesso, in quanto esistevano pochi esemplari di [[computer]] uguali, e le poche organizzazioni che li utilizzavano avevano problemi non standard. Le conoscenze di programmazione erano più simili alle conoscenze scientifiche e pertanto liberamente condivisibili, che a conoscenze tecnologiche delle quali appropriarsi per trarre profitto.
 
Inoltre, fino a tutti gli [[anni 1970|anni Settanta]], anche se in misura decrescente, la componente principale e costosa di un computer era l'[[hardware]], il quale era comunque inutile in assenza di software. Da ciò la scelta dei produttori di hardware di vendere il loro prodotto accompagnato da più software possibile e di facilitarne la diffusione, fenomeno che rendeva più utili le loro macchine e dunque più concorrenziali. Il software, tra l'altro, non poteva avvantaggiare la concorrenza in quanto funzionava solo su un preciso tipo di computer e non su altri, neanche dello stesso produttore.
 
L'introduzione dei sistemi operativi rese i programmi sempre più portabili, in quanto lo stesso [[sistema operativo]] veniva offerto dal produttore di diversi modelli di hardware. La presenza di sistemi operativi funzionanti per macchine di differenti produttori hardware ampliava ulteriormente le possibilità di usare lo stesso codice in modo relativamente indipendente dall'hardware usato. Uno di questi sistemi operativi era [[Unix]], iniziato nel [[1969]] come progetto all'interno di un'impresa delle [[telecomunicazioni]], la [[AT&T]]. Una famosa causa [[antitrust]] contro la AT&T le vietò di entrare nel settore dell'[[informatica]]. Questo fece sì che [[Unix]] venisse distribuito ad un prezzo simbolico a buona parte delle istituzioni [[università|universitarie]], le quali si ritrovarono ad avere una piattaforma comune, ma senza alcun supporto da parte del produttore. Si creò spontaneamente una rete di collaborazioni attorno al codice di questo sistema operativo, coordinata dall'[[Università di Berkeley]], da dove sarebbe poi uscita la versione BSD di [[Unix]], che diventa da un lato un centro di sviluppo ed innovazione, dall'altro è la base di partenza per numerosi [[forking]].
 
=== La nascita del software proprietario ===
Considerato che la condivisione del codice è nata insieme all'informatica, piuttosto che di
origini dell'Open Source si può dunque suggerire di parlare di origini del software proprietario.
 
L'utilità principale delle licenze restrittive consiste nella possibilità di rivendere un programma più volte, se necessario con alcune modifiche purché non rilevanti. Questo presuppone che esistano clienti diversi con esigenze simili, oltre che l'esistenza di più computer sul quale poter far eseguire il [[programma]]. Queste condizioni cominciano a determinarsi negli anni Sessanta, grazie al fatto che esistevano un maggior numero di utilizzatori con esigenze standardizzabili come lo erano quelle delle organizzazioni economiche nell'area della contabilità, la logistica o delle statistiche.
 
L'introduzione dei sistemi operativi rese inoltre possibile l'utilizzo dello stesso programma anche su hardware differente aumentando così le possibilità di riutilizzo dello stesso codice e dunque l'utilità nell'impedire la duplicazione non autorizzata dei programmi.
 
La suddivisione della AT&T in 26 società, le cosiddette [[BabyBell]], permise alla [[AT&T]] di usare logiche prettamente commerciali nella distribuzione del suo [[sistema operativo]] [[UNIX]], innalzando notevolmente i costi delle licenze e impedendo la pratica delle [[Patch (Informatica) | patch]]. Nel [[1982]] cominciò pure la storia delle diverse versioni commerciali di [[Unix]], legate ai singoli produttori di [[hardware]], i quali, differenziando anche solo di poco la propria versione, riuscivano cosí a legare a sé i clienti acquisiti, in quanto programmi scritti per una specifica versione di [[Unix]] non funzionavano solitamente su versioni concorrenti.
 
=== Gli anni Ottanta: Stallman, la [[Free Software Foundation]] e l'innovazione dei [[Personal computer|PC]] ===
Al [[MIT]] la sostituzione dei computer fece sì che i programmatori - fra i quali [[Richard Stallman]] che sarebbe diventato il portabandiera del [[Software Libero|free software]] - non potessero accedere al sorgente del nuovo [[driver]] di una [[stampante]] Xerox per implementarvi una funzionalità gradita in passato: la segnalazione automatica che vi erano problemi con la carta inceppata. Contemporaneamente, società private cominciarono ad assumere diversi programmatori del MIT, e si diffuse la pratica di non rendere disponibili i sorgenti dei programmi firmando accordi di non divulgazione (NDA: Non-Disclosure Agreement).
 
In questo contesto Stallman si rifiutò di lavorare per una società privata e fondò nel [[1985]] la Free Software Foundation (FSF), una [[organizzazione senza fini di lucro]] per lo sviluppo e la distribuzione di [[software libero]]. In particolare lo sviluppo di un sistema operativo completo, compatibile con UNIX, ma distribuito con una licenza permissiva, con tutti gli strumenti necessari altrettanto liberi. Si tratta del progetto nato l'anno precedente, ovvero GNU, [[acronimo ricorsivo]] per contemporaneamente collegarsi e distinguersi da UNIX, ovvero ''"GNU's Not UNIX"''. «''L'obiettivo principale di GNU era essere software libero. Anche se GNU non avesse avuto alcun vantaggio tecnico su UNIX, avrebbe avuto sia un vantaggio sociale, permettendo agli utenti di cooperare, sia un vantaggio etico, rispettando la loro libertà.''»
 
Tale progetto, finanziato dalla FSF, venne pertanto prodotto da programmatori appositamente stipendiati. I principali contributi vennero da Stallman stesso: il [[compilatore]] [[gcc]] e l'[[editor di testo]] [[Emacs]]. Furono sviluppate anche altre componenti di sistema UNIX, alle quali si sono aggiunte applicazioni per veri e propri giochi. Questi programmi furono distribuiti per circa 150$ che oltre a coprire i costi di riproduzione garantivano un servizio di supporto al cliente. L'unica condizione era che tutte le modifiche eventualmente effettuate su tali programmi venissero notificate agli sviluppatori.
 
Nacque così la [[GNU General Public License]] ([[GPL]]), il preambolo del cui [[manifesto]] comincia con: «''Le licenze per la maggioranza dei programmi hanno lo scopo di togliere all'utente la libertà di condividerlo e di modificarlo. Al contrario, la GPL è intesa a garantire la libertà di condividere e modificare il free software, al fine di assicurare che i programmi siano 'liberi' per tutti i loro utenti''.»
 
Tuttavia, all'inizio degli [[Anni 1990|anni Novanta]], il progetto GNU non aveva ancora raggiunto il suo obiettivo principale, mancando di completare il [[kernel]] del suo sistema operativo ([[HURD]]). Per sopperire alla mancanza del kernel William e Lynne Jolitz riuscirono a fare il [[porting]] di UNIX BSD su piattaforma [[Intel]] 386 nel [[1991]], e [[Linus Torvalds]] (anch'esso nel 1991 e su piattaforma [[Intel 386]]) iniziò lo sviluppo del [[kernel Linux]], cresciuto poi con il contributo di migliaia di programmatori volontari sparsi per il mondo.
 
Gli anni Ottanta sono caratterizzati da alcuni eventi importanti, tra i quali l'introduzione nel mercato di quello che verrà chiamato [[Personal Computer]] (PC), ovvero un elaboratore con un proprio processore concepito per essere utilizzato da un solo utente alla volta. Il prodotto di maggior successo, il PC della [[IBM]], si differenziava dai progetti precedenti in quanto non utilizzava componenti IBM, ma sia per il software che per l'hardware si affidava alla produzione da parte di terzi. Ciò rese possibile da un lato ad altre imprese di clonare il PC IBM, abbattendone notevolmente i costi, dall'altro permise a parecchie società di produrre dei software applicativi standard, in concorrenza gli uni con gli altri, basandosi su un unico sistema operativo, anche se inizialmente i principali produttori di software erano identificabili con prodotti per specifiche applicazioni.
 
Il notevole ampiamento del mercato rese possibili economie di scala e si instaurò una sorta di [[sinergia]] tra quelli che sarebbero diventati i principali attori del settore: il produttore dei processori Intel e il produttore del sistema operativo e di applicativi per ufficio [[Microsoft]]. La maggiore potenza dei processori rese possibile lo sviluppo di programmi più complessi, la maggiore complessità degli applicativi e del sistema operativo richiesero processori più potenti instaurando in un certo modo un circolo vizioso di aggiornamenti continui.
 
Sia il sistema operativo che gli applicativi furono caratterizzati fin da subito dall'essere destinati ad utenti con conoscenze informatiche relativamente scarse e dall'avere licenze d'uso strettamente commerciali, vietando da un lato agli utenti di farne delle copie, dall'altro agli sviluppatori di vedere o modificare il codice.
 
Sempre negli anni Ottanta vennero introdotte le [[workstation]], ovvero un sistema basato su terminali (i [[client]]) e computer centrali (i [[server]]). Si tratta di sistemi derivati concettualmente dai [[mainframe]] e basati essenzialmente su sistemi operativi UNIX proprietari. L'hardware stesso varia sul lato server dai mainframe ai PC, mentre su lato client vengono impiegati soprattutto i PC. Ciò favorì lo sviluppo di software sia per i client, utilizzati spesso da persone con scarse conoscenze informatiche, che per i server, il cui funzionamento viene solitamente garantito da personale informatico particolarmente qualificato.
 
=== Gli anni Novanta: Internet, Linux e la Open Source Definition ===
Benché [[Internet]] avesse visto la luce già negli anni Settanta, è soltanto agli inizi degli anni Novanta, con la diffusione del protocollo [[http]] e la nascita dei primi [[browser]], che Internet cominciò ad essere diffuso prima in ambito accademico e poi in modo sempre più capillare anche tra semplici privati.
 
Nel [[1991]], l'insoddisfazione riguardante alcuni applicativi di [[Minix]], un sistema [[Unix]] su una piattaforma PC, il desiderio di approfondire le proprie conoscenze del processore Intel 386, scelto in quanto di minor costo e di maggiore diffusione rispetto alle piattaforme hardware per le quali erano disponibili sistemi operativi Unix, e l'entusiasmo per le caratteristiche tecniche di Unix stimolarono [[Linus Torvalds]], studente al secondo anno di informatica presso l'Università di [[Helsinki]], a sviluppare un proprio sistema operativo, imitando le funzionalità di Unix, su un PC con un processore Intel 386. Torvalds distribuì il proprio lavoro tramite Internet e ricevette immediatamente un ampio riscontro positivo da parte di altri programmatori, i quali apportarono nuove funzionalità e contribuirono a correggere errori riscontrati. Nacque così il [[kernel Linux]], il quale fu distribuito fin da subito con una [[licenza liberale]].
 
Internet dal canto suo, rende possibile la comunicazione tra persone molto distanti in tempi
rapidi e a basso costo. Inoltre rende possibile la distribuzione di software direttamente dalla rete, riducendo ulteriormente i costi di duplicazione e le difficoltà a reperire il software stesso. La diffusione dei [[CD-Rom]] come supporto privilegiato di raccolte di software rese possibile il fenomeno delle cosiddette distribuzioni.sas
 
Agli inizi degli anni Novanta, l'idea delle licenze liberali era rappresentata soprattutto da [[Richard Stallman]] e la sua FSF, ovvero le licenze liberali per eccellenza erano la [[GNU General Public License|GPL]] e la [[GNU Lesser General Public License|LGPL]] che però venivano ritenute "contagiose", in quanto a partire da un codice licenziato con la GPL qualsiasi ulteriore modifica deve avere la stessa licenza. Le idee stesse di Stallman venivano viste con sospetto dall'ambiente commerciale statunitense, il che non facilitava la diffusione del suo approccio. Per favorire dunque l'idea delle [[licenza liberale|licenze liberali]] nel mondo degli affari, [[Bruce Perens]], [[Eric S. Raymond]], Ockman e altri cominciarono nel [[1997]] a pensare di creare una sorta di [[lobby]] a favore di una [[politica]] liberale delle licenze d'uso e coniarono il termine "Open Source". Ciò anche al fine di evitare l'equivoco dovuto al doppio significato di free nella [[lingua inglese]], visto che spesso veniva interpretato come "gratuito" invece che come "libero".
 
La scelta a favore dell'Open Source da parte di alcune importanti imprese del settore come
la [[Netscape]] e l'[[IBM]], facilitarono inoltre l'accettazione del movimento Open Source presso l'industria del software, facendo uscire l'idea della "condivisione del codice" dalla cerchia ristretta nella quale era rimasta relegata fino ad allora.
 
==Collegamenti esterni==