[successivo] [precedente] [inizio] [fine] [indice generale] [indice ridotto] [indice analitico] [home] [volume] [parte]


Capitolo 3.   Storia breve del software libero

L'esigenza di libertà nel settore del software è sempre stata sentita. Ma se oggi questo tipo di software rappresenta concretamente una scelta possibile, lo si deve all'azione di persone che con impegno hanno agito, legalmente, verso il raggiungimento di questo obiettivo.

3.1   BSD

Negli anni 1970, i primi utenti di UNIX sono state le università, a cui in particolare questo sistema operativo è stato fornito a costo contenuto, con i sorgenti, ma senza alcun tipo di supporto tecnico, né alcuna garanzia. Proprio questa assenza di sostegno da parte della casa che lo aveva sviluppato originariamente, ha stimolato la cooperazione tra gli utenti competenti, in pratica tra le università.

Il maggior fermento intorno a UNIX si è concentrato presso l'università della California a Berkeley, dove a partire dal 1978 si è cominciato a distribuire una variante di questo sistema operativo, con il nome BSD, ovvero Berkeley software distribution.

Per questo software è nata una licenza d'uso che rimane il progenitore della filosofia del software libero: la licenza BSD.

Per molto tempo, la variante BSD di UNIX è rimasta relegata all'ambito universitario o a quello delle aziende che avevano acquistato i diritti per utilizzare il codice sorgente dello UNIX originale. Ciò fino a quando si è sentita l'esigenza di ripulire lo Unix BSD dal codice proprietario.

Il risultato iniziale è stato 386BSD, pubblicato nel 1992 con la versione 0.1. Tuttavia, questa edizione libera dello Unix BSD non ha avuto vita facile, dal momento che da quel punto sono iniziate delle contese giudiziarie sulla proprietà di alcune porzioni di codice ritenute libere (a torto o a ragione che sia).

Dai problemi di 386BSD che hanno causato la sua eliminazione dalla distribuzione pubblica, si sono sviluppati altri progetti indipendenti per ottenere, finalmente, un sistema BSD libero. Il primo di questi è stato nominato NetBSD, al quale si è aggiunto subito dopo FreeBSD e più tardi anche OpenBSD.

Tuttavia, i problemi legali non sono terminati con 386BSD: la variante denominata FreeBSD è stata «libera» solo all'inizio del 1995 con la versione 2.0. Il pezzo seguente è tratto da A Brief History of FreeBSD di Jordan K. Hubbard, marzo 1998.

The first CDROM (and general net-wide) distribution was FreeBSD 1.0, released in December of 1993. This was based on the 4.3BSD-Lite ("Net/2") tape from U.C. Berkeley, with many components also provided by 386BSD and the Free Software Foundation. It was a fairly reasonable success for a first offering, and we followed it with the highly successful FreeBSD 1.1 release in May of 1994.

Around this time, some rather unexpected storm clouds formed on the horizon as Novell and U.C. Berkeley settled their long-running lawsuit over the legal status of the Berkeley Net/2 tape. A condition of that settlement was U.C. Berkeley's concession that large parts of Net/2 were "encumbered" code and the property of Novell, who had in turn acquired it from AT&T some time previously. What Berkeley got in return was Novell's "blessing" that the 4.4BSD-Lite release, when it was finally released, would be declared unencumbered and all existing Net/2 users would be strongly encouraged to switch. This included FreeBSD, and the project was given until the end of July 1994 to stop shipping its own Net/2 based product. Under the terms of that agreement, the project was allowed one last release before the deadline, that release being FreeBSD 1.1.5.1.

FreeBSD then set about the arduous task of literally re-inventing itself from a completely new and rather incomplete set of 4.4BSD-Lite bits. The "Lite" releases were light in part because Berkeley's CSRG had removed large chunks of code required for actually constructing a bootable running system (due to various legal requirements) and the fact that the Intel port of 4.4 was highly incomplete. It took the project until December of 1994 to make this transition, and in January of 1995 it released FreeBSD 2.0 to the net and on CDROM. Despite being still more than a little rough around the edges, the release was a significant success and was followed by the more robust and easier to install FreeBSD 2.0.5 release in June of 1995.

Allo stato attuale, le tre varianti *BSD sono tutte riconducibili a BSD 4.4-Lite, dove le differenze più importanti riguardano le piattaforme hardware in cui possono essere installate e l'origine della distribuzione.

3.2   GNU

Nel 1985, Richard Stallman fonda la FSF, Free software foundation, con lo scopo preciso di creare e diffondere la filosofia del «software libero». Libertà intesa come la possibilità data agli utenti di distribuire e modificare il software a seconda delle proprie esigenze e di poter distribuire anche le modifiche fatte.

Queste idee filosofiche si sono tradotte nella redazione di un contratto di licenza d'uso, la General Public License (appendice B), studiato appositamente per proteggere il software libero in modo da non poter essere accaparrato da chi poi potrebbe impedirne la diffusione libera. Per questo motivo, oggi, il copyright di software protetto in questo modo, viene definito copyleft.

Il software libero richiede delle basi, prima di tutto il sistema operativo. In questo senso, l'intento pratico di Richard Stallman è stato quello di realizzare, con l'aiuto di volontari, un sistema operativo completo. Con questo obiettivo è nato il progetto GNU (Gnu's not Unix), che ha puntato inizialmente alla realizzazione di un compilatore C, quindi alla costruzione di una serie di programmi di servizio, soprattutto quelli standard di un sistema Unix tipico, lasciando però in secondo piano lo sviluppo di un kernel (il cuore del sistema operativo).

Così facendo, il progetto GNU ha dato vita a una grande quantità di software utilizzabile sulla maggior parte delle piattaforme Unix, indirizzando implicitamente il software libero nella direzione dei sistemi di questo tipo.

Nel 1990 inizia lo sviluppo del kernel Hurd e intorno al 2000 inizia la distribuzione del sistema GNU/Hurd (sistema GNU basato su kernel Hurd).

3.3   Minix

Alla fine degli anni 1980, il professor Andrew S. Tanenbaum (capitolo 806) sviluppa Minix, un sistema operativo Unix per elaboratori x86-16,(1) realizzato specificamente per uso didattico. Era sufficiente acquistare il libro a cui era abbinato e si otteneva un sistema completo di sorgenti. Tuttavia, Minix aveva un problema: poteva essere usato, distribuito e modificato, solo per fini didattici.

I diritti di questo sistema operativo sono stati ceduti inizialmente alla casa editrice del libro con il quale questo veniva diffuso; tuttavia, nell'anno 2000, Andrew S. Tanenbaum ha ottenuto dalla casa editrice di poter distribuire il sistema Minix con una licenza simile a quella di BSD.

3.4   Linux

Linux nasce all'inizio degli anni 1990 come un progetto personale di studio delle funzionalità di multiprogrammazione dei microprocessori x86-32 da parte di Linus Torvalds, all'epoca uno studente all'università di Helsinki, in Finlandia. Inizialmente il lavoro di Linus Torvalds si basava su un sistema Minix, riscrivendo il kernel e adattando successivamente il compilatore e i programmi sviluppati dal progetto GNU. L'idea di Linus Torvalds era quella di realizzare «a better Minix than Minix», ovvero, voleva costruire qualcosa di meglio del sistema Minix.

Dopo molto lavoro, Linus Torvalds arriva a un sistema minimo e soprattutto autonomo da Minix. Il 5 ottobre 1991 invia il messaggio seguente al gruppo di discussione comp.os.minix.

Do you pine for the nice days of Minix-1.1, when men were men and wrote their own device drivers? Are you without a nice project and just dying to cut your teeth on a OS you can try to modify for your needs? Are you finding it frustrating when everything works on Minix? No more all-nighters to get a nifty program working? Then this post might be just for you.

As I mentioned a month ago, I'm working on a free version of a Minix-lookalike for AT-386 computers. It has finally reached the stage where it's even usable (though may not be depending on what you want), and I am willing to put out the sources for wider distribution. It is just version 0.02...but I've successfully run bash, gcc, gnu-make, gnu-sed, compress, etc. under it.

L'anno di nascita di un sistema operativo basato sul kernel Linux è quindi il 1991, anche se non è il caso di tentare di stabilire una data esatta della nascita della prima versione, la 0.01. Infatti, in quel momento non si poteva ancora parlare di sistema operativo vero e proprio; era solo la dimostrazione che la strada era giusta.

Linux non è rimasto il progetto personale di una persona; in breve tempo ha coinvolto un numero molto grande di persone, unite dal fatto che si trattava di un progetto libero da qualunque restrizione legale al suo utilizzo, alla sua diffusione, alla possibilità di modificarlo ecc. In pratica, la fortuna di Linux rispetto a Minix, è stata quella di avere scelto subito la licenza GNU-GPL (appendice B), quella che ancora oggi rappresenta la difesa ideale per il software che viene scritto perché sia a disposizione di tutti. In questo modo si è superato il limite originale di Minix che lo rendeva interessante solo per professori e studenti. La licenza GPL rende Linux interessante per chiunque.

Tuttavia non bisogna trascurare l'importanza del progetto GNU, che ha dato al kernel Linux tutto quello che serve per arrivare a un sistema operativo completo: GNU/Linux appunto.

3.5   Open Source

Una volta compresa l'importanza del software libero, nel momento in cui hanno cominciato a giocarsi interessi economici, o di altro genere, si è posto il problema di definire in modo preciso e inequivocabile cosa sia effettivamente il «software libero».

In questa direzione si è distinto particolarmente il gruppo che pubblica la distribuzione GNU/Linux Debian, nel definire una serie di punti che devono essere rispettati per l'inserimento del software nella distribuzione stessa.

Al problema dell'ambiguità del concetto, si affiancava l'ambiguità della denominazione: in inglese, free software può essere inteso come software gratuito (free of charge).

Così, nel 1998, nasce la definizione Open Source, a identificare i principi secondo cui il software può essere ritenuto «libero», riutilizzando gran parte del lavoro del gruppo Debian (<http://www.opensource.org>).

Sulla scia della definizione Open Source, successivamente è apparso l'uso dell'acronimo OSS, per open source software, a cui si sono affiancati anche FOSS, per free open source software, e FLOSS, per free-liberal open source software, ma sostanzialmente equivalenti.

3.6   Creative Commons

Nel 2001 viene fondato Creative Commons (<http://creativecommons.org>) con lo scopo di trasferire alcuni principi del software libero a opere artistiche di tipo differente. Il lavoro importante di Creative Commons sta nello studio delle problematiche legali che riguardano le opere artistiche in generale, classificando diversi tipi di esigenze da parte degli autori, che si traducono in pratica in diversi tipi di licenza, ognuna con un diverso grado di «libertà».

3.7   Futuro difficile del software libero

Il futuro del software libero non si presenta così roseo come potrebbe sembrare, perché il livello qualitativo che questo software tende a raggiungere costituisce anche l'ostacolo principale alla sua diffusione e al suo utilizzo.

Al di là di qualunque considerazione etica, bisogna tenere presente che il software libero si scontra con interessi economici importanti, legittimati da privilegi esclusivi, cosa che il software libero non può dare per definizione. I privilegi in questione potrebbero essere di qualunque tipo e il brevetto di algoritmi o di altri concetti legati al software, anche se banali, rappresenta solo l'esempio più evidente. Tali privilegi diventano un'arma legale, ma di fronte a una controversia non basta avere ragione, perché occorre avere i mezzi per sostenerla. I mezzi richiedono un dispendio economico che, spesso, chi produce software libero non è nelle condizioni di poter sostenere.

Il software libero è un valore per la società umana che non si può quantificare in termini monetari, perché è di tutti e da tutti dovrebbe essere difeso. Ma questi «tutti», per la maggior parte non sono consapevoli del valore e dell'importanza che ha, così, la mancanza di apprezzamento fa sì che il software libero non riesca ad assumere la considerazione che gli spetterebbe nella società.

3.8   Un Richard Stallman «virtuale»

La distribuzione GNU/Linux Debian cerca di classificare in modo molto preciso il software che la compone, per informare rapidamente l'utilizzatore su ciò che si accinge a installare. La definizione di ciò che per Debian è «libero» corrisponde praticamente alla definizione Open Source.

Il lavoro di classificazione di Debian è molto importante per l'utilizzatore distratto. In particolare, si può scandire quanto installato con il programma vrms, che letteralmente sta per Virtual RMS, ovvero, scherzosamente, un Richard Stallman virtuale.

Per chi usa questa distribuzione GNU/Linux, tale programma può essere molto utile, per scovare periodicamente il software che può dare qualche problema di tipo legale. A titolo di esempio viene mostrato il resoconto che potrebbe essere generato:

vrms[Invio]

              Non-free packages installed on nanohost

lha                       lzh archiver
  Reason: No modifications allowed, non-network distributions problematic
pine                      An e-mail reader with MIME and IMAP support.
unrar                     Unarchiver for .rar files (non-free version)
  Reason: Modifications problematic

  3 non-free packages, 0.2% of 1343 installed packages.

3.9   Definizioni alternative di «software libero»

Esiste una varietà di modi in cui le persone definiscono il software libero, a voce o nello scritto. È il caso si farsene un'idea per comprendere correttamente il senso di tanti documenti pubblicati a partire dalla definizione di Open Source, la quale non ha centrato perfettamente l'obiettivo di dare una definizione universale al concetto.

Definizione Significato letterale
OSS Open Source software
OSS/FS Open Source software/Free software
F/OSS Free/Open Source software
FOSS Free Open Source software
FLOSS Free Liberal Open Source software
software libre
unfettered software

3.10   Riferimenti


1) Successivamente Minix 2 viene distribuito in due versioni, una per architettura x86-16 e l'altra per x86-32, mentre Minix 3 abbandona l'architettura x86-16.


Appunti di informatica libera 2008 --- Copyright © 2000-2008 Daniele Giacomini -- <appunti2 (ad) gmail·com>


Dovrebbe essere possibile fare riferimento a questa pagina anche con il nome storia_breve_del_software_libero.htm

[successivo] [precedente] [inizio] [fine] [indice generale] [indice ridotto] [indice analitico] [home]

Valid ISO-HTML!

CSS validator!

Gjlg Metamotore e Web Directory