Product SiteDocumentation Site

1.6. Levenscyclus van een Vrijgave

Het project zal simultaan drie tot zes verschillende versies van ieder programma hebben, genoemd Experimenteel, Onstabiel, Testen, Stabiel, Oudstabiel, en zelfs Oudoudstabiel. Iedere correspondeert met een andere fase in de ontwikkeling. Voor een goed begrip, laat ons eens kijken naar de reis van een programma, van het initieel inpakken tot de toevoeging aan een stabiele versie van Debian.

1.6.1. De Experimentele Status

Laten we eerst in het bijzonder kijken naar de Experimentele distributie: dit is een groep van Debian pakketten die overeenkomen met de software die momenteel in ontwikkeling is, en niet noodzakelijk compleet, wat zijn naam verklaart. Niet alles gaat voorbij dit punt; sommige ontwikkelaars voegen hier pakketten toe on feedback te krijgen van meer ervaren (of dapperder) gebruikers.
Anderzijds herbergt deze distributie regelmatig belangrijke aanpassingen aan basis pakketten, wiens toevoeging aan Onstabiel met grote fouten kritieke gevolgen zou hebben. Het is dus een compleet geïsoleerde distributie, zijn pakketten migreren nooit naar een andere versie (behalve door directie uitdrukkelijke interventie van de beheerders of de ftpmasters). Het is ook geen op zichzelf staand systeem: enkel een kleine subset van de bestaande pakketten is beschikbaar in Experimental en het bevat in het algemeen geen basis systeem. Deze distributie is daarom het meest bruikbaar in combinatie met een andere, op zichzelf staande, distributie zoals Onstabiel.

1.6.2. De Onstabiele Status

Laten we terug gaan naar het geval van een typisch pakket. De beheerder maakt een initieel pakket, welke ze compileren voor de Onstabiele versie en plaatsen het op de ftp-master.debian.org server. Dit eerste voorval omvat inspectie en validatie van de ftpmasters. De software is dan beschikbaar in de Onstabiele distributie, welke de “cutting edge” distributie naar keuze is van gebruikers die bezorgder zijn over het hebben van de nieuwste pakketten dan over serieuze fouten. Ze ontdekken het programma en testen het dan.
Indien ze een fout opmerken, rapporteren ze deze aan de pakket onderhouder. De onderhouder maakt dan regelmatig gecorrigeerde versies welk ze dan uploaden naar de server.
Ieder nieuw ge-updatet pakket wordt dan binnen de zes uur ge-updatet op alle Debian spiegels over de hele wereld. De gebruikers testen dan de correcties en zoeken naar andere problemen ten gevolge van de aanpassingen. Meerdere updates kunnen elkaar snel opvolgen. Gedurende deze tijden komen autobuilder robots in actie, meestal heeft de onderhouder slechts één traditionele PC en heeft zijn pakket gecompileerd op de amd64 (of i386) architectuur; de autobuilders nemen over en compileren automatisch versies voor alle andere architecturen. Sommige compilatie kunnen mislukken; de onderhouder zal dan een fout melding krijgen die het probleem aangeeft, welke dan gecorrigeerd wordt in de volgende versies. Wanneer de fout is ontdekt door een specialist voor de architectuur, kan het fout rapport komen met een patch die klaar is om te gebruiken.
Compileren van een pakket door de autobuilders

Afbeelding 1.2. Compileren van een pakket door de autobuilders

1.6.3. Migratie naar Testen

Iets later, als het pakket rijp is; ge-compileert op alle architecturen, als het geen recente aanpassigen heeft gehad. Is het dan een kandidaat voor toevoeging aan de Testen distributie - een groep van Onstabiele pakketten gekozen aan de hand van enkele kwantificeerbare criteria. Iedere dag worden programma's automatisch geselecteerd om toegevoegd te worden aan Testen volgens elementen die een bepaald niveau van kwaliteit garanderen:
  1. gebrek aan kritieke fouten of tenminste minder dan in de huidige versie beschikbaar in Testen
  2. Er wordt op zijn minst 10 dagen verbleven in Onstabiel, wat voldoende tijd is om enig serieus probleem te vinden en te rapporteren;
  3. Succesvolle compilatie op alle officieel ondersteunde architecturen;
  4. afhankelijkheden die voldaan kunnen worden in Testen of die er tenminste samen met het pakket in kwestie naar toe verhuist kunnen worden.
Dit systeem is zeker niet onfeilbaar; kritieke fouten worden regelmatig gevonden in Testen maar, het is in het algemeen bruikbaar, en Testen bevat veel minder problemen dan Onstabiel, wat voor velen een goed compromis is tussen stabiliteit en nieuwigheid.

1.6.4. De promotie vanTesten naar Stabiel

Laten we er nu van uit gaan dat ons pakket in toegevoegd aan Testen. Zolang als er plaats is voor verbetering moeten de onderhouders verder gaan met het te verbeteren en het proces opnieuw starten vanuit Onstabiel (maar zijn latere toevoeging aan Testen zal in het algemeen sneller gaan, behalve als er significante aanpassingen zijn, want alle afhankelijkheden zijn reeds beschikbaar). Wanneer het de perfectie bereikt is de ontwikkelaar klaar met zijn werk. De volgende stap is het toevoegen aan de Stabiele distributie, welke in werkelijkheid een kopie is van Testen op een gegeven moment bepaalt door de Vrijgave Manager. idealiter wordt deze beslissing genomen wanneer het installatie programma klaar is en wanneer geen programma in Testen bekende kritieke fouten heeft.
Omdat dit moment in de praktijk nooit bereikt wordt moet Debian compromissen sluiten: pakketten waarvan de onderhouder niet tijdig het probleem heeft opgelost verwijderen of akkoord gaan om een distributie met enkele fouten, in de duizende programma's, vrij te geven. De Vrijgave Manager zal eerder een bevries periode aangekondigd hebben, gedurende welke iedere update aan Testen goedgekeurd moeten worden. Het doel hiervan is om te voorkomen dat enige nieuwe versie (en zijn nieuwe fouten) geïntroduceerd worden en om enkel updates die fouten oplossen goed te keuren.
De weg van een pakket doorheen de verschillende Debian versies

Afbeelding 1.3. De weg van een pakket doorheen de verschillende Debian versies

Na de vrijgave van een nieuwe stabiele versie zal de Stabiele Vrijgave Manager alle verder ontwikkeling (“revisies” genoemd, bijv. 7.1, 7.2, 7.3 voor versie 7). beheren. Deze updates bevatten systematisch alle beveiligings-patches. Ze zullen ook de belangrijkste correcties bevatten. (de onderhouder van een pakket moet de ernst van een probleem, dat ze willen corrigeren, bewijzen om hun updates te laten toevoegen).
Aan het einde van de reis is ons hypothetische pakket nu toegevoegd aan de stabiele distributie. Deze reis, niet zonder moeilijkheden, verklaart de significante vertraging bij het scheiden van de Debian Stabiele vrijgaven. Dit draagt geheel bij aan zijn reputatie van kwaliteit. Verder is de meerderheid van de gebruikers tevreden met het gebruiken van één van de drie distributies simultaan beschikbaar. De Systeem beheerders, bovenal bezorgd over de stabiliteit van hun servers, hebben de laatste en grootste versie van GNOME niet nodig; ze kunnen kiezen voor Stabiel en ze zullen tevreden zijn. Eind gebruikers, die meer interesse hebben in de nieuwste versie van GNOME of KDE dan in rots-vaste stabiliteit zullen Debian Testen een goed compromis vinden tussen het gebrek aan serieuze problemen en de relatief recente software. Tenslotte, ontwikkelaars en meer ervaren gebruikers kunnen voluit gaan en de nieuwste ontwikkeling en Debian uittesten in Debian Onstabiel vanaf het begin, met het risico van hoofdpijn en fouten in iedere nieuwe versie van een programma. Aan ieder zijn eigen Debian!
Chronologisch pad van een programma ingepakt door Debian

Afbeelding 1.4. Chronologisch pad van een programma ingepakt door Debian

1.6.5. De Oudstabiele en Oudoudstabiele Status

Iedere Stabiele vrijgave heeft een verwachte leeftijd van ongeveer 5 jaar en aangezien dat vrijgaven de neiging hebben om iedere 2 jaar plaats te vinden kunnen er op een gegeven tijdstip tot 3 ondersteunde vrijgaven zijn. Wanneer een nieuwe stabiele vrijgave gebeurd zal de vorige vrijgave Oudstabiel worden en diegene daarvoor zelfs zal Oudoudstabiel worden.
Deze Lange Termijn Ondersteuning (LTS) van Debian vrijgaven is een recent initiatief: individuele bijdragers en bedrijven bundelden hun krachten om het Debian LTS team te creëren. Oudere vrijgaven die niet langer ondersteund worden door het Debian Beveiligings-Team vallen onder de verantwoordelijkheid van dit nieuwe team.
Het Debian beveiligings-team behandelt de beveiligings-ondersteuning in de huidige Stabiele vrijgave en ook in de Oudstabiele vrijgave (maar enkel voor zolang als het nodig is voor één jaar van overlapping met de huidige stabiele vrijgave). Dit komt grofweg neer op drie jaar van ondersteuning voor iedere vrijgave. Het Debian LTS team behandelt de laatste (twee) jaar van beveiligings-ondersteuning sodat iedere vrijgave geniet van tenminste 5 jaar van ondersteuning en zodat de gebruikers kunnen upgraden van Versie N naar N+2.