Storia del Software Libero/Software Open Source

 

La storia del "Sofware Libero" risale agli albori dell'era informatica.
In principio tutto il software era "pubblico". Negli anni '60 l'IBM ed altri iniziarono a vendere i primi computer commerciali su larga scala. Questi erano accompagnati da software "pubblico" che poteva essere liberamente scambiato tra gli utenti. Era disponibile il codice sorgente e poteva essere modificato e adattato a piacere. Era l'hardware a costituire la quasi totalità del costo, il peso economico del software era limitato. Il software serviva solo a fare funzionare le macchine. Tutti coloro che avevano accesso ad una macchina erano anche programmatori e sviluppatori, e dovevano regolarmente modificare il software che usavano nel lavoro di tutti i giorni.

Alla fine degli anni '60 la situazione cambia: la fornitura del software IBM viene separata dall'hardware. Alla metà degli anni '70 era comune imbattersi in "software chiuso", non redistribuibile, non accompagnato dal codice sorgente e non modificabile. Con la crescita delle prestazioni delle macchine e con la conseguente crescita del numero di cose che le macchine potevano fare il software aumentò in complessità e in quantità. I computer venivano utilizzati da sempre più aziende diverse per svolgere compiti sempre più differenziati. Una frazione sempre minore di utenti scriveva software. Diventò allora economicamente interessante sviluppare programmi "chiusi" per poi venderne la licenza d'uso.

In questo contesto, tra la fine degli anni '70 e i primi anni '80, due diversi gruppi iniziarono a costruire le basi dei movimenti "Software Libero" e del "Software Open Source":

1. Sulla costa occidentale degli Stati Uniti, Richard Stallman, un programmatore al MIT AI Lab, diede le dimissioni e lanciò il Progetto GNU con lo scopo di costruire un intero sistema operativo libero, unitamente alle applicazioni che lo avrebbero reso utilizzabile dagli utenti. Venne elaborata la GNU General Public License, in modo da assicurare che il software prodotto rimanesse libero. Stallman rese popolare il termine "free software" (in italiano tradotto con "Software Libero") e parlò nel Manifesto GNU della necessità che il software rimanesse libero ovvero fosse accompagnato dalle tre libertà: libertà di uso, libertà di modifica, libertà di ridistribuzione (e disponibilità del codice sorgente). Nel 1985, fondò la "Free Software Foundation" (FSF), una organizzazione senza scopo di lucro diretta alla realizzazione del Progetto GNU e a sostenere la causa del Software Libero. L'idea fondamentale è che il codice sorgente sia un elemento fondamentale per il progresso della scienza informatica e che la sua distribuzione gratuita sia realmente necessaria perché l'innovazione possa continuare. Tutto il lavoro di Stallman e della FSF è fortemente filosofico, il Manifesto GNU è in effetti un documento filosofico a difesa della liberà dello scambio e condivisione dell'informazione. L'analisi diStallman della natura del software, della programmazione, della tradizione accademica, si conclude dicendo che, a prescindere dalle conseguenze economiche, esistono imperativi etici e morali che impongono di condividere liberamente le informazioni che ci sono state liberamente trasmesse.

2. Sulla costa occidentale degli Stati Uniti, il Computer Science Research Group (CSRG) dell'Università della California di Berkeley iniziò a lavorare a migliorare il sistema Unix, e costruendo un'insieme di applicazioni che presto divennero il "BSD Unix". Questi sforzi erano finanziati principalmente da contratti DARPA , e una fitta rete di hackers sparsi per il mondo aiutava il gruppo nel debugging, nella manutenzione e nel miglioramento del sistema. Per molti anni questo software non fu distribuito fuori della comunità di chi possedeva una licenza Unix AT&T. Nel 1992 Bill Jolitz porta a termine una versione di BSD Unix [19] totalmente free (libera da codice sottoposto al copyright della AT&T) e capace di girare su macchine basate sui processori della classe i386. Chiamerà questo sistema operativo 386BSD e lo sottoporrà ad una licenza software creata ad hoc, la Licenza BSD, appunto, il che lo rendeva software totalmente libero. Da allora ha dato origine a una famiglia di sistemi operativi basati su BSD: NetBSD, FreeBSD, e OpenBSD.

Accanto a questi due filoni principali. e all'interno di essi, altri progetti "liberi" meritano di essere menzionati, tra questi:

TeX: un sistema di tipo-composizione, realizzato da Donald Knuth, il quale deluso dalla qualità di stampa dei lavori che stava scrivendo, decise di costruirsi uno strumento ad hoc. Il più famoso "dialetto" di TeX è LateX, un programma che ha avuto un grande successo negli anni '80, frenato in tempi più recenti dall'affermarsi dei più amichevoli editor con interfaccia grafica.

X-Windows: uno dei primi casi di software libero finanziato da un consorzio di imprese, da cui poi sono state ottenute versioni "proprietarie".

Perl: il linguaggio di programmazione ideato da Larry Wall a tutt'oggi estremamente diffuso.

Apache: nato intorno al 1995 dall'allora diffusissimo server Web sviluppato dall'NCSA e che oggi detiene la quota di mercato maggiore: è utlizzato da circa il 60% (stima Netcraft) dei server web.

GIMP: ovvero GNU Image Manipulator Program, un programma di elaborazione libero, con funzionalità pari a quelle offerte dal famoso Photoshop della Adobe

Phyton: un linguaggio di scripting tuttora molto popolare

Durante gli anni '80 e l'inizio degli anni '90, il software libero continuò a svilupparsi, inizialmente in gruppi isolati. Poi Usenet e Internet servirono a coordinare gli sforzi transnazionali, e a costruire forti comunità di utenti. Pian piano la maggior parte del software sviluppato fu integrato e ambienti di sviluppo completi poterono essere sviluppati , usando solo software libero. Molti amministratori di sistemi cominciarono a sostituire i tool standard con programmi GNU. Vi è un legame simbiotico tra Internet e il "Software Llibero": da una parte Internet nasce e si sviluppa secondo la metodologia collaborativa che è propria del "Software Libero", dall'altra è proprio Internet a permettere di utilizzare la metodologia collaborativa per sviluppare nuovi progetti. E' corretto affermare che "Internet è madre e figlia del Software Libero e del Software Open Source". Internet nasce da un progetto del Governo degli Stati Uniti e tutto il suo sviluppo ed il suo successo è dovuto proprio alla sua capacità di convogliare le energie di centri di ricerca, università e programmatori. E' proprio questo "spazio pubblico", questa comunità a fornire un flusso continuo di software che alimenta l'acquisizione di nuove funzionalità, che saranno la chiave del suo successo. È Internet stesso a permettere alle innovazioni di diffondersi quasi istantaneamente da un capo all'altro del mondo, senza costi né di acquisto né di distribuzione, e a permettere di giungere a quella massa critica di utenti tale da fare decollare l'uso delle innovazioni. Esempi significativi sono la nascita dell'e-mail e del web.

La posta elettronica non faceva parte del progetto ARPANET, ma fu inventata da Ray Tomlinson nel 1972 come hack personale sul protocollo di trasmissione dei file (FTP). Sotto la tollerante supervisione di ARPA l'uso di Internet per le comunicazioni e-mail divenne massiccio. L'ARPA comprese l'importanza dello strumento per la collaborazione a distanza e venne realizzato il primo software di gestione della posta elettronica, chiamato READ. Nuovi programmi liberi per la posta sono seguiti. Finché uno studente di Berkeley, Eric Allman, realizzò Sendmail un programma capace di dirigere e processare il crescente traffico. Sendmail è usato tutt'oggi per dirigere più del 75% del traffico e-mail su Internet ed è fonte di profitti per la società che lo distribuisce: Sendmail Inc.

Il World Wide Web (WWW), inizialmente progettato al CERN di Ginevra per scambiare informazioni internamente, ben presto fu utilizzato come mezzo per diffondere informazioni ipertestuali tra computer remoti. Nel 1993 due studenti finanziati dal National Center for Supercomputing Apllication (NCSA) presso l'Università dell'Illinois crearono Mosaic, il primo Web browser che integrava ipertesti e grafica. I siti Web proliferarono a velocità sempre crescente, così come i browser necessari per vederli.

Tutta la storia di Unix è interessante dal punto di vista del "Software Libero". Unix nasce utilizzando software "pubblico", completo dei sorgenti, ma evolverà in una moltitudine di Unix diversi, chiusi e incompatibili. Le battaglie per l'affermazione e il mantenimento di standard Unix aperti, indispensabili per garantire la compatibilità tra sistemi chiusi sono state numerose e hanno giocato un ruolo nel contrastare il predominio delle politiche "proprietarie". Il 1991 segna una data storica per il "Software Libero" e per l'industria del software in generale. Linus Torvalds, allora studente di informatica a Helsinki comincia a lavorare su un kernel per realizzare un sistema operativo Unix-compatibile totalmente libero; lo chiamerà Linux.

Linus Torvalds riesce fin da subito ad interessare al suo progetto una vasta schiera di programmatori che, volontariamente, cominciano a lavorare sul nuovo sistema operativo e, a meno di un anno di distanza, il kernel Linux è già in grado di far funzionare correttamente la maggior parte degli strumenti sviluppati sotto il progetto GNU (compilatori, editor, ecc.). GNU/Linux è già un sistema operativo completo e funzionante e questo attira un numero sempre maggiore di sviluppatori. Dapprima centinaia, poi addirittura migliaia sono quelli che offrono il loro contributo, mentre Linus è costretto a dedicare sempre più tempo a coordinare l'intero progetto. Nel '93 cominciano ad apparire le prime, pionieristiche, distribuzioni di GNU/Linux.

Fino ad allora nessuno pensava veramente che un gruppo di programmatori volontari potesse sviluppare un intero sistema operativo, una delle imprese più grandi e complicate in tutto il panorama del software. Probabilmente già nel '95 questo sistema operativo superava, in qualità e strumenti, altri sistemi operativi sviluppati secondo il modello tradizionale. Nel '94 Linus cessa di essere un volontario, l'Università di Helsinki lo paga per continuare il suo lavoro su Linux. Nel '97 Linus cessa ufficialmente il suo impegno con Linux e si trasferisce a lavorare in California. Nello stesso periodo,un numero crescente di sviluppatori di Linux e di altri prodotti di software libero comincia ad essere assunto da imprese che basano il loro business su questa nuova metodologia di sviluppo e di economica.

Anche la Microsoft comincia in quel periodo a cercare di capire il nuovo modello. In un documento interno della società di Redmond, noto ormai come l'Halloween Document e trapelato il 31 ottobre del 1998 essa si interroga sul fenomeno, per poi cercare una strategia capace di fronteggiarlo in modo efficace.