L' Universo Debian

Da Guide@Debianizzati.Org.
Vai alla navigazione Vai alla ricerca

Debian viene generalmente ritenuta una buona distribuzione Linux, con un' ottima gestione dei pacchetti, ma un pessimo sistema di installazione. A ben vedere però, Debian è molto più di questo. In termini strettamente tecnici, non è una distribuzione Linux in senso classico, e può risultare difficile far cogliere questa distinzione a chi ha avuto a che fare primariamente con soluzioni commerciali quali Red Hat, Mandrake e SuSE, dato che Debian supporta anche kernel alternativi come il BSD o l' Hurd.

Linux di per sè è incentrato sul coinvolgimento comunitario e sull' accessibilità, concetti che ha mutuato dal Progetto GNU. Quando pensiamo alle distribuzioni Linux odierne però, si tratta in genere di società commerciali. Ciò che viene incluso in ciascuna delle distribuzioni commerciali è una decisione presa da impiegati stipendiati, con una politica aziendale precisa da seguire. Questo può anche non essere negativo, ma lascia aperta la strada alla possibilità di un fallimento commerciale, come si è visto di recente con Mandrake. Se un' organizzazione necessita di produrre reddito per sopravvivere, questo pericolo è sempre presente.

Debian invece, è diversa. E' un progetto totalmente aperto e cooperativo, coinvolge una gran varietà di persone ciascuna delle quali fa quello che fa perchè le va di farlo o perchè ritiene che ne valga la pena. Debian non esiste realmente in senso puramente legale. Non esiste nessuna Debian S.p.A., non esistono azionisti, nè un bilancio e tantomeno è un' organizzazione no-profit. Esiste invece un' organizzazione chiamata Software nel Pubblico Interesse(SPI), anche se Debian in sè è unicamente un enorme progetto collaborativo. Si tratta probabilmente di uno degli esempi oggi esistenti di più larga portata di progetto in stile "bazaar", come descritto da Eric S. Raymond nel suo "La Cattedrale ed il Bazaar". Non ha necessità di vendere, non ha bisogno di andare incontro alle aspettative degli investitori: i suoi membri cercano unicamente di fare quello sanno fare meglio: creare una delle migliori raccolte di software open source.

Questo può essere sia un bene che un male. Uno dei recenti problemi, per esempio, è consistito nell' ottenere un prototipo dell' AMD x86-64 per il porting ed il testing. AMD dispone di forniture limitate di questo hardware, e finchè si resterà alla fase di prototipo rilasceranno le loro macchine unicamente a quelle organizzazione che saranno in grado di dimostrare di averne reale necessità ed anche di poter siglare un accordo di non-divulgazione. Dato che Debian non esiste come entità legale, non è in grado di siglare un accordo che vincoli tutti i suoi sviluppatori e a causa di questo AMD non è stata in grado di fornire agli sviluppatori Debian l' hardware per effettuare i test.

Ciononostante, problemi come questo sono una minoranza e proprio questa mancanza di struttura rappresenta per Debian il maggior punto di forza. La differenziazione ed inclusività hanno portato alla sua capacità di poter preparare una vastissima selezione di software per più piattaforme hardware di qualunque altra distribuzione, se non di qualunque altro sistema operativo.

Qualcosa che molte persone non sanno è che Debian supporta ufficialmente 11 diverse architetture hardware: x86/IA-32(i386), Motorola 68k, Sparc, Alpha, PowerPC, ARM, MIPS, MIPSel, HP PA-RISC, IA-64 e S/390. Questo non vuol dire che tutto venga prima sviluppato per i386, con le altre architetture in ritardo e trattate come cugini poveri ed i rispettivi rilasci in ritardo di settimane o mesi. Quando una release come Woody (Debian 3.0) viene resa disponibile, è disponibile simultaneamente per tutte le 11 diverse architetture.

Davvero un concetto che allarga la mente, se considerate che anche "ragazzoni" come Red Hat supportano ufficialmente solo un paio di piattaforme. Gestire lo sviluppo su 11 diversi hardware ha richiesto a Debian di mettere in piedi un sistema davvero sofisticato di auto-costruzione, che permette ad uno sviluppatore di creare un pacchetto software localmente, su una qualsiasi delle piattaforme che ha a propria disposizione e quindi di caricarlo e accodarlo per la costruzione. Una volta che il pacchetto è accodato, ne viene controllata la sanità e quindi viene distribuito a tutte le macchine che costituiscono la "build farm": un insieme di macchine prestate o donate a Debian e che rappresentano tutte e 11 le architetture. A questo punto il pacchetto viene compilato a partire dal sorgente e qualunque eventuale errore viene comunicato allo sviluppatore. Se tutto è andato a buon fine, il pacchetto sorgente e ed i vari pacchetti compilati vengono spostati sui server master che provvedono a rifornire i vari mirrors dislocati un po' in tutto il mondo. In breve tempo il pacchetto è disponibile per essere scaricato ed installato su ciascuna delle architetture supportate.

Il risultato finale è che un pacchetto può essere creato dallo sviluppatore sulla sua macchina locale, come ad esempio un sistema AMD o Intel, accodato per la costruzione in remoto e installato poche ore dopo come pacchetto binario su qualsiasi architettura, da un iBook fino ad un mainframe S/390.

Davvero impressionante.

Distintamente dai suoi conseguimenti tecnici, Debian ha posto le fondamenta per molto dell' ambiente comunitario di cui beneficiano oggi gli sviluppatori Open Source. Può essere che siate a conoscenza dell' iniziativa Open Source "Definizione dell' Open Source" ad esempio, ma potreste non sapere che questa è direttamente derivata dalle Debian Free Software Guidelines. Debian oltretutto si è dotata di un Contratto Sociale, un documento che sancisce il modo in cui porsi nei confronti degli utenti e degli sviluppatori. Tutti gli sviluppatori che si aggregano al progetto sono tenuti ad aderire alla Definizione dell' Open Source ed al Contratto Sociale. Si può dire che in un certo senso il Contratto Sociale rappresenti la coscienza di Debian, assicurando che gli sviluppatori mantengano una prospettiva corretta e facciano sempre del loro meglio per la comunità nel suo insieme piuttosto che scendere a compromessi con i propri standard per un risultato a breve termine. Assicura anche che Debian stessa rimarrà libera ed aperta, accessibile al maggior numero di persone senza alcun pregiudizio. Se volete rendervi conto degli ideali e degli standard a cui sono tenuti gli sviluppatori di Debian, vi raccomando caldamente di leggere sia la Definizione Open Source che il Contratto Sociale.

In base alle ragioni tecniche ed etiche che ho menzionato, Debian raccoglie grande favore e rispetto all' interno della comunità degli sviluppatori. Sebbene abbia poco riscontro tra gli utenti con minor esperienza, una parte molto grande del nocciolo Open Source la usa come sistema operativo preferito. Leggende del mondo Open Source come Andrew Tridgell (conosciuto per i progetti Samba e Rsync) e Paul "Rusty" Russell (autore di Ipchains, Iptables, e kernel-guru a tutto tondo) sono tra coloro che la usano tutti i giorni. Durante la Australian Linux Technical Conference tenutasi in Perth nel gennaio 2003 e a cui hanno partecipato Linus Torvalds, Rasmus Lerdorf, Alan Cox, Rusty Russell, Andrew Tridgell e molti altri luminari dell' Open Source, un sondaggio ha mostrato come Debian fosse di gran lunga la distribuzione maggiormente usata, con Red Hat distanziata seconda.

Debian segna la via anche nel campo dell' internazionalizzazione, con un team molto attivo che si dedica alla traduzione della documentazione e delle pagine web in molte lingue, e con sviluppatori che lavorano per astrarre il testo dei menu e delle finestre dal software in se, in modo che gli utenti possano usare i programmi nella propria lingua nativa. C'è ancora molto lavoro da svolgere in questo senso, ma Debian è già oggi una delle distribuzioni più flessibili in termini di accessibilità per tutti quegli utenti per cui l' inglese non è la prima lingua. I vari team di traduzione e internazionalizzazione sono sempre felici di ricevere offerte di aiuto per cui, se c'è un' area in cui vi sentite di poter dare una mano, saranno contentissimi di avere vostre notizie. Rendere il software accessibile a tutti, senza distinzione di provenienza etnica o circostanze economiche, è uno degli ideali più sentiti in Debian.

Gli sviluppatori di Debian provengono da ogni angolo del globo, potete rendervi conto della varietà geografica da voi stessi, dato che molte delle località in cui risiedono sono state tracciate su una mappa del mondo.

Ma allora come può una così varia e geograficamente separata raccolta di individui tenersi in contatto o fare in modo di portare avanti il lavoro?

La risposta più breve è: tramite le liste di posta. Debian ha oltre 100 liste di posta interne che smistano giornalmente un enorme volume di traffico, dalle domande dei nuovi utenti per arrivare alle discussioni specialistiche dei sottogruppi interni. Probabilmente la più frequentata e movimentata è debian-devel, dove gli sviluppatori Debian discutono di tutto, dalle specifiche della pacchetizzazione software fino agli obiettivi primari. Nel pieno spirito di un progetto realmente aperto, tutte le liste di posta (con un'unica rimarchevole eccezione) sono liste pubbliche a cui chiunque può partecipare. L' unica privata è la lista in cui vengono trattati temi molto delicati, come ad esempio il rendere di pubblico dominio problemi e soluzioni legati alla sicurezza.

Per quanto riguarda i propri membri, Debian ha una struttura prettamente orizzontale e democratica. Il primo livello è costituito dagli utenti, come amministratori di sistema che gestiscono molte macchine, ma anche utenti con un solo PC Debian a casa. Include anche molte persone che contribuiscono fattivamente al progetto, ad esempio proponendo patch o segnalando bachi come anche creando pacchetti Debian. Il livello successivo è costituito da quelle persone conosciute anche come Sviluppatori Debian o DDs. A tutt'oggi ci sono circa 1100 DDs. I DDs hanno privilegi aggiunti: dato che ci si aspetta che creino e mantengano pacchetti software, hanno la possibilità di caricare direttamente questi pacchetti nella coda di costruzione. I non-DDs che vogliono includere un pacchetto in Debian, devono essere sponsorizzati da un DD, altrimenti il pacchetto non potrà essere caricato nella coda. I DDs hanno anche diritto di voto in caso di cambiamenti di strategia o di elezione a cariche ufficiali, oltre a poter essere eletti a queste cariche. Il livello finale è rappresentato da quei pochi DDs che detengono una carica, come il Debian Project Leader (DPL) annualmente eletto, i membri del Comitato Tecnico, il Responsabile di Rilascio per ciascuna release ed i responsabili dei vari settori dell' infrastruttura come la build farm e i mirrors.

La comunità Debian si compiace di essere molto incentrata sui risultati. I dibattiti su debian-devel spesso divagano, ma le persone che all' interno della comunità si conquistano il rispetto di tutti sono coloro che si accorgono quando qualcosa deve essere fatto e lo fanno piuttosto che perdersi in discussioni senza agire. Uno dei temi sempreverdi che non manca mai di scatenare un' accesa discussione se menzionato su debian-devel è costituito dal lungo e noioso processo che porta dalla condizione di normale utente a quella di Sviluppatore Ufficiale Debian. Questa discussione finisce sempre con la stessa conclusione: l' unico modo per guadagnarsi rispetto ed essere considerati membri della comunità consiste semplicemente nel coinvolgersi, sia nel caso di DD ufficiali sia in quello di utenti qualsiasi. In un prossimo articolo spero di potervi guidare passo passo nel processo per diventare un nuovo sviluppatore, in modo che possiate rendervi conto di quali fattori entrano in causa; per adesso, se volete contribuire e non siete un DD ufficiale, il mio consiglio è quello di iscrivervi a debian-devel e lasciarvi coinvolgere.

Ok, ma come mai questo articolo si intitola "L' Universo Debian" ?

All' avvio del progetto, era diffuso un concetto generale: Debian sarebbe dovuta diventare una solida base su cui poter costruire altri progetti. Usando Debian come struttura portante, diversi gruppi di persone avrebbero potuto creare il proprio ambiente software personalizzato per andare incontro alle proprie specifiche esigenze, senza dover reinventare tutto da capo ogni volta.

A questo proposito, il Debian Project Leader Bdale Garbee ha fatto un' osservazione alla recente Australian Linux Technical Conference: piuttosto che rappresentare le fondamenta su cui altri progetti sono costruiti, Debian è divenuta un universo da cui molti sotto-progetti attingono solo alcune porzioni. Ha quindi proseguito dicendo ironicamente che, in base al tasso attuale di crescita, ben presto Debian includerà qualsiasi tipo di software che sia stato necessario a chiunque anche per soli 5 minuti..

La sua osservazione è solo per metà scherzosa: data l' enorme quantità di software oggi disponibile in Debian (la distribuzione in sè è composta di 7 CD, ed al momento in cui scrivo il mirror principale sta per sfondare la soglia degli 80Gb e degli 11.000 pacchetti disponibili!) non esiste praticamente alcuna necessità di aggiungere qualcosa di esterno a Debian per creare un progetto derivato. La questione diventa piuttosto quella di definire con precisione a quale risultato finale si vuole arrivare e selezionare da Debian solo gli elementi necessari.

Questo approccio è già in corso per tutta una serie di sotto-progetti, come Debian Jnr, Debian-Med, Debian-Edu, e Debian Desktop. Ciascuno di essi sta lavorando per rendere Debian accessibile ed importante per un particolare gruppo di utenti sfruttando la struttura esistente in Debian, piuttosto che costruire nuovi livelli basati su di essa. In questo modo l' intera comunità può trarre benefici dalle migliorie apportate dai singoli sotto-progetti, dato che nessuno di essi rompe i rapporti con la nave madre, ma piuttosto li estende e organizzano per renderli più adatti alle necessità di particolari gruppi di utenti.

Spero con questo articolo di avervi mostrato che Debian non è solo l' ennesima distribuzione Linux. Si tratta piuttosto di un intero universo di software reso disponibile per il beneficio di tutti, ed a cui capita per giunta di essere presumibilmente la migliore distribuzione Linux oggi disponibile.


Copyright 2003-2004 Jonathan Oxer - all rights reserved. Pubblicato originariamente su Debian Universe

Versione italiana a cura di Keltik