Leggendo la news di Marco Giannini sull’arrivo della nuova versione stable di Debian, mi sono accorto che il mio portatile stava passando da testing a stable. Quale occasione più ghiotta per parlare di quella che probabilmente è la più vecchia distribuzione di Linux ancora in vita?

Debian è, forse, la distribuzione più “forkata” in assoluto, 131 fork secondo distrowatch, quasi la metà delle distribuzioni che ci sono in giro. È “mamma” di tante distribuzioni di successo tra le quali Ubuntu e  Knoppix, “nonna” ovviamente, di tutte le “figlie” di Ubuntu come Mint ed Elementary OS, ad esempio.

Debian nasce il 16 agosto 1993, il nome è una composizione dei nomi Debora e Ian. Debora era in quel periodo fidanzata, moglie e poi ex-moglie del compianto Ian Murdock fondatore della nostra amata distribuzione. Ha influenzato profondamente il pensiero del mondo del software libero, Ian scrisse il “Debian Manifesto”, ma in questo percorso, incontriamo anche persone del calibro di Bruce Perence, che insieme a Ean Schuessler (che pare abbia proposto l’idea) scrisse il “Debian Social Contract”, complemento del Manifesto. Questo contratto Contiene le “Debian free software guidelines” che, sorpresa… sorpresa… forniranno la base per la creazione della “Open Source Definition”.
Non voglio appesantire l’articolo con i contenuti di questi documenti che potete facilmente trovare su internet, ma possiamo dire che Debian è stata ed è protagonista nel dibattito pubblico, filosofico e tecnico sul software libero.

La precisione con la quale Debian fornisce documenti sulla filosofia e le modalità di costruzione del sistema operativo fanno invidia ad Amazon, accanto ai documenti già citati, abbiamo anche la “Debian Constitution” e il “Debian Code of Conduct”. Nel ‘97 Bruce Perens fondò l’associazione “Software in The Public Interest” per ricevere donazioni e finanziare il progetto. Oggi quest’associazione oltre a finanziare Debian sostiene tra gli altri, Arch Linux, Drupal, ffmpeg, Fluxbox, freedesktop.org, GNUStep, Jenkins, Libreoffice, OpenWRT, PostgreSQL.

Ma veniamo al lato tecnico, Debian è una distribuzione a scopi generali, ha un solo kernel di default, che viene utilizzato su Desktop e Server, successivamente è possibile installare altri kernel che sono disponibili nel repository, o anche, ricompilarlo, se lo si ritiene opportuno. Una nota di colore: è possibile usare anche kernel FreeBSD ed esiste anche una versione sperimentale di Hurd.
Per quanto riguarda la manutenzione, le gui sono ridotte all’osso ed il grosso si fa da linea di comando, è chiaramente una distribuzione fatta per chi ha un minimo di esperienza o vuole imparare come si gestisce un sistema *nix.
Debian non offre assistenza commerciale, mette a disposizione la documentazione sul proprio sito, esiste anche un ottimo libro open che si chiama “Debian Administrator Handbook”. Ci sono anche un wiki, una mailing list, e un sito di tipo ask.

Debian ha una gestione delle versioni che ci permette di avere, a seconda delle nostre scelte, un S.O. estremamente stabile, moderatamente stabile, piacevolmente instabile.

La versione ufficiale è quella che viene definita “stable”. È più stabile, ma i pacchetti possono essere datati, riceve solo aggiornamenti di sicurezza. Normalmente viene rilasciata ogni due anni, ma la regola è che viene rilasciata solo se è pronta. È la versione consigliata per server e workstation. La “OldStable” viene supportata ancora per un anno dopo il rilascio della nuova stable e dopo viene archiviata.

Testing: è la futura stable, riceve aggiornamenti, quasi come una rolling-release, quando sta per uscire la versione stable va in “freeze” e si trasforma in stable.

Unstable: è la versione di sviluppo, i pacchetti sono aggiornati alla loro ultima versione e possono essere stabili o instabili, a seconda di come la loro casa madre prenda sul serio il rilascio del proprio software. Esistono distribuzioni rolling basate su questo ramo, come ad esempio Sidux.

Dal 2014, sull’onda delle scelte di Ubuntu, è nato il team Debian LTS che prende in mano il supporto della distribuzione dopo 3 anni e lo estende a 5 anni. Attualmente questo team ha il supporto di Wheezy che è esteso fino al 2018, fra un anno prenderà in mano Jessie che verrà supportata fino al 2020.

Per chi se lo fosse chiesto, i nomi delle versioni di Debian vengono dai personaggi del cartone animato Toy Story, che è il primo cartone animato sviluppato completamente in computer grafica. Toy Story, uscì nel ‘95. L’unico nome di versione che non cambia mai, è quello della versione unstable, Sid: il bimbo che nel cartone cerca di distruggere continuamente i giocattoli.

Il supporto hardware di Debian non è buono quanto quello di Ubuntu, perché per ragioni etiche mancano tutti di driver proprietari. Abilitando i repository contrib e non-free è possibile accedere a parte di questi, nel kernel ci sono comunque alcuni blob proprietari, che se tolti probabilmente bloccherebbero il funzionamento del S.O. in tutte le macchine moderne. Questo è un problema che prima o poi il mondo del software libero dovrà porsi.

Il Desktop di default di Debian è GNOME, ma è possibile installare praticamente tutti i desktop e window manager esistenti. Debian lascia l’estetica e la grafica così come è stata pensata dal produttore. Nel caso si desideri qualcosa di più carino si devono modificare manualmente le impostazioni e installare le icone e i font necessari. Naturalmente è possibile installare Debian anche senza nessuna grafica ottenendo un terminale a linea di comando.

Il sistema di gestione dei pacchetti di Debian è dpkg. Insieme a rpm dpkg è uno standard de-facto, l’estensione di questi pacchetti è .deb, esistono vari software che permettono di installarlo, i più famosi sono apt-get, apt, aptitude. Debian, con circa 50.000 pacchetti, ha il repository più vasto del pianeta. Supporta anche tantissime architetture, molte di queste non più commercialmente valide. La natura della sua comunità non legata a doppio filo con il mondo dell’economia le permette di supportare, dove qualcuno ne ravvisi la necessità, anche contesti che ormai sono rari, le architetture supportate sono Arm, Intel i386 e amd64, mips, PowerPC, s390x.

Debian è una delle distribuzioni più “etiche” tra quelle che ci sono in giro, ricordo che all’inizio veniva, da molti, definita estrema. In realtà il suo approccio di fronte al software proprietario è molto pragmatico. Per esempio, fornisce un repository apposito per il software non-free, sarebbe come se Apple o Microsoft fornissero la possibilità di installare software libero automaticamente, direttamente dal programma di installazione. Distribuzioni come, ad esempio, Fedora, non lo fanno. Questa scelta potrebbe essere letta come ipocrita, ma dal punto di vista tecnico, in particolare della sicurezza è importante, perché l’utente che installa software dal repository non-free non si deve porre domande sulla sicurezza del software che sta installando, mentre l’utente Fedora, se incauto, potrebbe compromettere la sicurezza del proprio sistema affidandosi a repository amatoriali.