/* basquiat's lovely winter riot */: a unique and beautiful snowflake in your heart's lovely winter riot

Quo vadis, Linux?

Wie schon berichtet wird seit dem Developers Summit in Ottawa ein neues Entwicklungsmodell für den Linux Kernel diskutiert, das bei seiner Durchsetzung eine Abkehr von der bisher geltenden Unterscheidung zwischen Stable- und Development Branch bedeuten würde. Ziel scheint es nun nicht mehr zu sein, einen gereiften Referenzkernel, der in seiner als stabil gekennzeichneten Version auch wegen der regelmäßig eingepflegten Security Updates Ausgangsbasis für viele Installationen und weiterführende Patchsets ist, anzubieten, sondern die Integration möglichst vieler Features in kürzester Zeit voranzubringen. Auch das Entfernen aktuellen und potentiell von Anwendern eingesetzten Codes aus der laufenden Stable Linie scheint legitim, so dieser keinen Maintainer mehr hat oder aus technischen Gründen als obsolet angesehen wird.

Für die Stabilität sollen in Zukunft die Distributoren verantwortlich sein - ein Unding, guckt man sich verschiedenste Distributionskernel und ihre Unterschiede an. Es darf die Frage gestellt werden, welchen Kernel der Endnutzer als stabile Referenz heranziehen soll - und in wie weit es sinnvoll ist, die Stabilität des Systems in die Hände konkurrierender, kommerzieller Unternehmen zu geben, die in manchen Fällen nicht unbedingt immer durch eine geglückte Politik des Patchens freier Software aufgefallen sind. Den Verweisen auf die Existenz freier Distributionen stelle ich in diesem Kontext den Mangel an Manpower eben dieser gegenüber - so sucht z.B. Gentoo zur Zeit händeringend Maintainer für die eigenen Kernelpatches.

Einen ersten Höhepunkt erreichte die Diskussion um das neue Entwicklungsmodell, als Grek Kroah einen neuen Patch veröffentlichte, der den kompletten “devfs”-Code aus dem Kernel entfernte:

Ok, to test out the new development model, here’s a nice patch that simply removes the devfs code. No commercial distro supports this for 2.6, and both Gentoo and Debian have full udev support for 2.6, so it is not needed there either. Combine this with the fact that Richard as sent me a number of good udev patches to fix up some “emulate devfs with udev” minor issues, I think we can successfully do this now.
[Originaltext]

Es folgte, wenig verwunderlich, eine lange, noch nicht abgeschlossene Diskussion, ob das alte Entwicklungsmodell so beibehalten werden sollte oder nicht, ob ein stabiler Referenzkernel überhaupt gebraucht werde und ob ein früheres Einläuten eines 2.7er Development Branches bei einem schnelleren Entwicklungstempo nicht die bessere Alternative sei.

Für einige Verstimmung sorgte die Tatsache, dass das neue Entwicklugnsmodell bisher nur auf LWN.net veröffentlicht wurde, für eine gewisse Zeit nur einsehbar für zahlende Abonnenten. Auch in meinen Augen kann das nicht die Informationspolitik sein, die man sich für die Entwicklung eines freien Linux Kernels wünscht, ganz abseits der Tatsache, dass LWN.net gute Arbeit leistet und eine Subskription ihr Geld wert ist. Das sah wohl auch Jonathan Corbet von LWN.net ein und veröffentlichte folgende Zusammenfassung der Ergebnisse des Kernel Summits vorab:

For those who weren’t here, the basic scoop is this:

- 2.6 is doing great, despite the fact that (by Andrew’s reckoning) some 10mb/month of patches are going into it.

- Linus is majorly pleased with how the partnership with Andrew has been working, and few people feel that he shouldn’t be. He is a little concerned about breaking a highly effective process when 2.7 forks.

- There is not a whole lot of pressure to create a 2.7 now, but a lot of interest in getting patches into the mainstream quickly.

The end result is that there may not be a 2.7 for a while. Instead, significant patches will continue to go into 2.6, after a vetting period in -mm. Andrew stated his willingness to consider, for example, four-level page tables, MODULE_PARM removal, API changes, and more. 2.7 will only be created when it becomes clear that there are sufficient patches which are truly disruptive enough to require it. When 2.7 is created, it could be highly experimental, and may turn out to be a throwaway tree.

Andrew’s vision, as expressed at the summit, is that the mainline kernel will be the fastest and most feature-rich kernel around, but not, necessarily, the most stable. Final stabilization is to be done by distributors (as happens now, really), but the distributors are expected to merge their patches quickly.
[Originaltext]

Inhaltlich kann ich mich vor allem der Argumentation Adrian Bunks anschliessen, der das neue Entwicklungsmodell so ebenfalls nicht durchgesetzt sehen will und das folgendermassen begründete:

There’s much worth in having a very stable kernel. Many people use for different reasons self-compiled ftp.kernel.org kernels. In 2.4, it took until at about 2.4.18 or 2.4.22 [1] until it was reasonable stable. Today, most code in the 2.4 kernel has had several years of testing and it’s therefore quite stable even in unusual configurations. Besides this, an upgrade like from 2.4.25 to 2.4.26 is pretty low-risk since there shouldn’t be any changes that might break existing setups.

If your work together with Linus is so effective, why can’t you both do all the changes in a new 2.7 tree that includes also all incompatible and potential dangerous changes as well as the removal of obsolete code like devfs or OSS. I don’t see the negative effect if a 2.7 branch was created today and together with a feature freeze for 2.7 three months from now this might result in a 2.8.0 before christmas [2] that contains all the new features/removals/changes while 2.6 will evolve further into a rock-solid stable kernel.
[Originaltext]

Realitätsfern und nicht praktikabel erschien für mich daraufhin die Antwort von Andrew Morton, der neben Greg Kroah einer der vehementesten Verfechter des neuen Modells ist:

I wouldn’t be averse to releasing a 2.6.20.1 which is purely stability fixes against 2.6.20 if there is demand for it. Anyone who really cares about stability of kernel.org kernels won’t be deploying 2.6.20 within a few weeks of its release anyway, so by the time they doodle over to kernel.org they’ll find 2.6.20.2 or whatever.
[Originaltext]

Adrian Bunk kommentierte diese Idee dann auch wie folgt:

Who will maintain the many subtrees of 2.6 this implies?

Even after 2.6.20 was already released, you might have to release a 2.6.19.5 with a few additional security fixes since according to your advice users should continue to use 2.6.19 for a few weeks which implies that someone will have to maintain at least the 2.6.19 tree for at least a few weeks after the release of 2.6.20.
[Originaltext]

Paul Jackson brachte ein weiteres Paradebeispiel an Realitätsverlust ein, in dem er Endnutzer dazu drängen möchte, ausschliesslich Distributionskernel zu verwenden - was diese ja in der Mehrheit sowieso schon täten:

Now, I repeat, this is at the head end. End users who want stability aren’t feeding directly off kernel.org anyway.
[Originaltext]

Ungefähr hier begann die Diskussion bei mir, leichten Brechreiz auszulösen. Gerade weil ich Stabilität und Zuverlässigkeit will, bin ich um das derzeitige Entwicklungsmodell froh, das mir einen gereiften und evaluierten Referenzkernel an die Hand gibt, den ich im Bedarfsfall nach eigenem Gutdünken mit den wenigen Patches, die ich brauche, modifizieren kann. Genau hier nämlich liegt für mich eine der Stärken des Linux Modells, und die derzeitige Marschrichtung macht diese - aus meiner Sicht - hinfällig. Demnächst bin ich also, wollte ich einen auf Stabilität fokusierten Kernel, auf den Bloat einzelner Distributionen angewiesen, der nicht notwendigerweise immer optimal zu meinem System passen muss? Pech natürlich, wenn der von mir bevorzugte Abkömmling gerade nicht genügend Manpower zur Anpassung eines featureverkrüppelten Kernels bereitstellen kann.

Nicht ganz konnte ich mir dann doch das Grinsen bei einer Mail von Bill Davidsen verkneifen:

I confess I feel that this new model is a return to the bad old days when the stable tree wasn’t. Sounds as if Andrew is bored with the idea of letting 2.7 be the development tree and just being the gatekeeper of STABLE new features for 2.6. Perhaps 2.7 should be opened and Andrew will have a place to play, and features can drift to 2.6 more slowly.
[Originaltext]

Genug gerantet. Der vorgeschlagene Weg ist der falsche und wird Linux als Ganzem in meinen Augen nicht förderlich sein. Sollte BSD doch noch zur ernstzunehmenden Alternative mutieren?

//keep it stable.

3262 Klicks
  • leider muss hier dir hier mal voll und ganz zustimmen. Oder stimmst du mir in diesem Falle zu? Wie auch immer, wollen wir hoffen das wir nicht schon bald von der guten alten Zeit schwärmen
  • Die Idee zur verbitterten Flucht ins BSD Lager hast Du mir eingeimpft, ja - aber ich hoffe mit Dir, dass es so weit nicht kommt. Ansonsten ist es doch zur Abwechslung auch mal schön, in die gleiche Richtung zu ranten. ;)
  • Nunja, im schlimmsten Fall kann man ja das machen, was schon bei XFree86 passiert ist: fork.

    Das ist das schöne an FOSS, sind genug developer mit ihrer “Führung” unzufrienden, dann könnens einfach selber in einen Fork weiterarbeiten. Wer verwendet heutzutage noch XFree86 und nciht XOrg?

    Selbst unter cygwin wird automatisch auf XOrg updatet, wenn man ncoh XFree haben sollt.
Umschließende Sterne heben ein Wort hervor (*wort*), per _wort_ kann ein Wort unterstrichen werden.
Die angegebene E-Mail-Adresse wird nicht dargestellt, sondern nur für eventuelle Benachrichtigungen verwendet.
BBCode-Formatierung erlaubt

Trackbacks / Pingbacks