Warum die Android-Treiber aus dem Linux-Kernel flogen
Der Kernel-Entwickler Greg Kroah-Hartman erklärt in einem Blog-Eintrag die Hintergründe zur Entfernung der Android-Treiber und wirft Google eine unzureichende Zusammenarbeit mit der Linux-Entwickler-Gemeinde vor.
Der bekannte Kernel-Entwickler Greg Kroah-Hartman hat in einem Blog-Eintrag die Hintergründe dargelegt, die zur Entfernung einiger bislang im Staging-Bereich angesiedelten Android-Treiber aus der in einigen Wochen erwarteten Kernel-Version 2.6.33 geführt haben. Der unter anderem für den Staging-Zweig und das USB-Subsystem zuständige Kernel-Hacker nutzt den Anlass auch, um einige allgemeine Probleme im Verhältnis zwischen Linux und Google beziehungsweise Android zu erklären.
Kroah-Hartman erläutert, dass er die Android-Plattform liebe und er sie auch aus technischer Sicht mag. Da sich aber niemand um den Code der Android-Treiber gekümmert hatte, habe er ihn entfernt. Ein ähnliches Schicksal hat auch schon andere Staging-Treiber ereilt oder wird ihnen angedroht, damit sie nicht zur Last für die Kernel-Entwickler werden – der Staging-Bereich des Kernels ist für unfertige Treiber gedacht, die noch reifen müssen. Normale, nicht im Staging-Bereich angesiedelte Treiber werfen die Kernel-Entwickler nur in Ausnahmefällen raus, vielmehr kümmern sie sich sogar um Anpassungen an neue Techniken und Treiber-Schnittstellen.
Die Entfernung der Android-Treiber hatte Kroah-Hartman bereits Ende Oktober angekündigt; ein Google-Mitarbeiter hat auch gar nicht dagegen zu argumentieren versucht, aber vage angedeutet, dass sich die Programmierer langfristig durchaus um die Aufnahme von Android-Komponenten in den Hauptentwicklungszweig des Linux-Kernels bemühen wollen. Der Kernel-Entwickler will die Unordnung um Android ("the whole Android mess") in einem Vortrag auf dem "CE Linux Forum 2010" näher beschreiben
Weiter geht Kroah-Hartman auf einige allgemeine Aspekte in der Beziehung mit Linux ein. Android bestehe aus mehr als nur ein paar speziellen Treibern, die nun entfernt wurden. Vielmehr habe der Linux-Kernel von Android einige Besonderheiten und ein teilweise etwas bizarres Sicherheitsframework, auf das die Treiber teilweise abgestimmt seien; auch die Framebuffer-Infrastruktur sei eine vollkommen andere. Dadurch benötigen die für Android geschriebenen Treiber Anpassungen, bevor sie in den offiziellen Linux-Kernel einfließen können.
Derartige Abweichungen vom offiziellen Kernel seien durchaus akzeptabel und wären bei neuen Versionen von Linux-Distributionen ganz normal. In diesem Fall sei es allerdings schlimm, weil Google den Code nicht dem Hauptentwicklungszweig von Linux zukommen lasse und dadurch Unternehmen, die Treiber und Verbesserungen für die Android-Platform schreiben, von der Mitarbeit am offiziellen Linux-Kernel ausschließe oder ihnen die Arbeit erheblich erschwere.
Kroah-Hartman merkt abschließend an, dass zur Beseitigung dieser Probleme Hilfe von Google-Mitarbeitern nötig sei, da nur die den Android-Code ändern könnten, der auf den Kernel aufsetzt. Wie es weitergeht, wagt Greg Kroah-Hartman nicht zu prognostizieren, weil das Unternehmen derzeit keine Anstalten mache, die eigenen Verbesserungen am Linux-Kernel in den Hauptentwicklungszweig zu integrieren. (thl)