Warum nimmt Debian-Bug-Squashing im Vergleich zu Ubuntu so viel Zeit in Anspruch?

7

Berichten zufolge müssen Debian-Entwickler 54 Bugs mehr unterdrücken. Diese werden als "Release Critical Bugs" bezeichnet. Meine Frage ist,

Wenn dieses Bug-Squashing so viel Zeit in Anspruch nimmt, warum veröffentlicht Ubuntu dann jede Version in so kurzer Zeit?

Ich meine, wie quetschen sie die Käfer in dieser Zeit? Und wenn ja, warum bekommt Debian dann nicht den debuggten Code von Ubuntu? Sollten diese "kritischen Fehler nicht freigeben" nicht jetzt behoben werden? Da Ubuntu Debians Test / Instable als Basis verwendet und dann deren Veröffentlichung vornimmt; und offensichtlich veröffentlicht Ubuntu keine fehlerhafte Version. Es macht für mich einfach keinen Sinn.

serv-inc
quelle
6
"Offensichtlich veröffentlicht Ubuntu keine fehlerhafte Version" - oh, wirklich?
Hobbs
1
Natürlich enthalten Ubuntu-Versionen einige Fehler, die nicht ungewöhnlich sind. Aber schwerwiegende Fehler werden vor der endgültigen Veröffentlichung beseitigt, nicht wahr?

Antworten:

12

Der Release-Prozess zwischen Debian und Ubuntu ist sehr unterschiedlich. Ubuntu-Versionen basieren auf einem Zeitplan (festgelegtes Veröffentlichungsdatum), während Debian ein "Wenn es fertig ist" -Modell verwendet.

Hier sind einige wichtige Punkte, die die Release-Geschwindigkeit beeinflussen:

  1. Die meisten Pakete, die Ubuntu von Debian abruft, werden nicht offiziell unterstützt (Universums-Repository)
  2. Ubuntu unterstützt 2 Architekturen, während Debian 13 unterstützt (einige kritische Fehler sind für eine Architektur spezifisch).
  3. Ubuntu hat kein direktes Konzept für einen "Release-kritischen" Fehler, obwohl es einen "kritischen" Fehlerschweregrad hat
  4. Nur jede 4. Ubuntu-Version (LTS) wird für die Produktion empfohlen.
Jordanm
quelle
"Ubuntu unterstützt 2 Architekturen, während Debian 13 unterstützt (einige Release-kritische Fehler sind spezifisch für eine Architektur)", ist dies für mich am sinnvollsten.
5
Noch ein wichtiger Punkt: Ubuntu hat tatsächlich Angestellte, die solche Dinge erledigen. Debian nicht, also warten Sie darauf, wenn das Team, das sich ausschließlich aus Freiwilligen zusammensetzt, dazu kommt.
Adam Katz
5

Wie Jordanm hervorgehoben hat, sind die Veröffentlichungszyklen unterschiedlich: Ubuntu-Veröffentlichungen werden jeden April und Oktober erscheinen, wohingegen Debian-Veröffentlichungen veröffentlicht werden, wenn sie testingbereit sind stable, wie vom Veröffentlichungsteam festgelegt (teilweise basierend auf der Anzahl der freigegebenen kritischen Fehler). .

Es gibt noch einen weiteren großen Unterschied: Canonical beschäftigt Mitarbeiter, die den Kern von Ubuntu unterstützen, während Debian keine Infrastruktur hat, um die Mitarbeiter für die Arbeit an seiner Distribution zu bezahlen. Einige Leute arbeiten im Rahmen ihrer Arbeit an Debian, aber es gibt für niemanden in Debian die Möglichkeit, Debian-Mitwirkenden zu befehlen, an bestimmten Dingen zu arbeiten, einschließlich der Behebung von Release-kritischen Fehlern. Also kann niemand sagen "behebe diese bis zu diesem oder jenem Datum oder sonst!" (Andererseits denke ich, dass die meisten Debian-Entwickler die Veröffentlichung gerne herausbringen würden, also ...)

Die Release-kritischen Fehler, die zu diesem Zeitpunkt noch behoben werden müssen, sind meist komplexe Fehler, die schwer zu reproduzieren, schwer zu beheben und / oder schwer zu überprüfen sind. Diese können für freiwillige Mitarbeiter besonders de-motivierend sein. In einigen Fällen kann es schwierig sein, die Arbeit an einem Fehler zu rechtfertigen, der nicht einmal die Person betrifft, die den Fehler behebt.

(Bevor irgendjemand etwas auswählt, gibt es jetzt eine Infrastruktur, mit der Debian-Entwickler für die Arbeit an Debian LTS bezahlen können, aber das trägt nicht dazu bei, eine neue Version herauszubringen.)

Stephen Kitt
quelle
0

Erstens, weil Ubuntu ihre Fehler "upstream" weitergeben kann (und sollte). Zweitens, weil Debians Zweige definierter sind als Ubuntu. Es gibt mehr Schritte, um einen Fehler zu markieren, der in Debian als in Ubuntu beendet wurde. Am wichtigsten ist, dass Ubuntu eine "Downstream" -Version ist. Das bedeutet, dass sie alle Fehlerbehebungen erhalten können, die Debian hat, damit sie sich auf andere Fehler konzentrieren können, bei denen Debian Debian-Fehler und Ubuntu-Fehler effektiv behebt.

Zum Beispiel wird ein Fehler in foo.deb in Ubuntu als "Upstream" markiert und muss von Debian behoben werden. Ein Fehler in bar.deb muss in Ubuntu und Debian behoben werden. Das Ubuntu-Team kann foo.deb ignorieren und sich auf bar.deb konzentrieren, während das Debian-Team an foo.deb und bar.deb arbeiten muss.

Ein weiteres Beispiel ist der Release-Zyklus. Ubuntus Veröffentlichungszyklus ist viel einfacher als der von Debian. Zum Beispiel ist es nicht ungewöhnlich, dass ein Paket in Debian 6-12 Monate oder länger in "instabil" steckt, bevor es zum Testen geht. Verbringen Sie dann weitere 6 Monate mit dem Testen, bevor Sie auf "stabil" klicken. Für Debian ist dies großartig, da Sie geschäftskritische Server auf Debian Stable ausführen können und sich nicht damit täuschen müssen. Das Ausführen eines geschäftskritischen Servers unter Ubuntu ist weniger wünschenswert (selbst LTS-Versionen), da bekannt ist, dass sie weniger stabil und problematischer sind. Diese Unterscheidung spielt jedoch normalerweise keine Rolle für kleinere Server oder Desktops.

coteyr
quelle
3
Ihre Beschreibung der Paketmigration in Debian ist falsch. Die einzige Möglichkeit für ein Paket, länger als die Standardmigration instabil zu bleiben, besteht darin, dass es einen kritischen Release-Fehler aufweist (oder ein Paket, von dem es abhängt, aus diesem Grund nicht getestet wird). Pakete werden nicht direkt vom Testen in den Stall migriert. Dies geschieht nur, wenn der Test zum nächsten Stall wird.
Jordanm
Die einzige Möglichkeit, wie Pakete beim Testen stabil werden, besteht darin, dass der stabile Symlink auf den Spiegeln so verschoben wird, dass er auf den Verzweigungstest zeigt, auf den er zeigt. ZB passiert es nur bei der Veröffentlichung und zu keinem anderen Zeitpunkt.
Casey