Glossario dei termini

UNiplexed Information and Computing System
(Unix, UNICS)

Parlando del nome Unix, è stato pensato come un gioco di parole sui vecchi sistemi chiamati "Multics" (Multiplexed Information and Computing Service).

Nelle versioni più vecchie di questo documento, ero solito dire che Unix era un nome comune per un gruppo di sistemi operativi superiori che condividevano la maggior parte delle idee progettuali. Benché non ci sia nulla di errato in questa affermazione, ho voluto cercare su Internet alcune spiegazioni più corrette:

Una breve introduzione sul sito UGU cita:

Unix, "u'nics" plurale inglese "Unices". Un sistema operativo interattivo condiviso inventato nel 1969 da Ken Thompson dopo che i Bell Labs abbandonarono il progetto Multics, inizialmente così da poter giocare sul suo PDP-7 di recupero. Dennis Ritchie, l'inventore del C, è considerato un co-autore del sistema.

Una descrizione simile e più dettagliata da searchSolaris:

Unix è un sistema operativo che ha avuto origine ai Bell Labs nel 1969 come un sistema interattivo a tempo condiviso. Ken Thompson and Dennis Ritchie sono considerati gli inventori di Unix. Il nome (pronunciato U-nics) fu un gioco di parole basato su un sistema precedente, Multics. Nel 1974, diventa il primo sistema operativo scritto in linguaggio C. Unix si è evoluto come una specie di grande prodotto "freeware", con molte estensioni e nuove idee fornito in svariate versioni di Unix da differenti compagnie, università e individui.

In parte perché non era un sistema operativo proprietario posseduto da nessuna delle compagnie di computer dominanti, e in parte perché esso è scritto in un linguaggio standard e abbraccia molte idee popolari, Unix diventò il primo sistema operativo aperto e standard che poteva essere migliorato e valorizzato da chiunque. Una miscela di linguaggio C e di interfaccia di shell (comando utente) da differenti versioni di Unix fu standardizzata sotto gli auspici della IEEE come l'Interfaccia di Sistema Operativo Portabile (POSIX). A loro volta, le interfacce POSIX vennero specificate nella X/Open Programming Guide 4.2 (anche conosciuta come la "Single Unix Specification" e "Unix 95"). La versione 2 della Single Unix Specification è anche conosciuta come Unix 98. Il marchio "ufficiale" Unix è ora posseduto da The Open Group, un'organizzazione di standard industriali che certifica e gestisce il marchio delle implementazioni di Unix.

Software libero, GNU e Linux

Richard Stallman, un hacker del MIT, iniziò l'impresa di creare un sistema operativo completamente libero (libero nel senso di libertà). Tra le altre cose, la sua decisione fu basata sulla frustrazione e sui problemi che egli vide negli accordi di riservatezza. Una volta questi impedirono ai suoi colleghi di fornirgli il codice sorgente per il driver di una stampante laser (Stallman voleva includere delle funzioni di notifica automatica di intasamento della carta).

Altamente motivato a fare la Cosa Giusta (tm), egli più tardi abbandonò il suo lavoro al MIT (in modo che non avessero la possibilità di arrogare dei diritti sul suo lavoro) e nel 1984 iniziò il progetto GNU ("Gnu's Not Unix"), i cui obbiettivi erano di proteggere la libertà e fornire agli utilizzatori pacchetti di software libero con caratteristiche complete per i loro computer. GNU è una filosofia meravigliosa che può sicuramente "infettare" anche aree non correlate al computer.

Si può vedere l'annuncio originale di Stallman del 27 settembre 1983, ore 10:35 e 59 secondi PST nell'eccelente archivio Google Groups!

Gli sviluppatori GNU hanno riscritto tutti i necessari strumenti e utilità per il sistema Unix, rilasciandoli come Software Libero (sotto la licenza GNU GPL) e necessitavano solo di un kernel per raggiungere l'obbiettivo iniziale.

In maniera indipendente, nel 1991, Linus Torvalds (della Helsinki University) annunciò il suo primo rilascio pubblico del kernel sul quale stava lavorando, Linux. A quel tempo era uno studente e voleva creare un'alternativa economica ai costosi sistemi Unix, che potesse girare sulle macchine PC (i386) compatibili. Combinando il kernel Linux e gli strumenti GNU, il sistema libero GNU/Linux divenne una realtà. Linus scrisse il kernel "da zero" ed esso fu uno delle prime varianti simil-Unix libere che, supportata dalla grande comunità GNU e dal suo software, mise davvero in moto il movimento del software libero (dal punto di vista del pubblico, non tecnicamente, ovviamente).

Già nel 1994, Peter van der Linden scrisse quanto segue nel suo eccellente libro intitolato “Expert C Programming; Deep C Secrets” (ISBN 0-13-177429-8):

La Free Software Foundation è un'organizzazione unica fondata dall'esperto hacker del MIT Richard Stallman. Al riguardo, usiamo il termine “hacker” nel vecchio senso benevolo di “programmatore di talento”; il termine è stato falsato dai mezzi di comunicazione, così lo si utilizza erroneamente per significare “genio del male”. Come l'aggettivo sinistro (bad, nell'esempio inglese originale), “hacker” ha due significati contrastanti, si deve scoprire il significato dal contesto.

La Free Software Foundation di Stallman è stata fondata sulla filosofia che il software dovrebbe essere libero e liberamente disponibile a tutti. La missione della FSF è “di eliminare le restrizioni di copia, ridistribuzione, comprensione e modifica dei programmi per computer” e la loro ambizione è quella di creare un'implementazione di pubblico dominio di Unix chiamata GNU (che sta per “GNU's Not Unix”, ovvero, “GNU Non è Unix”, sì, veramente).

Molti studenti laureati in informatica e altri sono d'accordo con la filosofia GNU e hanno lavorato sui prodotti software che la FSF pacchettizza e distribuisce liberamente. Questo gruppo di lavoratori esperti che donano il proprio talento ha dato come risultato qualche buon software. Uno dei migliori prodotti della FSF è la famiglia del compilatore C GNU. gcc è un robusto, energico compilatore con ottimizzazioni, disponibile per molte piattaforme hardware e qualche volta migliore dei compilatori proprietari.

Tuttavia, ci sono stati altri sforzi, tipo quelli del mondo BSD che hanno avuto problemi con le licenze e i copyright, ma hanno riscritto tutte le parti incriminate e rilasciato varianti libere di BSD: FreeBSD, NetBSD e OpenBSD.

Open Source (a sorgente aperto)
(OSS, OSI)

Open source è un termine piuttosto recente che fu generalmente accettato per aiutare a promuovere il software libero in ambienti commerciali. Si basa solo sui benefici pratici del codice a sorgente aperto (qualità, affidabilità, costo di manutenzione) e non ha una più grande filosofia dietro di sé. Maggiori informazioni possono essere reperite sul sito Open Source Initiative.

È quindi importante conoscere la distinzione tra i due.

ImportanteImportante!
 

Si legga di più riguardo il software libero (Free Software), il codice aperto (Open Source) e la corretta interpretazione della parola libero sulla pagina di Debian What Does Free Mean?.

Il kernel GNU Hurd

È interessante menzionare che Linux è un kernel monolitico e condivide molte idee con le sue controparti Unix. Tuttavia il mondo GNU ha una visione differente di come il kernel dovrebbe essere e sta lavorando sul microkernel Hurd. Il port Debian di GNU/Hurd è in sviluppo e si può vederne lo stato attuale o scaricare il software dalla pagina Debian GNU/Hurd port.

Kernel monolitico e microkernel son fondamentalmente differenti e c'è stato un grosso dibattito sulla possibilità che i microkernel possano dimostrarsi utili in applicazioni reali. Linus Torvald, per esempio, è un accanito oppositore dei sistemi operativi a microkernel ("just say NO to drugs, and maybe you won't end up like The Hurd people", ovvero, dite NO alla droga e forse non finirete come la gente di The Hurd). Alan Cox, il precedente manutentore del ramo di produzione del kernel Linux, che ha più simpatia per Hurd, una volta disse che Hurd era più un esempio dell'idea di Richard Stallman su come un sistema dovrebbe funzionare per incoraggiare la comunità, piuttosto che un esempio di progetto di SO ad alte prestazioni.

Tecnicamente, Hurd e i microkernel in generale offrono più vantaggi dei tradizionali kernel Unix; coloro che sono interessati ad avere maggiori informazioni possono vedere hurd-paper.html e hurd-talk.html (per Hurd), oppure il sito QNX (per un Unix proprietario e maturo basato su microkernel).

Debian GNU

Citiamo qualcosa dalla pagina ufficiale About Debian:

Debian ha avuto inizio nell'agosto 1993 da Ian Murdock, come una nuova distribuzione che voleva essere creata apertamente, nello spirito di Linux e di GNU. Debian è stata pensata per essere assemblata accuratamente e coscienziosamente e per essere mantenuta e supportata con altrettanta cura. Iniziò come un ristretto gruppo, molto affiatato di hacker del software libero e gradualmente si sviluppò fino a diventare una larga e ben organizzata comunità di sviluppatori e utenti.

Siccome molta gente lo ha chiesto, Debian si pronuncia "deb i en". Deriva dai nomi del creatore di Debian, Ian Murdock, e di sua moglie, Debra.

Debian è prodotta da circa un migliaio di sviluppatori sparsi intorno al mondo che lavorano volontariamente nel proprio tempo libero. Pochi degli sviluppatori si sono veramente incontrati di persona. Le comunicazioni avvengono principalmente attraverso e-mail (mailing list su lists.debian.org) e IRC (canale #debian su irc.debian.org).

Il Progetto Debian è un'associazione di individui che hanno abbracciato una causa comune per creare un sistema operativo libero. Questo sistema operativo che abbiamo creato si chiama Debian GNU/Linux, o semplicemente in modo abbreviato Debian.

Un sistema operativo è l'insieme dei programmi di base e delle utilità che permettono al proprio computer di girare. Al cuore di un sistema operativo c'è il kernel. Il kernel è il programma fondamentale sul computer ed esegue tutti le operazioni basilari e permette di far partire altri programmi.

I sistemi Debian attualmente utilizzano il kernel Linux. Linux è una parte software completamente libera iniziata da Linus Torvalds e supportata da migliaia di programmatori nel mondo.

Tuttavia, si sta lavorando per fornire Debian di altri kernel, principalmente Hurd. Hurd è una raccolta di server che girano in cima a un microkernel (tipo Mach) per implementare differenti funzionalità. Hurd è software libero prodotto dal progetto GNU.

Una gran parte degli strumenti di base che completano il sistema operativo provengono dal progetto GNU; da cui i nomi: GNU/Linux e GNU/Hurd. Anche questi strumenti sono liberi.

Naturalmente, ciò che la gente vuole è software applicativo: programmi per aiutarli a fare ciò di cui hanno bisogno, dallo scrivere documenti al gestire una impresa, a giocare, fino a scrivere altro software. Debian è fornita di oltre 8710 pacchetti (software precompilato che è impacchettato un un simpatico formato per una facile installazione sulla propria macchina) e tutti liberi.

È un pò come una torre. Alla base c'è il kernel. Sopra di quello ci sono tutti gli strumenti di base. Poi c'è tutto il software che si fa girare sul computer. In cima alla torre c'è Debian che organizza con cura e adatta ogni cosa in modo che tutto funzioni insieme.

Ci si potrebbe chiedere: perché la gente dovrebbe spendere ore del proprio tempo per scrivere software, impacchettarlo con cura e poi darlo agli altri? Le risposte sono tanto varie quanto le persone che contribuiscono. Alcuni amano aiutare gli altri. Molti scrivono programmi per imparare di più sui computer. Sempre più persone cercano dei metodi per evitare i prezzi gonfiati del software. Una quantità crescente di persone contribuisce come ringraziamento per il grande software libero che ha ricevuto da altri. Molti in ambiente accademico creano software libero per facilitare un più esteso utilizzo dei risultati delle loro ricerche. Imprese aiutano a mantenere il software libero così da avere voce in capitolo sul modo in cui viene sviluppato; non c'è modo più veloce per ottenere una nuova caratteristica che implementarla da sé! Naturalmente, alcuni di noi lo trovano semplicemente molto divertente.

Debian ha una tale dedizione verso il software libero che abbiamo pensato che fosse utile che tale impegno fosse formalizzato in un documento scritto. Così è nato il nostro Social Contract.