Login
Newsletter
Werbung

Mi, 23. Dezember 2009, 15:40

Software::Systemverwaltung

Linux 2.6.33 ohne Android-Treiber

Die in Linux 2.6.29 experimentell hinzugekommenen Treiber für Android-Geräte werden wegen des fehlenden Engagements der Entwickler bei Google wieder entfernt.

In einem Memo erklärt Jonathan Rosenberg, Vizepräsident bei Google, was der Konzern seiner Ansicht nach unter »Open« versteht - darunter findet sich unter anderem auch der Passus »Stelle sicher, dass du die Ressourcen hast, dich um deinen Code zu kümmern«. Drei Tage zuvor hatte Greg Kroah-Hartmann die Android-Treiber aus dem staging-Zweig entfernt - weil Google sich seiner Ansicht nach nicht darum kümmerte.

Android wurde lange Zeit hinter geschlossenen Türen entwickelt. Auch nach der Veröffentlichung des Quellcodes zeigten die Entwickler nur wenig Interesse daran, die entwickelten Komponenten wieder in die ursprünglichen Projekte zurückfließen zu lassen - eine Politik, die auch bei Chrome, dem Google-eigenen Web-Browser, bemängelt wird. Einige Kernel-Treiber für Android landeten nach kurzer Zeit ohne großes Zutun von offizieller Seite im staging-Zweig des Linux-Kernels, dem Ort, an dem Projekte so lange reifen können, bis sie den Richtlinien für eine vollständige Aufnahme entsprechen.

Android-Entwickler Arve Hjønnevåg startete im Februar 2009 den Aufnahme-Prozess für einige Teile der Android-Infrastruktur, scheiterte jedoch an den sogenannten »wakelocks«: Ein Wake Lock ist in der Android-Welt ein Mechanismus, der das System davon abhält, sich in einen Stromspar-Zustand zu begeben - etwa weil sich dadurch die Latenzzeiten bei der Verarbeitung von Ereignissen erhöhen können.

Einen solchen Mechanismus gibt es mit pm_qos bereits - die Funktionalität reicht den Android-Entwicklern allerdings angeblich nicht aus. Bei den Kernel-Entwicklern stoßen wakelocks auf wenig Gegenliebe. Benjamin Herrenschmidt unterstellt dem Android-Team, lieber eine neue Lösung für seine eigenen Bedürfnisse zu erfinden, als sich mit einer Anpassung der vorhandenen Infrastruktur auseinanderzusetzen (ähnliche Kritik betrifft auch Google Chrome).

Pavel Machek ist gar der Meinung, dass das wakelock-Konzept fehlerhaft ist und überhaupt nicht korrekt eingesetzt werden kann: Das System erlaubt etwa normalen Anwendungen das Setzen eines Locks, hat aber keine Fehlerbehandlung für den Fall, dass der Prozess abbricht, ohne den Lock zu entfernen - das Gerät kann also nie wieder in einen Stromsparmodus wechseln. Mehrere Anwendungen können unabhängig voneinander Wake-Locks registrieren und sich gegenseitig blockieren.

Das Android-Team ignoriert damit konsequent die Richtlininen der Kernel-Entwicklung. Anstatt von Anfang an mit offenen Karten zu spielen und für eine bestmögliche Geräte-Unterstützung durch den Standard-Kernel zu sorgen, wurde zwei Jahre hinter geschlossenen Türen gearbeitet, ohne Rücksicht auf andere Projekte und die Code-Qualität. Ein typischer Fehler in Embedded-Projekten: Die Hersteller wollen der Konkurrenz durch Geheimhaltung zuvorkommen, am Ende entstehen inkompatible Software-Zweige.

Kroah-Hartmann versuchte mehrfach, das Android-Team bei Google zu einer Zusammenarbeit zu bewegen, und drohte zuletzt im Oktober mit einer Entfernung der mehrere tausend Zeilen Code schweren Treiber aus dem staging-Zweig. Dies ist nun geschehen. Google ist damit in guter Gesellschaft von Microsoft, deren HyperV-Treiber wieder auf der Abschussliste stehen - nachdem sich die zuständigen Entwickler nach einer Rüge im September 2009 wieder gemeldet hatten, scheint nun erneut Funkstille eingetreten zu sein. Kroah-Hartmann droht mit einer endgültigen Entfernung in Kernel 2.6.35.

Die Nutzung von Linux und freier Software in kommerziellen Embedded-Produkten scheint die Hersteller zunehmend in zwei Gruppen zu trennen: Auf der einen Seite befinden sich jene, die gerne auf freie Projekte zurückgreifen, sich aber nur wenig um die Meinung der Gemeinschaft kümmern. Im besten Fall entsteht dann eine Menge Code, der nur unter großen Anstrengungen wieder in das Ursprungsprojekt eingegliedert werden kann, im schlechtesten Fall muss der Hersteller durch eine Lizenzklage zur Herausgabe gezwungen werden. Dass es auch anders geht, zeigt etwa Nokia mit Maemo.

Im Falle von Google scheint zudem ein tiefer Spalt zwischen Rosenbergs Memo und der Realität zu klaffen - Google verscherzt sich zunehmend den Respekt der Entwickler. Matt Porter kam in seiner Präsentation »Android Mythbusters (PDF)« auf der Embedded Linux Conference Europe etwa gar zu dem Schluss, dass Android im Kern überhaupt kein Linux sei.

Werbung
Pro-Linux
Pro-Linux @Facebook
Neue Nachrichten
Werbung