Quick viewing(Text Mode)

Debian: La Distribuzione, Il Progetto Comunitario E L'ecosistema Di Derivate

: la distribuzione, il progetto comunitario e l’ecosistema di derivate

Luca Bruno

in rappresentanza del progetto Debian

1 Maggio 2011 -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 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 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 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

I impegno sancito nelle DFSG una dozzina di architetture i386, amd64, armel, , 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

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, , PCLinuxOS, , , CentOS, FreeBSD, Arch, Sabayon, Puppy, , MEPIS, Ultimate, NetBSD, Tiny Core, , CrunchBang, , Vector, , Maemo, Red Hat, aptosid, Peppermint, PC-BSD, Chakra, Salix, ClearOS, , , Super OS, BackTrack, gOS, TinyMe, Zentyal, EasyPeasy, Frugalware, Clonezilla, Pardus, Meego, OpenBSD, Quirky, PC/OS, Zorin, Debian, SystemRescue, Element, , , Macpup, wattOS, Scientific, , , DragonFLY, Elive, linux-gamers, 64 Studio, Ubuntu, , 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 .com , , Liurex, Mint, LiMux, Sidux, gnuLinEx, , MEPIS, , Ubuntu, Univention, , Collax, Euronode, Floppix, Gibraltar, , Knoppix, PureOS, gNewSense, 64 Studio, Elive, , Jolicloud, , Maemo, Neopwn, OpenZaurus, , 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 , 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 ’`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) , 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