Thursday, 23 May 2013
Italian - ItalyEnglish (United Kingdom)
Friday, 20 October 2006 09:40

Storia del Free software e dei sistemi operativi Unix/Linux.

Spacewar, il primo videogioco Spacewar, il primo videogioco
Le origini di quello che solo da pochi anni viene chiamato "Free software" 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 '50 e soprattutto negli anni '60 è stato possibile riusare lo stesso codice e distribuirlo sui supporti allora disponibili, nastri e schede perforate. Questo fenomeno diventò evidente soprattutto quando si affermò il vantaggio di usare una stessa porzione di codice, il ché presupponeva di avere macchine uguali e problemi simili.
Ciò non succedeva spesso, poiché esistevano pochi esemplari di computer uguali, e le poche organizzazioni che li utilizzavano avevano problemi non standard. Inizialmente era diffusa l'idea che le conoscenze di programmazione fossero simili alle conoscenze scientifiche e pertanto liberamente condivisibili, che il progresso tecnologico in questa industria fosse consistito in una sequenza di innovazioni incrementali interdipendenti (e spesso marginali) che nel loro insieme appresentavano il frutto di un’azione inventiva collettiva. Vi era anche l'idea che innovazioni radicali si sarebbero ottenute comunque attingendo dallo stesso bagaglio di conoscenze.

Ciò è vero in molti altri settori dove i nuovi prodotti sul mercato apportano un contributo originale limitato rispetto al bagaglio di conoscenze precedenti a cui attingono. Queste idee erano rafforzate dalla natura logico-matematica del bene in questione.

Quindi, nel caso del software, siamo in presenza di un processo di sviluppo tecnologico incrementale e sequenziale. Inoltre, rispetto ad altre discipline come la chimica o la fisica dello stato solido, le conoscenze tecnologiche sono spesso documentate in modo molto approssimativo.

Date queste idee popolari tra hackers e ricercatori, la condivisione del codice era pratica diffusa proprio perche poteva dar luogo a nuove interessanti applicazioni.

Fino a tutti gli anni '70, 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. Inoltre tra i management delle imprese produttrici di hardware si diffuse la percezione del potenziale degli effetti di rete con l'obiettivo strategico di creare una standardizzazione di fatto.

Da ciò la scelta dei produttori di hardware di vendere i loro prodotti corredandoli da più software possibile in modo da facilitarne la diffusione, fenomeno che rendeva più utili le loro macchine e dunque a maggior valore. 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.

Nel 1965, il Massachussets Institute of Technology, General Electric Company e Bell Telephone Labs avviano il progetto MULTICS (Multiplexed Information and Computer Service), un sistema operativo interattivo e multiutente. Il progetto fallì perché incapace di adattarsi all'hardware nel 1969 lasciando però un notevole bagaglio di esperienza  un approccio che avrebbe costituito un processo produttivo di riferimento.

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 elaboratori di differenti produttori hardware ampliava ulteriormente le possibilità di usare lo stesso codice in modo relativamente indipendente dall'hardware usato.

Il primo sistema operativo di cui si ha traccia è il CTSS (Compatible Time-Sharing System), sviluppato al Massachussetts Institute of Technology e presentato per la prima volta nel 1962 ed ebbe il merito di porre le basi per il successivo sviluppo di questi sistemi. Fece anche da base per lo sviluppo di Multics, altra pietra miliare nella storia dell'informatica.
http://www.multicians.org/thvv/7094.html
http://www.cis.usouthal.edu/faculty/daigle/project1/ctss.htm

Alcuni ricercatori Bell non vollero rinunciare al tentativo precedentemente fallito e diedero vita a Unix, iniziato nel 1971 come progetto interno dell'impresa di telecomunicazioni AT&T.

Quasi immediatamente divenne molto popolare tra gli hackers, anche per il fatto che fu il primo sistema operativo a essere costruito con il linguaggio C. Quando la DEC decise di non fornire più il supporto necessario ai modelli PDP-6 e PDP-10, divenne anche l'unico sistema di riferimento per i programmatori e gli specialisti.

Un procedimento antitrust contro la AT&T le vietò di entrare nel settore dell'informatica. Questo fece sì che Unix, seppur licenziato, venisse distribuito ad un prezzo simbolico a buona parte delle istituzioni universitarie e dei centri di ricerca i quali si ritrovarono ad avere una piattaforma comune, ma senza alcun supporto da parte del produttore e senza la correzione dei bugs.

Nel 1949 AT&T è stata accusata dalla Divisione Antitrust del Dipartimento della Giustizia degli Stati Uniti di aver violato lo “Sherman Antitrust Act”. Il procedimento si chiuderà nel 1956 con un accordo giudiziario che proibiva ad AT&T di entrare in mercati che non fossero quelli dei servizi telefonici e telegrafici. Ciò ebbe notevoli conseguenze sullo sviluppo di Unix che poteva essere licenziato ma non venduto. Per questo motivo Unix venne fornito senza supporto o assistenza, usando la formula “as is”.

La mancanza di supporto portò alla creazione spontanea di una rete di collaborazioni attorno al codice di questo sistema operativo, coordinata dall'Università di Berkeley da cui sarebbe poi nata (ad opera di uno studente, Bill Joy) una intera distribuzione, Berkeley Software Distribution (o BSD), contenente una versione autonoma di Unix, che diventerà un centro di riferimento, di sviluppo e di supporto. La prima versione del sistema operativo BSD venne rilasciata nel 1977 e i trattava semplicemente della versione Unix corretta e adattata.

Il sistema fu distribuito, come si usava a quei tempi, su di un nastro sottoforma di codice sorgente.

La settima edizione datata Gennaio 1979 apportava notevoli miglioramenti tecnici realizzando finamente il “porting” su piattaforma DEC e IBM, ma la nuova licenza proibiva che il codice sorgente venisse studiato nei corsi univesitari e molti atenei semplicemente interruppero i loro studi. In questa situazione il progetto BSD verrà notevolmente accelerato. Infatti: “Unix era originariamente distribuito in forma di codice sorgente. Un utente nel Regno Unito crea qualcosa da esso. Un altro utente il California migliora entrambe le versioni e le distribuisce alla comunità ad un prezzo legato ai costi. La versione migliorata è stata poi incorporata nella successiva versione AT&T”.
Peter H. Salus: A Quarter Century of UNIX , 1994, Addison-Wesley

Si susseguirono versioni e innovazioni finché Bill Joy lasciò il progetto per fondare nel 1986 Sun Microsystem.

BSD si basava in parte sul codice di Unix nella versione System V, che sarà il riferimento per una serie di derivati detti “Unix-like”. Questo codice, originalmente prodotto da AT&T8, era poi stato acquistato da Novell, che ne rivendicava la proprietà nei confronti dell'Università di Berkeley.
In realtà le due parti in causa raggiunsero un accordo perché gran parte del codice che BSD aveva preso dallo UNIX di AT&T, era stato modificato, anche se in minima parte. FreeBSD doveva comunque eliminare le porzioni di codice prese dal sistema proprietario.
Nel gennaio del 1994 la causa legale cessò ampiamente in favore di Berkeley. Su oltre 18000 files soltanto 3 dovevano essere rimossi dal sistema e 70 modificati in termini di licenza. Così, nel giugno dello stesso anno, venne rilasciata la versione definitiva di 4.4BSD, epurata dal codice e dal marchio AT&T: 4.4BSD-lite.

Ma la condivisione del codice è nata insieme all'informatica, piuttosto che di origini dell'Free software potrebbe essere più appropriato parlare, invece, di origine del software proprietario, ed esaminare il contesto storico in cui questa origine ha avuto luogo.

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 sigenze simili, oltre che l'esistenza di più computer sul quale poter far eseguire il programma.

Queste condizioni cominciano a determinarsi negli anni '70, 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, delle statistiche e dei centri meccanografici.

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'incentivo nell'impedire la duplicazione non autorizzata dei programmi.

Nel 1982 la suddivisione della AT&T in 26 società - di cui 7 telefoniche - le cosiddette “BabyBell”, permise ad AT&T di entrare nel mercato dell'informatica e di usare logiche prettamente commerciali nella distribuzione del suo sistema operativo Unix, innalzando notevolmente i costi delle licenze e impedendo la pratica delle correzione degli errori e delle modifiche, ossia rendendolo effettivamente proprietario.
La versione Unix di AT&T non riuscì mai a competere sul mercato con il concorrente BDS/Sun, sebbene si aggiudicò la guerra degli standard. Nel 1990, le versioni AT&T e BSD divennero difficili da distinguere avendo l'una adottato molte innovazioni dell'altra.

Fù un importante segno di cambiamento per il mercato IT che scopriva così l'importanza del software e il valore strategico dei sistemi operativi.

Nel 1982 iniziò la diffusione di 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.

Al MIT la sostituzione dei computer fece sì che i programmatori - fra i quali Richard Stallman che sarebbe diventato il personaggio più rappresentativo del software libero - non potessero accedere al sorgente di alcuni software utili nel loro lavoro, perdendo funzionalità gradite in passato.

Stallman era un ricercatore del laboratorio di Intelligenza Artificiale del Massachusset Institute of Tecnology, da anni permeato dall’etica hacker.

Per lui questa situazione era un grande perdita di energie, in quanto utili informazioni che potevano rendere il lavoro più semplice non potevano essere trasmesse tra persone che svolgevano compiti simili. Non solo, egli vedeva questa situazione come la disgregazione di una fiorente comunità, che aveva sempre avuto rapporti collaborativi e aveva creato intorno a sé una cultura fatta di simboli, abitudini e lessico condiviso.

Di fatto si può inquadrare in questa situazione di insofferenza di un gruppo di programmatori l'evento che ha dato inizio a tutto ciò, con le dimissioni di Stallman dal MIT a causa dell'impossibilità di intervenire sul software come era sempre stato di loro competenza.

Contemporaneamente, società private cominciarono ad assumere diversi programmatori del MIT, e si diffuse la pratica di non rendere disponibili i sorgenti dei programmi firmando dei 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 no-profit per lo sviluppo e la distribuzione di software libero.

Il fine era lo sviluppo di un sistema operativo completo corredato, ispirato a UNIX, ma distribuito con una licenza permissiva, con tutti gli strumenti necessari altrettanto liberi. Si tratta del progetto nato l'anno precedente, ovvero GNU, un acronimo ricorsivo per collegarsi e al contempo distinguersi da UNIX, ovvero "GNU's Not UNIX". Stallman poi decise di basare GNU sul modello del sistema operativo Unix per ragioni connesse alla filosofia architetturale di questo sistema.
“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à.”

In Unix infatti esistono due principi fondamentali:

  • ogni cosa è un file;
  • qualsiasi cosa venga costruita, bisogna usare soluzioni che assolvono una sola funzione.
Questa struttura modulare garantiva la possibilità di lavorare separatamente ad un’unico elemento, senza doversi preoccupare troppo delle interazioni con gli altri. Ciò inoltre permetteva a sviluppatori di tutto il mondo di lavorare sul progetto che preferivano e poi, solo in un secondo momento, preoccuparsi di come associarlo agli altri elementi.

Il progetto GNU, finanziato dalla FSF, venne pertanto prodotto da programmatori appositamente stipendiati. Furono sviluppate anche altre componenti di sistema predisposte per UNIX, alle quali si sono aggiunte svariate e numerose applicazioni. Questi programmi furono distribuiti in una pacchettizzazione unica 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.

Stallman con l'aiuto di un avvocato scrisse così la GNU General Public License, o 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 software, al fine di assicurare che i programmi siano liberi per tutti i loro utenti”.

Tuttavia, all'inizio degli anni '90, il progetto GNU non aveva ancora raggiunto il suo obiettivo principale, mancando di completare il kernel12 del suo sistema operativo. Per sopperire alla mancanza del kernel William e Lynne Jolitz riuscirono a portare UNIX BSD su piattaforma Intel 386 nel 1991, e Linus Torvalds, contemporaneamente iniziò lo sviluppo del kernel Linux, cresciuto poi con il contributo di migliaia di programmatori volontari sparsi per il mondo.

Il kernel è il nucleo di un sistema operativo. Si tratta di un software con il compito di fornire ai programmi in esecuzione sul computer e agli altri moduli componenti il sistema operativo le funzioni fondamentali ed un accesso controllato all'hardware sollevando i programmi dai dettagli della sua gestione. Il kernel ha anche la responsabilità di assegnare una porzione di tempomacchina e di accesso all'hardware a ciascun programma (tale funzionalità è definita “multitasking”) e di gestire le utenze (“multiuser”). Non è strettamente necessario un kernel per far funzionare un elaboratore, infatti i programmi possono essere direttamente caricati ed eseguiti su una macchina, in questo caso sono detti “stand-alone”, ma la progettazione di questo tipo di software risulta enormamente più complessa e difficoltosa.

Negli anni '80 vi saranno 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 segmentati 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 di sistemi operativi e di applicativi 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, il cosiddetto ciclo “Wintel”.

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 '80 vennero introdotte le workstation, ovvero un sistema basato su terminali (detti client) e computer centrali (detti server). Si tratta di sistemi basati essenzialmente su sistemi operativi UNIX proprietari. L'hardware stesso è costituito sul lato server da workstation, 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 gestito da personale informatico qualificato.

Benché Internet avesse visto la luce già negli anni '70, è soltanto agli inizi degli anni '90, 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 imprese, amministrazioni e cittadini.

All'inizio degli anni '90 il progetto GNU non aveva ancora raggiunto il suo obiettivo principale, mancando di completare il kernel del suo sistema operativo.

Il passaggio di UNIX BSD su piattaforma Intel 386, avvenuto nel 1991, si trovò ad affrontare problemi di natura legale che ne ritardarono temporaneamente lo sviluppo.

USL vs BSDi è un procedimento per violazione dei diritti di proprietà intellettuale che ha visto opporsi nel 1992 Unix System Laboratories contro Berkeley Software Design Inc. e i responsabili dell'Università della California riguardo all'utilizzo del codice sorgente di Unix. Il caso viene risolto fuori dalle aule di tribunale quando un anno dopo il giudice esprime dei dubbi di merito sulla validità dei diritti di proprietà intellettuale pretesi della socità ex AT&T. Le società conclusero un accordo che prevedeva la fine del contenzioso e la modifica di poche parti di BSD e la conseguente creazione della distribuzione free-BSD. Un caso simile, SCO vs IBM è tutt'ora pendente, dove Santa Cruz Operation afferma di essere il successore degli interessi di USL avendone acquistato i diritti di Unix. Inizialmente SCO supportò Linux con una propria versione, nell'intento di rendere più appetibile il suo Unix schiacciato dalla concorrenza Microsoft, accadde che mentre la SCO perdeva le vendite, a causa di un inadeguato supporto commerciale, le piccole ditte di Linux crescevano notevolmente. La crescita di Linux causò non pochi problemi a SCO, che venne schiacciata dalla forte crescita del pinguino da un lato e dalla forza commerciale di Microsoft dall'altro. Decise allora di ricorrere per vie legali contro IBMe altre società che supportavano fortemente Linux. Le accuse riguardano presunte violazioni di copyright nel kernel di Linux; ciò significa che alcune parti di Linux sarebbero state copiate dal kernel di Unix, di cui SCO afferma di detenere i diritti. Non è tuttora chiaro né se SCO detenga effettivamente diritti su Unix, né se le accuse sul kernel di Linux siano effettivamente fondate. Tuttora SCO non è stata in grado di dimostrare che il codice sia stato copiato da Unix; inoltre, alcuni studi interni alla stessa SCO, sarebbero la dimostrazione che non esistono copiature di codice da un sistema all'altro.

Nello stesso anno, per una serie di motivazioni come l'insoddisfazione per le prestazioni di Minix, il desiderio di un sistema Unix funzionante su una piattaforma PC, la volontà 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, stimolarono un giovane studente al secondo anno di informatica presso l'Università di Helsinki, Linus Torvalds, a sviluppare un proprio sistema operativo su un PC con un processore Intel 386. Ispirato dalle qualità tecniche di Unix su altre piattaforme Torvalds creò il kernel “Linux” e lo distribuì tramite Internet ricevendo immediatamente un ampio riscontro positivo da parte di altri programmatori, i quali apportarono nuove funzionalità e contribuirono a correggere errori riscontrati. Utilizzò al meglio le idee e i contributi che gli giungevano da programmatori di diverse nazioni svolgendo un ruolo di integrazione e coordinazione.

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, annullando 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.

Linux può essere considerato come il primo vero progetto “open source” cioè come il primo progetto che faceva affidamento essenzialmente sulla collaborazione via internet per progredire. Fino ad allora , infatti , anche i progetti di software libero come Emacs erano stati sviluppati in maniera centralizzata seguendo un progetto prestabilito da un ristretto numero di persone, in base cioè ai principi classici dell'ingegneria del software.

Ciò che in realtà rende Linux diverso dagli altri sistemi operativi va ricercato nel fatto che esso cresce basandosi sul libero e gratuito contributo di persone che si occupano di ottimizzare il codice sorgente adeguandolo alle sempre diverse esigenze degli utenti; il suo Kernel, cioè il cuore del sistema operativo, è completamente Open Source. Il codice sorgente necessario per sviluppare nuove applicazioni compatibili con tale sistema, è disponibile  a tutti. Fra i vantaggi rappresentati da tale sistema, la possibilità di correggere i bug inevitabilmente presenti.

I derivati dalla grande famiglia Unix sono quindi tutti rappresentabili in una sorta di albero genealogico di molti dei moderni sistemi operativi:

 Albero genealogico dei sistemi operativi *nix

Linux rappresenta un progresso sociologico più che tecnico: fino ad allora lo sviluppo del delicato e complicato software di un sistema operativo era stato prerogativa di gruppi ristretti di tecnici strettamente collegati e coordinati fra loro.

Invece in questo caso lo sviluppo e la qualità del sistema furono garantiti  non da strategie di sviluppo industriali bensì dal fatto che settimanalmente avveniva un confronto on-line delle idee e delle opinioni di centinaia di utenti, seguito dalla  selezione delle varie modifiche apportate dagli stessi.

Inoltre Linux, a differenza di BSD, non aveva alcun modulo in comune con Unix, era un codice nuovo ed originale seppure ispirato alla sua filosofia costruttiva garantendo un approccio non dissimile.

Già nel 1993 Linux data la sua stabilità ed affidabilità e grazie alla quantità di software disponibile fu in grado di competere con molti Unix commerciali: questo determinò la scomparsa dei piccoli fornitori di tali sistemi di sistemi Unix-like che nel frattempo erano nate.

Sempre in quest’anno iniziarono a fiorire delle iniziative che preannunciavano quello che sarebbe stato uno dei modelli economici del sofware libero/open source, le distribuzioni.

Tra le varie distribuzioni spiccava la Debian, che nacque con il proposito di creare una distribuzione Linux di elevata qualità e per rendere credibile il modello a codice aperto, che poteva essere screditato da distribuzioni avventate e distanti dallo spirito comunitario che stava alla base di questo modo di fare software. La Debian ufficializzò questo intento con le “Debian Free Software Guidelines”, scritte da Bruce Perens e con il “contratto sociale Debian”. Il documento fissava quali dovessero essere le caratteristiche della licenza d’uso di un programma perché potesse essere considerato “libero”. Altre distribuzioni, tra cui Red Hat, SuSE, Mandrake, Turbo Linux, hanno il merito di essersi preoccupate non solo dell’evoluzione del sistema ma soprattutto della sua fruibilità da parte dell’utente finale, fattore chiave per la diffusione di Linux.

Numerose aziende iniziarono a vendere delle versioni di Linux ripulite dai bug e orientate a usi particolari del sistema: venivano inseriti programmi e funzionalità aggiuntive, già inserite nel pacchetto proposto. Le distribuzioni nacquero per facilitare l’utilizzo del prodotto agli utenti meno esperti e per risparmiare lavoro aggiuntivo di assemblaggio e compilazione dei pacchetti. Insieme ai pacchetti software le aziende proponevano anche servizi di assistenza sul prodotto.

Dopo circa 15 anni, il processo produttivo open source, riusciva a smentire la “legge di Brooks”, secondo cui "aggiungere sviluppatori a un progetto in corso di implementazione in realtà rallenta il suo sviluppo".

Agli inizi degli anni '90, l'idea delle licenze liberali era rappresentata soprattutto da Richard Stallman e la sua Free Software Foundation, ovvero le licenze liberali per eccellenza erano la GPL e la LGPL che però venivano ritenute "virali", 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 software libero.

Per favorire dunque l'idea di licenze liberali nel mondo degli affari Bruce Perens, Eric S.Raymond e altri pensarono - nel 1997 - di creare una sorta di lobby a favore di una ridefinizione filosofica del software libero, evidenziandone cioè i vantaggi pratici per le aziende e coniarono il termine "Open Source" mediante una fondazione no-profit chiamata Open Source Initiative (OSI), ma rinunciando alla viralità della licenza GPL.

Ciò anche al fine di evitare l'equivoco dovuto al multiplo significato di “free” nella lingua inglese, visto che spesso veniva interpretato come "gratuito" invece che come "libero". Per superare questo ambiguità Richard Stallman scelse il termine italiano “libero”, riferendosi al software in virtù dei diritti concessi e non alla gratuità. Per questo Stallman scrive:”Free software is a matter of liberty, not price. To understand the concept, you should think of free as in free speech, not as in free beer.”
Vedi anche http://www.opensource.org/docs/definition.html

L'iniziativa venne portata avanti soprattutto da parte di Raymond che, in occasione della liberalizzazione del codice sorgente di Netscape, voleva utilizzare un tipo di licenza meno restrittivo per le aziende di quanto fosse la GPL. Questa ha fissato dei criteri generali da applicare alla distribuzione di software aperto. Tali criteri sono contenuti nella Open Source Definition e nell’OSI Certification Mark. L’obiettivo della OSI era di rendere il software libero più visibile nella comunità di produttori commerciali, aumentandone quindi il mercato potenziale, al di là della ristretta cerchia di utilizzatori pionieri. Uno dei cardini di questo nuovo approccio consiste nella rinuncia alla clausola di viralità propria della GPL (“the license must not insist that all other programs distributed on the same medium must be open-source software”). Questa scelta fù il più significativo tema di divisione tra i movimenti del software libero e dell'Open Source.

La scelta a favore dell'Open Source da parte di alcune importanti imprese del settore come la Netscape e 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.

Venne cioè accettata l'idea che l'open source fosse una metodologia di produzione software efficace, in La Cattedrale e il Bazaar, Eric S. Raymond critica esplicitamente i tradizionali metodi di ingegneria del software, metodi che fino a quel momento - ed anche successivamente - avevano dati buoni frutti.

2674 comments

<< Start < Prev 1 2 3 4 5 6 7 8 9 10 Next > End >>

Leave a comment

Make sure you enter the (*) required information where indicated.
Basic HTML code is allowed.