Debian: La Distribuzione, Il Progetto Comunitario E L'ecosistema Di Derivate
Debian: la distribuzione, il progetto comunitario e l’ecosistema di derivate
Luca Bruno
in rappresentanza del progetto Debian
1 Maggio 2011 Ubuntu-IT Party 2011 Schio (VI), Italy
Luca Bruno (Debian) Il progetto Debian Schio (VI) 1 / 42 Due informazioni su di me
Studente di Ingegneria Informatica a Torino Ricercatore nel campo delle reti 6LoWPAN presso l’Ist. Sup. Boella Utente Linux dal 2001 Membro del progetto Debian (Debian Developer) dal 2007
I lowpan-tools, toolchain per MSP430, pacchetti vari . . . Membro del progetto GNOME dal 2007
I GParted, Nemiver, Istanbul Contributore a vari progetti, tra cui Inkscape ed il Kernel Linux
Luca Bruno (Debian) Il progetto Debian Schio (VI) 2 / 42 Contenuti
1 Cos’`eDebian? Un po’ di storia la distribuzione, il progetto, la base per le derivate
2 Cos’ha di speciale Debian?
3 I dettagli Il contratto sociale Chi prende le decisioni Organizzazione tecnica
4 L’ecosistema di derivate e Ubuntu
5 Contribuire a Debian
Luca Bruno (Debian) Il progetto Debian Schio (VI) 3 / 42 Premessa — cos’`euna “distribuzione”
le distribuzioni sono nate per semplificare la gestione dei programmi idea chiave: la creazione di pacchetti le distribuzioni offrono agli utenti un insieme consistente di programmi elemento cruciale: il gestore di pacchetti
Luca Bruno (Debian) Il progetto Debian Schio (VI) 4 / 42 Contenuti
1 Cos’`eDebian? Un po’ di storia la distribuzione, il progetto, la base per le derivate
2 Cos’ha di speciale Debian?
3 I dettagli Il contratto sociale Chi prende le decisioni Organizzazione tecnica
4 L’ecosistema di derivate e Ubuntu
5 Contribuire a Debian
Luca Bruno (Debian) Il progetto Debian Schio (VI) 5 / 42 Debian: all’inizio dei tempi
Fellow Linuxers, This is just to announce the imminent completion of a brand-new Linux release, which I’m calling the Debian Linux Release. [. . . ] Ian A Murdock, 16/08/1993 comp.os.linux.development
creare un sistema GNU/Linux in competizione con gli OS commerciali facile da installare mantenuto collaborativamente da contibutori competenti la prima grande distribuzione “aperta, nello spirito GNU” (per diverso tempo, raccomandata da FSF)
trivia: il nome deriva da DEBra Lynn e IAN Ashley Murdock
Luca Bruno (Debian) Il progetto Debian Schio (VI) 6 / 42 Da allora — 15 rilasci
1993 development snapshots 1994 0.91 1995 0.93r5, 0.93r6, 1.0 1996 1.1 “Buzz”, 1.2 “Rex” 1997 1.3 “Bo” 1998 2.0 “Hamm” 1999 2.1 “Slink” 2000 2.2 “Potato” 2002 3.0 “Woody” 2005 3.1 “Sarge” 2007 4.0 “Etch” trivia: 2009 5.0 “Lenny” Perch`eBuzz ha una 2011 6.0 “Squeeze” spirale sul mento? ? 7.0 “Wheezy” Luca Bruno (Debian) Il progetto Debian Schio (VI) 7 / 42 Da allora — 12 Debian Project Leaders (DPL)
1993–1996 Ian Murdock 1996–1997 Bruce Perens 1997–1998 Ian Jackson 1999–2001 Wichert Akkerman 2001–2002 Ben Collins 2002–2003 Bdale Garbee 2003–2005 Martin Michlmayr 2005–2006 Branden Robinson 2006–2007 Anthony Towns 2007–2008 Sam Hocevar 2008–2010 Steve McIntyre 2010–2012 Stefano Zacchiroli
Luca Bruno (Debian) Il progetto Debian Schio (VI) 8 / 42 Cos’`eDebian?
3 aspetti, strettamente correlati: 1 un sistema operativo 2 un progetto comunitario 3 la base di molte distribuzioni derivate
Luca Bruno (Debian) Il progetto Debian Schio (VI) 9 / 42 Debian: il sistema operativo
completamente Free Software
I impegno sancito nelle DFSG una dozzina di architetture i386, amd64, armel, powerpc, sparc, ia64, mipsel, s390, mips
I di cui 2 port non-Linux kfreebsd-i386, kfreebsd-amd64 alcune caratteristiche. . . stabilit`a,nuovo sistema di pacchetti, molta documentazione, supporto per hardware datato, facilmente aggiornabile, una versione di testing “gira ovunque”, policy tecniche, tanti una delle pi`uampie piattaforme GNU pacchetti, . . . 29’000 pacchetti (Lenny)
Luca Bruno (Debian) Il progetto Debian Schio (VI) 10 / 42 Debian: il progetto
Obiettivo condiviso: Creare il miglior sistema operativo libero.
Debian Social Contract (1997) Il “contratto” tra i membri del progetto e l’intera comunit`adel Free Software
Debian Constitution (1998) La struttura e le regole per il buon funzionamento di un progetto democratico basato sul Free Software
Un’ampia e motivata base: ≈ 1’000 volontari, da tutto il mondo ≈ 900 DD (sviluppatori) + 120 DM (manutentori) Europa > Nord America > Australia ≈ Giappone > America Latina
Luca Bruno (Debian) Il progetto Debian Schio (VI) 11 / 42 Debian: il progetto (cont.)
Luca Bruno (Debian) Il progetto Debian Schio (VI) 11 / 42 Debian: la comunit`a
Modello di sviluppo aperto non nascondiamo i nostri problemi tutti sono ben accetti (“valutiamo i contributi, non i contributori”)
Incentrata sulla comunicazione mailing list canali IRC servizi via Web
I lato sociale: @debian, !debian su identi.ca
Utenti con competenza tecnica relazioni basate sull’aiuto reciproco, segnalazione dei problemi e caccia spietata ai bug
Luca Bruno (Debian) Il progetto Debian Schio (VI) 12 / 42 Contenuti
1 Cos’`eDebian? Un po’ di storia la distribuzione, il progetto, la base per le derivate
2 Cos’ha di speciale Debian?
3 I dettagli Il contratto sociale Chi prende le decisioni Organizzazione tecnica
4 L’ecosistema di derivate e Ubuntu
5 Contribuire a Debian
Luca Bruno (Debian) Il progetto Debian Schio (VI) 13 / 42 Debian: una tra le tante?
nel 1993, non erano tante le distribuzioni esistenti 18 anni dopo, ne esistono molte altre
openSUSE, Linux Mint, PCLinuxOS, Slackware, Gentoo Linux, CentOS, FreeBSD, Arch, Sabayon, Puppy, Lubuntu, MEPIS, Ultimate, NetBSD, Tiny Core, Zenwalk, CrunchBang, Dreamlinux, Vector, Kubuntu, Maemo, Red Hat, aptosid, Peppermint, PC-BSD, Chakra, Salix, ClearOS, KNOPPIX, Xubuntu, Super OS, BackTrack, gOS, TinyMe, Zentyal, EasyPeasy, Frugalware, Clonezilla, Pardus, Meego, OpenBSD, Quirky, PC/OS, Zorin, Debian, SystemRescue, Element, Unity, SliTaz, Macpup, wattOS, Scientific, Mythbuntu, Slax, DragonFLY, Elive, linux-gamers, 64 Studio, Ubuntu, mageia, Nexenta, Parisx, NuTyX, GhostBSD, Kongoni, moonOS, LFS, Lunar, Imagineos, Untangle, Fedora, Yellow Dog, aLinux, Yoper, IPFire, BlankOn, Mandriva, PureOS, FreeNAS, Moblin, Linpus, TurboLinux, blackPanther, . . .
con diverse peculiarit`a o specializzazioni: scelte tecniche supporto gestione dei rilasci sistema di pacchetti ritmo di rilascio base di utenti target di utenza look & feel comunit`a ... Perch`eDebian `ediversa?
Luca Bruno (Debian) Il progetto Debian Schio (VI) 14 / 42 Caratteristica #1: qualit`adei pacchetti
“ Cultura di eccellenza tecnica ” lato tecnico: Policy ossia “come devono esser fatti i pacchetti” stress-test dei pacchetti: lintian, piuparts, compilazione da sorgenti (FTBFS), . . . gli sviluppatori sono competenti ed esperti (nel campo loro software) non esistono pacchetti di 2a classe
Il nostro motto We release when it’s ready
Luca Bruno (Debian) Il progetto Debian Schio (VI) 15 / 42 Caratteristica #2: la libert`a
Principio imprescindibile: sviluppatori e utenti sono legati dal Contratto Sociale
1 promuovere la “cultura del Free Software” dal 1993 2 un sistema libero da cima a fondo
I sia come software inclusi i firmware !
I sia come infrastruttura non proponiamo servizi web non-free (agli utenti) non proponiamo strumenti non-free (agli sviluppatori)
Una comunit`avigile, in cui gli utenti commentano e partecipano nelle decisioni gli utenti sanno che Debian ha sposato la causa della libert`a si promuove un livello molto alto di attivismo per il Free Software
Luca Bruno (Debian) Il progetto Debian Schio (VI) 16 / 42 Caratteristica #3: indipendenza
Debian `eun’entit`a indipendente
non siamo controllati/influenzati da alcuna azienda viviamo di: 1 donazioni (fondi & hardware) 2 singole ricompense . . . aspetto non trascurabile nel mondo attuale delle “grandi” distribuzioni
le persone possono fidarsi, sapendo che le decisioni prese in Debian sono motivate da eccellenza tecnica e non dalla ricerca del profitto.
Luca Bruno (Debian) Il progetto Debian Schio (VI) 17 / 42 Caratteristica #4: Chi decide
1 do-ocracy An individual Developer may make any technical or nontechnical decision with regard to their own work; [ Debian Constitution, §3.3.1.1 ]
2 democracy Each decision in the Project is made by one or more of the following: 1. The Developers, by way of General Resolution [...] [ Debian Constitution, §2 ]
Due principi chiave che si traducono in: la reputazione si guadagna lavorando/sul campo non esiste un oligarchia che prende le decisioni non esiste un dittatore benevolo non esistono decisioni imposte (da chi ci mette i soldi, l’infrastruttura, i dipendenti, . . . ) Luca Bruno (Debian) Il progetto Debian Schio (VI) 18 / 42 Contenuti
1 Cos’`eDebian? Un po’ di storia la distribuzione, il progetto, la base per le derivate
2 Cos’ha di speciale Debian?
3 I dettagli Il contratto sociale Chi prende le decisioni Organizzazione tecnica
4 L’ecosistema di derivate e Ubuntu
5 Contribuire a Debian
Luca Bruno (Debian) Il progetto Debian Schio (VI) 19 / 42 Social Contract (1997)
Uno dei principali Documenti Fondativi di Debian; esplicita gli accordi tra Debian e la comunit`a. Sancisce che: 1 Debian rimarr`asempre 100% Free Software 2 ci impegneremo a fornire le nostre modifiche alla comunit`adel Free Software 3 non nasconderemo i nostri problemi 4 le nostre priorit`a sono i nostri utenti e il Free Software 5 esistono alcuni pacchetti che non rispecchiano appieno i nostri standard per il Free Software
I non fanno parte di Debian, ma sono temporaneamente ospitati (separatamente) I catalogati in main, contrib, non-free
http://www.debian.org/social_contract
Luca Bruno (Debian) Il progetto Debian Schio (VI) 20 / 42 Debian Free Software Guidelines (DFSG)
Il Contratto Sociale si basa su una serie di “definizioni” del Free Software (delineate nell’ambito dell’altro documento fondativo) sono linee-guida, non regole rigide servono per decidere cosa pu`o far parte di Debian si basano sulla “licenza” di ciascun software
trivia: sono state usate come base per l’Open Source Definition / Initiative
http://www.debian.org/social_contract#guidelines
Luca Bruno (Debian) Il progetto Debian Schio (VI) 21 / 42 Debian Free Software Guidelines (DFSG) (cont.)
Una licenza deve: 1 permettere la libera ridistrubzione 2 includere la disponibilit`adel codice sorgente 3 permettere opere derivate
I anche se pu`orichiedere l’integrit`adel sorgente originale 4 non fare discriminazioni verso
I persone o gruppi I modo di utilizzo 5 essere distribuibile
I come nel caso di licenze ad azione implicita 6 non essere specifica solo per Debian 7 non contaminare altro software non correlato
I es. sullo stesso mezzo fisico di distribuzione
Luca Bruno (Debian) Il progetto Debian Schio (VI) 21 / 42 Costituzione (1998)
Descrive regole e strutture per l’organizzazione decisionale in una democrazia basata sul Free Software. Idee fondamentali: su base volontaria numero di ruoli “gestionali puri” ridotti al minimo “do-ocracy”
I ciascuno decide come fare il proprio lavoro I nessuno pu`oimporre ad altri le proprie scelte
http://www.debian.org/devel/constitution
Luca Bruno (Debian) Il progetto Debian Schio (VI) 22 / 42 Costituzione — entit`a
singoli sviluppatori (= membri del progetto) un DPL eletto ogni anno
I rappresenta istituzionalmente Debian I coordina le attivit`adel progetto I gestisce le propriet`ae i fondi I “garbage collector” decisionale
F es. decisioni urgenti o per cui non esiste un reponsabile delegati del DPL segretario del progetto organizzazioni fidate
I custodiscono i fondi per il progetto I fungono da ponte verso il mondo della burocrazia reale I SPI (us), FFIS (de), debian.ch (ch), Assoli (it), ASL (br), . . .
Luca Bruno (Debian) Il progetto Debian Schio (VI) 23 / 42 Costituzione — chi decide
regola d’oro do-ocracy, non esiste sempre un processo formale
sulla carta, la catena decisionale prevede nell’ordine: 1 tutti gli sviluppatori
I tramite le elezioni o le risoluzioni generali 2 il DPL 3 il comitato tecnico (CTTE) 4 il singolo sviluppatore, nel proprio campo ←− default 5 i delegati del DPL 6 il segretario del progetto
Luca Bruno (Debian) Il progetto Debian Schio (VI) 24 / 42 Unit`aorganizzative: i team
http://wiki.debian.org/Teams/
pi`ucose ci sono da fare, pi`uil team `egrande la maggior parte dei team sono auto-organizzati (poche deleghe ufficiali del DPL) alcuni esempi:
I team di manutenzione pacchetti (svariati) I team ftp-master I team di rilascio I team di sicurezza I (Linux) kernel team I team promozione I team debian-installer I webmasters I team debian-cd I ...
Luca Bruno (Debian) Il progetto Debian Schio (VI) 25 / 42 Flusso dei pacchetti & rilasci
Cercate di non perdervi. . .
Luca Bruno (Debian) Il progetto Debian Schio (VI) 26 / 42 Legend package installation Security UpStream Standard process Patches special/optional process maintenance responsibility (Manual) package upload exchange help, discussion automatic processing submission, notification
Sources semi official repository
BTS packaging Security human/ transitional developer/ group Team state maintainer builds
Security incoming incoming
unstable
unstable experimental
power user/ testing developer unofficial archives by proposed updates testing testing RM security
frozen volatile stable by user/ security updates proposed updates stable backups stable production RM Contenuti
1 Cos’`eDebian? Un po’ di storia la distribuzione, il progetto, la base per le derivate
2 Cos’ha di speciale Debian?
3 I dettagli Il contratto sociale Chi prende le decisioni Organizzazione tecnica
4 L’ecosistema di derivate e Ubuntu
5 Contribuire a Debian
Luca Bruno (Debian) Il progetto Debian Schio (VI) 28 / 42 Intermezzo — cosa sono le derivate
Principi del Free Software Libert`a#2, di ridistribuire copie Libert`a#3, di migliorare i programmi, e pubblicare i miglioramenti
Applicate al caso di distribuzioni, nascono le cosiddette derivate
Come? 1 aggiungendo extra ai pacchetti esistenti 2 con patch & ricompilazioni, ove necessario 3 effettuando periodici riallineamenti
Luca Bruno (Debian) Il progetto Debian Schio (VI) 29 / 42 Derivate — l’ultima bomba in citt`a
Le derivate hanno cambiato il panorama delle distribuzioni: si focalizzano sulle personalizzazioni dei dettagli finali la manodopera `econcentrata praticamente “solo” su quello
Ci guadagnano tutti (se le cose son fatte bene) derivate: riutilizzo dei pacchetti esistenti distrobuzioni “genitrici” : raggiungono un pubblico nuovo/maggiore
I sia utenti sia contributori
Luca Bruno (Debian) Il progetto Debian Schio (VI) 30 / 42 Derivate Debian
Debian: una base per ≈130 derivate attive distrowatch.com Linspire, Skolelinux, Liurex, Mint, LiMux, Sidux, gnuLinEx, Grml, MEPIS, Xandros, Ubuntu, Univention, Damn Small Linux, Collax, Euronode, Floppix, Gibraltar, Kanotix, Knoppix, PureOS, gNewSense, 64 Studio, Elive, Freespire, Jolicloud, Kurumin, Maemo, Neopwn, OpenZaurus, Parsix, Xebian, Hackable:1, aptosid, . . .
Perch`eDebian come base? garanzia per qualit`a& licenze sistema di base solido vasta gamma di pacchetti “OS universale”, perfetto da personalizzare
Luca Bruno (Debian) Il progetto Debian Schio (VI) 31 / 42 Una derivata Debian: Ubuntu
creata nel 2004 da Canonical, obiettivo principale: desktop derivata Debian molto popolare (20 volte la base utenti Debian) gestione di repository proprio (approccio storico) main ↔ corporate universe ↔ comunit`a
I molti cambiamenti in main I molto simile a Debian per il resto
Data for Lucid Lynx, main + universe picture is courtesy of Lucas Nussbaum Luca Bruno (Debian) Il progetto Debian Schio (VI) 32 / 42 Un mare di derivate (Debian)
Non c’`esolo Ubuntu . . . esiste un intero universo di derivate (figlie di derivative (...))
Derivate Debian( ≈130) Linspire, Skolelinux, Liurex, Mint, LiMux, Sidux, gnuLinEx, Grml, MEPIS, Xandros, Ubuntu, Univention, Damn Small Linux, Collax, Euronode, Floppix, Gibraltar, Kanotix, Knoppix, PureOS, gNewSense, 64 Studio, Elive, Freespire, Jolicloud, Kurumin, Maemo, Neopwn, OpenZaurus, Parsix, Xebian, Hackable:1, aptosid, . . .
Derivate Ubuntu( ≈70) Ubuntu Studio, Mythbuntu, ArtistiX, Asturix, Goobuntu, LinuxMCE, nUbuntu, Peppermint, TurnKey Linux, Zenix, . . .
Derivate di $distro ...
Luca Bruno (Debian) Il progetto Debian Schio (VI) 33 / 42 L’importanza di Debian
Ubuntu `eun caso di derivata molto modificata altre derivate → numero ancora maggiore di pacchetti non modificati
Morale: se lavorate con un derivata Debian, il suo buon funzionamento dipende anche in buon parte dal funzionamento di Debian.
(anche se non tutti lo dicono)
Luca Bruno (Debian) Il progetto Debian Schio (VI) 34 / 42 Il flusso delle distribuzioni
prima...
Luca Bruno (Debian) Il progetto Debian Schio (VI) 35 / 42 Il nuovo flusso delle distribuzioni
... oggi
Luca Bruno (Debian) Il progetto Debian Schio (VI) 35 / 42 Il nuovo flusso delle distribuzioni
... oggi
Il migliore dei mondi possibili! Quasi. . .
pi`u software libero deve essere sostenibile pi`u persone per scoprire i bug e dare giovamento a pi`upotenziali contributori tutto il Free Software
Luca Bruno (Debian) Il progetto Debian Schio (VI) 35 / 42 Il nuovo flusso delle distribuzioni
... oggi
Il migliore dei mondi possibili! Quasi. . .
pi`u software libero deve essere sostenibile pi`u persone per scoprire i bug e dare giovamento a pi`upotenziali contributori tutto il Free Software
Luca Bruno (Debian) Il progetto Debian Schio (VI) 35 / 42 Free Software 101 — redux
Il mondo del Free Software `epi`uimportante e grande di Debian, Ubuntu, e qualsiasi altra distribuzione o progetto
Se teniamo al Free Software, dobbiamo tutti quanti: 1 inoltrare le migliorie, ossia facilitare lo scambio di patch 2 dare credito a coloro cui `edovuto
Luca Bruno (Debian) Il progetto Debian Schio (VI) 36 / 42 Contenuti
1 Cos’`eDebian? Un po’ di storia la distribuzione, il progetto, la base per le derivate
2 Cos’ha di speciale Debian?
3 I dettagli Il contratto sociale Chi prende le decisioni Organizzazione tecnica
4 L’ecosistema di derivate e Ubuntu
5 Contribuire a Debian
Luca Bruno (Debian) Il progetto Debian Schio (VI) 37 / 42 Contribuire — manodopera in Debian
segnalare, verificare, correggere bug
I tramite reportbug da un sistema Debian I http://bugs.debian.org traduzioni
I http://www.debian.org/intl/ I http://wiki.debian.org/L10n I http://lists.debian.org/debian-l10n-italian/ documentazione manutenzione pacchetti
http://wiki.debian.org/HelpDebian
Luca Bruno (Debian) Il progetto Debian Schio (VI) 38 / 42 Contribuire — entrare a far parte di Debian
a seconda dei gusti: Package maintainer mantiene pacchetti, con l’aiuto di sponsor Debian Maintainer (DM) upload autonomo per i propri pacchetti richiede la fiducia di un mentore Debian Developer (DD) membro effettivo del progetto accesso e upload su tutto l’archivio (come manutentori) diritto di voto Alcuni suggerimenti per i futuri contributori scegliere un team: http://wiki.debian.org/Teams frequentare la loro mailing list o canale IRC segnalare bug, provare patch, etc. . . . il resto seguir`a spontaneamente!
Luca Bruno (Debian) Il progetto Debian Schio (VI) 39 / 42 Contribuire — donazioni
Anche se il progetto `ecomposto di soli volontari, le risorse strutturali hanno comunque un costo hardware per i servizi essenziali
I archivi, build, macchine di sviluppo, . . . costi relativi all’infrastruttura hardware
I hosting, spostamenti, assicurazione. . . fondi per sponsorizzare meeting tra sviluppatori
I aiutano a raggiungere gli obiettivi del progetto I rafforzano lo spirito collaborativo
Donazioni Donazioni: http://www.debian.org/donations Affiliazioni: http://www.debian.org/partners
Luca Bruno (Debian) Il progetto Debian Schio (VI) 40 / 42 Per maggiori informazioni
sul web
I http://www.debian.org I http://wiki.debian.org mailing list: http://lists.debian.org canali IRC (debian-* su irc.debian.org) chiedete di persona!
Luca Bruno (Debian) Il progetto Debian Schio (VI) 41 / 42 Grazie per l’attenzione... Domande?
Luca Bruno [email protected] http://people.debian.org/~lucab http://identi.ca/kaeso
Queste slide sono: copyright c 2010–2011 Stefano Zacchiroli, Luca Bruno license CC BY-SA 3.0 — Creative Commons Attribution-ShareAlike 3.0
Luca Bruno (Debian) Il progetto Debian Schio (VI) 42 / 42