Product SiteDocumentation Site

1.3. Hur Debianprojektet fungerar internt

Debianprojektets lyckade slutresultat skapas av arbete med infrastrukturen utförd av erfarna Debianutvecklare, från individuella, det gemensamma arbetet med Debianpaket och från användaråterkoppling.

1.3.1. Debian-utvecklarna

Debian-utvecklare har olika ansvar, och som officiella projektmedlemmar har de en stor influens på vilken riktning projektet ska ta. En Debianutvecklare är vanligen ansvarig för minst ett paket, men allt beroende på tid och önskan är de fria att involvera sig i flera team, och ta på sig mer projektansvar.
Pakethantering är en relativt disciplinerad aktivitet, väldigt dokumenterad och styrd. Den måste därför överensstämma med alla standarder etablerade genom Debianriktlinjerna. Det finns många verktyg som underlättar ansvariges arbete. Utvecklaren kan därför fokusera på det specifika av och mer komplexa uppgifterna, som att reparera fel.
Riktlinjerna, en viktig del av Debianprojektet, etablerar de normer som försäkrar distributionens paketkvalitet och interoperabilitet. Tack vare dessa riktlinjer fortsätter Debian, trots dess omfattning, att vara samstämmigt. Riktlinjerna är inte skrivna i sten utan fortsätter att utvärderas kontinuerligt på sändlistan . Tillägg som ges bifall av alla intresserade parter accepteras och tillämpas på en text av en liten grupp med redigeringsansvar (de inkluderar endast ändringar som bifallits av Debian-utvecklarna som också är medlemmar i den nämnda sändlistan). Du kan läsa om aktuella ändringsförslag i felrapporteringssystemet:
Riktlinjerna tillhandahåller en ganska omfattande information de tekniska detaljerna av paketering. Projektstorleken leder också till organisatoriska problem; de tas om hand av Debians författning, vilken etablerar en struktur och medel för beslutsunderlag. Med andra ord ett formellt styrsystem.
Författningen definierar ett visst antal roller och positioner samt deras ansvar och begränsningar. Det är speciellt värt att uppmärksamma att Debian-utvecklare alltid har det slutlig beslutsrätt genom en röst där en kvaliciferad majoritet av tre fjärdedelar (75%) av rösterna krävs för att betydande ändringar ska ske (exempelvis som de med en effekt på grunddokumenten). Utvecklare väljer årligen en ”ledare” som representerar dem i möten och sköter intern koordination mellan olika team. Valet sker alltid i samband med en period av intensiva diskussioner. Ledarens roll är inte formellt definierad i något dokument; kandidater för denna post föreslår vanligen deras egna definition av rollen. I praktiken omfattar ledarrollen att vara en representant till media, att koordinera mellan ”interna” team och att tillhandahålla övergripande vägledning till projektet, som också relaterar till utvecklarna: projektledarens åsikter är implicit godkända av majoriteten av projektanvändarna.
Ledaren har ett starkt mandat; deras röst avgör jämna röster; de kan ta vilket beslut som helst som inte redan är under någon annans ansvar och de kan delegera vidare delar av sitt ansvar.
Sedan projektets början har det i tur och ordning letts av Ian Murdock, Bruce Perens, Ian Jackson, Wichert Akkerman, Ben Collins, Bdale Garbee, Martin Michlmayr, Branden Robinson, Anthony Towns, Sam Hocevar, Steve McIntyre, Stefano Zacchiroli och Lucas Nussbaum.
Författningen definierar också en ”teknisk kommitté”. Kommitténs essentiella roll är att bestämma om tekniska spörsmål när de involverade utvecklarna inte har kommer fram till en kompromiss. Kommittén har också en rådgörande roll till utvecklare som misslyckas med att ta ett beslut för vilka de är ansvariga. Observera att de endast blir involverade när de bjuds in av en av parterna i fråga.
Slutligen definierar författningen rollen ”projektsekreterare” som ansvarar för organisationen av röster relaterat till de olika valen och allmänna resultaten.
Proceduren för ”den allmänna resolutionen” beskrivs i författningen, från den inledande diskussionsperioden till den slutliga rösträkningen. För detaljer, se
Även om författningen påminner om demokrati är den dagliga verkligheten ganska annorlunda: Debian följer naturligt de fria programvarureglerna om gör-det-okrati: den som utför saker bestämmer hur de ska ske. Massor av tid kan gå åt till att diskutera olika sätt att angripa ett problem; den valda lösningen kommer att vara den första som är både funktionell och tillfredsställande... vilket är resultatet utav den tid en kompetent person lägger ned på att genomföra det.
Det enklaste sättet att få erkännande är att göra något nyttigt och visa att man har utfört arbeta. Många ”administrativa” Debian-team sköts genom samarbeten, och de föredrar volontärer som redan har bidragit effektivt och visat sin kompetens. Den naturliga öppenheten i dessa teams arbete gör det möjligt för nya volontärer att observera och börja hjälpa till utan speciella privilegium. Det är därför Debian ofta beskrivs som en ”meritokrati”.
Denna praktiska metod garanterar kvaliteten av bidragsgivare i Debians nyckelteam. Metoden är inte på något sätt perfekt och det finns det de som inte accepterar detta arbetssätt. Valet av utvecklare som accepteras i team kan verka lite godtyckligt, eller till och med orättvist. Vidare, alla har inte samma definitioner av vad som kan förväntas från dessa team. För vissa är det oacceptabelt att behöva vänta 8 dagar för att få in ett nytt Debian-paket, medan andra kan vänta tålamodigt i 3 veckor utan ett problem. Det finns därför återkommande klagomål från missnöjda om ”tjänstekvaliteten” hos vissa team.

1.3.2. Användarnas aktiva roll

Är det relevant att nämna användarna bland de som jobbar inom Debianprojektet? - svaret är ett rungande ja: de spelar en kritisk roll i projektet. De är inte ”passiva”, en del användare testar utvecklingsversioner av Debian, och skapa felrapporter för att uppmärksamma problem. Andra går längre och skickar in ideer för förbättringar genom att skriva in felrapporter med nivån ”whishlist”, eller till och med genom att skicka in ”programfixar”, det vill säga rättningar till källkoden, (se sidopanel GRUNDERNA Att skicka in en programfix).
Utöver det ger många bidrag till projektet. Eftersom inte alla har tillräcklig kunskap i programmering kan de hjälpa till med översättningar och granskning av dokumentation. Det finns språkspecifika e-postlistor för att koordinera detta arbete.
Alla dessa bidragsmekanismer blir effektivare genom användarens beteende. Istället för att vara en samling av isolerade stuprör är användarna en gemenskap med olika typer av kommunikation. Vi vill speciellt uppmärksamma aktiviteten på sändlistan för användare, (Kapitel 7, Solving Problems and Finding Relevant Information tar upp detta i detalj).
Användare hjälper inte bara varandra (och andra) med tekniska problem som direkt påverkar dem, men de diskuterar också de bästa sätten att bidra till Debianprojektet och dess framtid - diskussioner som ofta slutar i förslag på förbättringar.
Eftersom Debian inte bekostar marknadsföring spelar dess användare en viktig roll i spridningen av Debian.
Metoden fungerar ganska bra eftersom Debianfans kan hittas inom alla nivåer av gemenskapen för fri programvara: från installationsfester (arbetsträff där erfarna hjälper nytillkommna att installera systemet) organiserade av lokala LUG:ar eller ”Linux User Groups”, till bås på stora teknikkonferenser som har att göra med Linux, och så vidare.
Volontärer skapar affischer, broschyrer, klistermärken och annat användbart marknadsföringsmaterial för projektet, vilket de gör allmänt tillgängligt, och vilket Debian tillhandahåller fritt på sin webbplats:

1.3.3. Grupper och underprojekt

Debain har från början varit organiserat kring konceptet med källpaket, var och en med dess ansvariga eller grupp av ansvariga. Många arbetsgrupper har uppstått över tid, försäkrande skötsel av infrastrukturen, hantering av uppgifter som inte är knutna till något paket (kvalitetsförsäkran, Debians riktlinjer, installeraren med mera) och där den senaste tillväxten av grupper har skett runt underprojekt.

1.3.3.1. Befintliga Debian-underprojekt

Till var och en deras Debian! Ett underprojekt är en grupp frivilliga som vill anpassa Debian till speciella behov. Förutom att välja undergrupper av speciellt anpassade program för olika domäner (utbildning, medicin, mediaskapande med mera), är de också inblandade i att förbättra befintliga paket, paket som saknar programvara, anpassa installeraren, skapa specifik dokumentation och mycket annat.
Ett litet urval av aktuella underprojekt:
  • Debian-Junior, av Ben Armstrong, erbjuder ett tilltalande och lättanvänt Debiansystem för barn;
  • Debian-Edu, av Petter Reinholdtsen, är fokuserat på att skapa en distribution för den akademiska världen;
  • Debian Med, av Andreas Tille, dedikeras till det medicinska fältet;
  • Debian Multimedia har att göra med ljud- och mediaarbete;
  • Debian-Desktop koncentrerar sig på skrivbordet och koordinerar stilen för standardtemat;
  • Debian GIS handhar program för geografiska gnformationssystem och dess användare;
  • Slutligen Debian Accessibility, som förbättrar Debian för att bemöta behoven för folk med funktionshinder.
Listan kommer förmodligen att fortsätta att växa med tiden och upplevda fördelar av Debians underprojekt. Med stöd från befintlig Debian-struktur kan de fokusera på värdearbetet utan att behöva fundera på att hålla sig synkroniserade med Debian.

1.3.3.2. Administrativa grupper

De flesta administrativa grupper är ganska slutna och rekryterar genom samarbeten. Det bästa sättet att bli en del av dem är att på ett smart sätt hjälpa de aktuella medlemmarna, och att visa att du förstår deras mål och arbetssätt.
FTP-ansvariga har hand om de officiella arkiven för Debian-paket. De underhåller programmet som tar emot paket insända av utvecklare, och lagrar dem automatiskt, efter en del kontroller, på referensservern(ftp-master.debian.org).
För att försäkra sig om att Debian kan distribuera paket, verifiera de licenserna för alla nya paket, innan de inkluderas i andra paket. När en utvecklare önskar att ta bort ett paket, adresserar de denna grupp genom felrapporteringssystemet och pseudo-paketet ftp.debian.org.
Debian-systemadministratörs-gruppen (DSA) är, som man kan anta, ansvarig för systemadministration flera av projektets servrar. De garanterar att alla grundläggande tjänster fungerar optimalt (DNS, webb, e-post, skal med mera), installerar program begärda av Debian-utvecklare och sköter säkerhetsförebyggande arbete.
Listmasters har hand om e-postservern som hanterar e-postlistorna. De skapar nya listor, hanterar studsar (aviseringar om leveransproblem), och hanterar spam-filter (oönskade massutskick).
Varje tjänst har dess egna administrationssida, vanligen bestående av volontärer som har installerat den (och vanligtvis programmerat motsvarande verktyg själva). Det gäller felrapporteringssystemen (BTS), paketspåraren alioth.debian.org (FusionForge server, se sidofält VERKTYG FusionForge, den scheweiziska armékniven för gemensam utveckling), tjänsterna tillgängliga på qa.debian.org, lintian.debian.org, buildd.debian.org, cdimage.debian.org och andra.

1.3.3.3. Utvecklargrupper, överlappande grupper

Olikt de administrativa grupperna är utvecklingsgrupperna generellt ganska öppna, även för bidrag utifrån. Även om Debians syfte är att skapa program behöver projektet ändå en del specifika sådana för att nå sina mål. Verktygen, självklart fri programvara, använder beprövade metoder i fri programvaru-världen.
Debian har utvecklat några få programvaror, men vissa program har fått en ledande roll, och deras namn har spritt sig långt utanför projektet. Bra exempel är dpkg, Debians-pakethanteringssystem (det är faktiskt en förkortning avv Debian PacKaGe, och uttalas som ”dee-package”), och apt, ett verktyg för att automatiskt installera Debianpaket med beroenden, och som försäkrar sig om systemets samstämmighet efter en uppgradering (namnet är en akronym för Advance Package Tool). Deras team är mycket mindre eftersom det krävs en ganska hög färdighet i programmering för att förstå hur dessa programtyper fungerar.
Det viktigaste teamet är kanske det för Debians installationsprogram, debian-installer och som har uppnått enormt mycket sedan det startades 2001. Det har krävt många medarbetare eftersom det är svårt att skriva en enstaka program kapabelt att installera Debian på ett dussin olika arkitekturer. Varje arkitektur har sina mekanismer för uppstart och deras egena starthanterare. All detta arbete koordineras på sändlistan för under ledning av Cyril Brulebois.
Det lilla teamet debian-cd har ett ännu blygsammare mål. Många små ”medarbetare” är ansvariga för deras arkitektur, eftersom huvudutvecklaren inte kan känna till alla variationer, eller det exakta sättet att starta installationen från CD-ROM-skivan.
Många team måste samarbeta med andra när det gäller paketering: försöker till exempel att garantera kvaliteten på alla nivåer i Debian-projektet. Sändlistan utvecklar efter förslag Debians riktlinjer. Teamen som har ansvar för arkiteturerna () sätter samman alla paket och anpassar dem, om så behövs, utefter deras speciella arkitektur.
Andra team hanterar det viktigaste paketen för att försäkra sig om underhåll utan att lägga för stor vikt på en enstaka person; detta gäller C-biblioteket och , och C-kompilatorn på sändlistan eller Xorg på (denna grupp är också känd som X Strike Force).