Das Ubuntu-Projekt hat mit der Version 13.04 Phased Updates eingeführt. Der Prozess soll Regressionen im größeren Maßstab verhindern, indem es sie früh erkennt.
Stable Release Upgrades (SRUs) sind jene Updates, die Ubuntu nach dem Release einer Version veröffentlicht. Sie reparieren Fehler in der vorhandenen Software und schließen Sicherheitslücken. Mitunter passiert es aber, dass ein kleines Update für eine Bibliothek unerwartet dafür sorgt, dass eine andere Software nicht mehr funktioniert. Das Phänomen ist unter dem Namen Regression bekannt und gefürchtet. Regressionen lassen sich nicht abschaffen, aber ihre Effekte zumindest eindämmen.
Genau das plant nun eine Gruppe um Brian Murray für Ubuntu. Mit den Phased Updates stellt er ein Modell vor, dass die unangenehmen Begleiteffekte einschränken soll. Bislang erhielt das Ubuntu-Projekt über ihr Bug-Tool Apport zwar massenhaft Fehlermeldungen, wenn eine Regression auftrat, allerdings hatten zu diesem Zeitpunkt bereits eine Menge Leute das schädliche Update eingespielt. Ab Ubuntu 13.04 hat sich das geändert, weil nun zunächst nur 10 Prozent der User die Updates installieren, die der Update-Manager bestimmt, indem er eine zufällige Zahl generiert. Liegt diese unter einem bestimmten Schwellwert, spielt der zugehörige Rechner die Updates ein.
Auf diese Weise entsteht eine zufällige Testgruppe, bei der Regressionen schnell auffallen und sich beheben lassen. Das erledigt der Error-Tracker des Projekts, der Programmabstürze registriert. Treten bei einer Software Abstürze auf, die bei der vorherigen Version nicht existierten, werden die Entwickler hellhörig. Auch die Quantität der Abstürze zeigt, ob es sich um Einzelfälle handelt oder um ein breiteres Phänomen.
Gibt es keine Auffälligkeiten, erhalten zehn weitere Prozent der Nutzer das Update. Stufenweise wird so die Zahl bis auf hundert Prozent erhöht. Wer an den Phased Updates nicht teilnehmen möchte, kann das über die Konfigurationsdatei “/etc/apt/apt.conf” festlegen. Der Eintrag “Update-Manager::Never-Include-Phased-Updates “True”;” schließt den Rechner von den Phased Updates aus.





