Die Saat ist gelegt: Sechs verschiedene Linux-basierte Plattformen stehen für moderne Handys zur Verfügung. Aber wer die Betriebssysteme vergleichen will, tut sich schwer, weil Hersteller-Implementierungen und die spezielle Hardware der Telefone zu ganz verschiedenen Ergebnissen führen.
Mythos Mobile Linux: Hardware-unabhängig und frei?
Dabei wäre es eigentlich so schön: Keine der aktuellen Softwareplattformen ist zwingend für bestimmte Geräte vorgesehen, genauso wenig gibt es Hardware, die der Hersteller nur für eine Software entworfen hat. Aber die konkrete Ausgestaltung auf der Hardware verleitet Anwender und Verfechter freier Software leicht zu Flamewars, in denen die Kombattanten einzelne Geräte als Maßstab für die Freiheit der ganzen Softwareplattform heranziehen.
Mag dies auch in manchen Fällen zutreffen, ist es doch in den meisten irreführend und falsch. Das gilt auch für die verbreitete Annahme, Android sei nicht wirklich frei, nur weil das erste Gerät damit, das HTC G1, ausschließlich signierte Flash-Inhalte startete.
Android
Das ist jedoch nur die halbe Wahrheit, denn die Open Handset Alliance (OHA, [1]) definiert zwar als Konsortium unter der Federführung von Google die Plattform [2]. Aber die Implementierung auf einem konkreten Gerät hängt vom Hersteller des Geräts ab, eben zum Beispiel von HTC. Während das HTC Dream als ursprüngliches Developer-Gerät eine vergleichsweise reine Android-Variante ist, hat der Hersteller es im Hero umfangreich angepasst und verändert, obwohl beide sogar die gleiche Android-Version (1.6) verwenden.
Zu den Gründungsmitgliedern der OHA gehören prominente und finanzkräftige Vertreter aller im Mobilfunksektor maßgeblichen Firmen, darunter OEM-ODM-Gerätehersteller (Motorola, Samsung, HTC) und Chipproduzenten wie Intel, Qualcom oder Broadcom. Interessanterweise findet sich neben Google nur ein weiterer Softwarehersteller unter den Gründungsmitgliedern, nämlich Ebay mit seiner Tochter Skype. Heute beteiligen sich aber neun weitere, hauptsächlich Anbieter von Applikationen.
Mysteriös
Welche Bedingungen für die Mitgliedschaft gelten, ist allerdings nicht bekannt. Auch wegen derartiger Geheimniskrämerei sorgte Google für einige Aufregung. Die Ziele der OHA schienen dann auch nie völlig klar – Google verkaufte bis zu dem Anfang 2010 erschienenen Nexus (Abbildung 1) weder Telefone noch Software dafür und ist (bis heute) auch kein Netzbetreiber.

Abbildung 1: Kommt mit einem 800 mal 480 Pixel großen Display, 1-GHz-Prozessor von Qualcomm und Android 2.1: Googles erstes Telefon, das Nexus One.
Technisch sitzt Android auf einer Java Virtual Machine von Android Inc., einer Firma, die Google schon im Vorfeld der OHA-Gründung übernommen hatte. Das Herzstück des heutigen Androiden ist die von Googles Entwickler Dan Bornstein entwickelte VM namens Dalvik [3]. Die Register-basierte virtuelle Maschine steht technisch im Gegensatz zu den sonst üblichen, Stack-basierten JVMs.
Neben der neuen Maschinenarchitektur spielte aber auch die restriktive Java-Lizenzpolitik von Sun eine Rolle, vor allem bei der virtuellen Maschine. Bei Android konvertiert ein spezielles Tool namens »dx« Java-Bytecode in Dalvik-Bytecode. Damit sind Bibliotheken und Entwicklungswerkzeuge der Java-Programmierer weiterhin verwendbar, aber die virtuelle Maschine ist frei von Lizenz-Einschränkungen. Google und dieOHA haben sie wie alle anderen Teile der Android-Plattform unter der Apache-2.0-Lizenz freigegeben (Abbildung 2).
Kein Google-Produkt
Die Android-Plattform ist deshalb entgegen der landläufigen Meinung kein alleiniges Google-Produkt. Natürlich statten viele Hersteller die Android-Geräte nach Lizenzvereinbarungen mit dem Suchmaschinengiganten auch standardmäßig mit Programmen wie Google-Mail oder -Maps aus, diese Anwendungen sind aber kein Bestandteil der Plattform. Es handelt sich dabei vielmehr um proprietäre Applikationen, deren alleinige Rechte bei Google liegen. Die Betriebssystembasis selbst ist vollständig Open Source.
Größter Pluspunkt von Android ist daher auch die Unabhängigkeit vom Hardwarehersteller. Das HTC Dream, auch als T-Mobile HTC G1 bekannt, war zwar das erste Handy mit Android, mittlerweile gibt es aber eine bereits unübersichtliche Anzahl von Geräten unterschiedlicher Hersteller. Gerade mit den neuesten Versionen 2.0 und 2.1 zeigt sich auch, wie gut Android skaliert, von kleinen Smartphones bis zu umfangreichen Web-Tablets. Zunehmend tauchen auch Geräte mit dem System auf, deren Hersteller nicht der OHA angehören. Trotz aller Kritik an Android und Befürchtungen um den Datenkraken Google hat das bisher keine andere Plattform geschafft.
Bada
Das koreanische Wort Bada bedeutet Ozean und ebenso weit sollen die Features von Bada reichen. Obwohl Samsung auch Mitglied der Open Handset Alliance und der Linux Mobile Foundation ist und obwohl die Koreaner auch Geräte mit Windows Mobile und Symbian anbieten, betrat vor Kurzem der nach Nokia zweitgrößte Hersteller von Smartphones mit Bada [4] auch in eigener Regie die Bühne der Smartphone-Plattformen.
Über den Neuling ist noch recht wenig bekannt, aber Samsung legt Wert darauf, eine “moderne” Benutzerschnittstelle zu bieten. Damit meinen die Koreaner vermutlich hauptsächlich die seit dem I-Phone zum Standard gewordenen visuellen und Multitouch-Effekte
Ein weiterer Schwerpunkt soll die einfache Vernetzung von Applikationen mit sozialen Netzwerken im Internet und untereinander sein, auch der Austausch der Daten zwischen ihnen soll vollständig funktionieren. Die Applikationsentwicklung findet komplett in C++ statt, auch Flash unterstützt der Ozean vollständig. Ein SDK – basierend auf einer GNU-Toolchain und mit Eclipse-Integration – können Entwickler über die Developer-Webseite [5] frei beziehen.
Bada selbst (Abbildung 3) scheint aber bis auf API-Ebene verschlossen zu sein. Die Plattform richtet sich folglich ausschließlich an Applikationsentwickler, was sie für Linuxer nur begrenzt attraktiv macht. Zudem legt Samsung Wert darauf, dass das zugrunde liegende Betriebssystem austauschbar ist, das heißt, es kann Linux sein, muss es aber nicht.

Abbildung 3: Noch recht unbekannt und nebulös: Erst Ende 2009 begründete Samsung die C++-basierte Bada-Architektur.
Welche freien Softwarekomponenten außer dem Kernel und der GNU-Toolchain zum Einsatz kommen, hat der Hersteller noch nicht spezifiziert. Das erste Gerät mit Bada, das S8500 Wave (Abbildung 4) mit Amoled- und Touchwiz-3.0-Technologie, ist erst Anfang Februar 2010 erschienen. Im mittlerweile unvermeidbaren Applikationsshop standen schon zum Start über 900 Applikationen für den Download zur Verfügung.

Abbildung 4: Mit einem 1 GHz schnellen Prozessor, 3,3 Zoll großem Amoled-Display, ultraflachem Design und „Social Hub“ kommt das Samsung S8500 mit Bada auf Linux.
Freesmartphone.org
Das Freesmartphone.org-Projekt (FSO, [6]), bekannt durch seine Wurzeln im Openmoko-Projekt oder dank des Freerunner-Handys, definierte wie alle anderen Konsortien ebenfalls zunächst einen Rahmen aus APIs und Methoden. Aber zum echten Meilenstein in der Open-Source-Entwicklung für Linux-Mobiltelefone macht FSO die Tatsache, dass es immer noch das einzige aktive Projekt dieser Art ist.
Leider leidet FSO seit Anbeginn unter einem Mangel an frei zugänglichen Geräten. Nur Devices, die es erlauben, frei auf alle Systemkomponenten zuzugreifen, taugen für die Entwicklung der freien Software. Das ist nach wie vor nur das Openmoko GTA02, das mittlerweile nur noch schwer zu beschaffen ist. Ein Nachfolger namens GTA03 war zwar schon länger angekündigt, wird aber wohl nicht mehr erscheinen.
Eine ganze Reihe von Milestone-Releases laufen recht zufriedenstellend auf dem GTA02 und dokumentieren den Fortschritt der Implementation (Abbildung 5) der Dbus-basierten APIs. Ein erheblicher Teil der ursprünglich rein in Python implementierten Funktionen ist jetzt in Vala umgesetzt. Trotzdem wächst bei Beobachtern die Befürchtung, das Projekt könne mangels freier Geräte in der Versenkung verschwinden.

Abbildung 6: Nokias N900 mit Maemo 5, ARM-CPU, Debian-Paketmanagement und Video-Out lassen Softwarehersteller links liegen.
Maemo
Dass auch Nokia früher oder später auf Basis von Linux und seinen Internet Tablets ein Smartphone auf den Markt bringen würde, war absehbar. Mit Maemo 5 [8] und dem N900 (Abbildung 6) war es so weit. Seit der ersten Vorstellung der Debian-Mini-Tablets der 700er Serie [9] vor knapp fünf Jahren haben die Finnen die Plattform kontinuierlich weiterentwickelt (Abbildung 7).
Intensiv bedient sich der Hersteller bei Open-Source-Technologien: X11 als Grafikserver, Glib und Dbus als objektorientiertes Programmiermodell mit integriertem IPC-Mechanismus. Das überwiegend verwendete GUI-Toolkit ist zwar nach wie vor GTK+, mittelfristig ersetzt dies aber Qt. Das überrascht wenig, hat Nokia im Januar 2008 doch den Hersteller von Qt, Trolltech, übernommen und strebt jetzt damit eine Vereinheitlichung aller Nokia-GUIs an.
Für die beim Endkunden so beliebten Effekte sorgt unter anderem das Open-Source-Toolkit Clutter von der britischen Firma Openedhand, die Intel im September 2008 geschluckt hat. Zwischen Nokia und dem Chip-Riesen finden noch weitere Kooperationen statt, wie das gemeinsame Applikations-Framework Ofono [10] oder die jüngste Meego-Initiative [11] belegen. Auch hier agieren die beiden Konzerne auf den ersten Blick vorbildlich: Auch Ofono unterliegt der GPLv2, bei Meego bleibt das abzuwarten.
Aber Maemo bleibt nach wie vor ein seltsames Zwischenwesen, weder Fisch noch Fleisch. Zwar sind das Grundsystem, die APIs und deren Implementation frei, doch anders als bei Android lässt sich ein vollständiges System aus den freien Komponenten nicht ohne erheblichen Zusatzaufwand herstellen.
Allein auf weiter Flur
Bezeichnenderweise hat sich bis heute auch noch kein weiterer Hersteller daran versucht, diese Komponenten aufzugreifen und damit ein eigenes Produkt auf Maemo-Basis zu schaffen. Das liegt sicher auch daran, dass es Nokia in den vergangenen fünf Jahren nicht gelungen ist, die Plattform so weit zu stabilisieren, dass sie auch kommerziell akzeptiert ist. Es gibt praktisch keine kommerziellen Maemo-Applikationen.
Dem freien Software-Entwickler mag das belanglos sein, es zeigt aber, dass in der Welt außerhalb der freien Software eine gehörige Portion Skepsis dieser Plattform gegenüber besteht. Dass Maemo nur von Nokia auf einem einzigen Gerät vertrieben wird, verschärft diese Bedenken. Mit jedem neuen Gerät seit dem Nokia 770 haben sich wichtige Teile der Plattform geändert, die Tablets wurden mit Erscheinen des Nachfolgers praktisch sofort obsolet, bis heute gibt es keine Zusage von Nokia über Plattformstabilität, Kompatibilität oder Verfügbarkeit.
Mit Maemo 5 hat sich wieder ein Bruch angekündigt, denn der Schwenk hin zu Qt ist beschlossene Sache. Das macht die Plattform, so charmant sie sein mag, unsicher. Maemo 5 ist schön anzuschauen, eine tolle Technologiestudie und fast ein Produkt, aber eben nur fast. Genau so fühlt sich Maemo 5 auf dem neuen Flaggschiff N900 an: Vollgestopft mit Technologie und Features, aber mit vielen offensichtlichen Tücken, die beim Benutzer Kopfschütteln auslösen [12].
Bei aller Schelte sollte aber nicht unerwähnt bleiben, dass Nokia im Rahmen von Maemo den bisher besten, geradezu vorbildlichen kommerziellen Umgang mit Open Source und den Open-Source-Communities pflegt. Hier sollten sich alle anderen ein Beispiel nehmen.
Limo
Für die Linux Mobile Foundation taten sich 2007 Motorola, NEC, Panasonic, Samsung, NTT Docomo und Vodafone zusammen, wobei Motorola (Abbildung 8) eine Vorreiterrolle einnahm. Für deren alte Linux-Plattform EZX war das Ende absehbar, ein Nachfolger musste her. Um einen erneuten Alleingang zu vermeiden (EZX hatte Millionen verschlungen), gründete Motorola mit den genannten Partnern die Linux Mobile Foundation (Limo, [13]). Auch deren Ziele blieben lange unklar, allerdings wuchs die Mitgliederliste stetig – heute sind es 53 und es ist praktisch jede Firma dabei, die in diesem Bereich etwas beizutragen hat, von Software über Chips bis zu Geräteherstellern und Operatoren.
Limo setzt auf bekannte Open-Source-Techologien [14] wie GTK+ (2.14), Dbus und Gconf und wohl bald auch auf X11 als Grafikserver (Abbildung 9). Limo hat außerdem eine Implementierung des Referenzsystems angekündigt, aber wie frei diese ausfallen wird, war leider nicht Bestandteil der Ankündigung. Mittlerweile existiert die zweite API-Spezifikation (R2), doch ist sie auf den Webseiten der Foundation nicht einsehbar, während die R1 noch frei herunterladbar war.

Abbildung 9: Bekannte Architektur: Das Limo-Projekt setzt auf vertraute Strukturen wie C++, GTK, SE Linux, Dbus und die Treiber des Linux-Kernels. Mit Bondi steht eine Erweiterung fürs Web im Raum.
Limo verweist stattdessen auf die für Anfang 2010 geplante Publikation der R3-Spezifikation. Die Hintergründe für dieses Hin und Her sind nicht klar, parallel zu den geheimen R2-APIs ist auch noch ein neues SDK für Web-2.0-orientierte Applikationsentwicklung erschienen, das Bondi-SDK [15].
Bondi ist ein Projekt der Open Mobile Terminal Platform Allianz (OMTP) mit dem Ziel, Webapplikationen konsistenten und sicheren Zugriff auf Gerätefunktionen wie Netzwerk und lokale Gerätedienste zu ermöglichen. Das Bondi-SDK ist ein Development-Kit für Applikationen innerhalb der Eclipse-Entwicklungsumgebung. Dies könnte eine Umorientierung von Limo weg von nativer hin zu Web-basierter Applikationsentwicklung andeuten, ähnlich wie Palms Web OS. Mittlerweile sind auch die ersten Geräte anderer Hersteller, die die Limo-Spezifikation implementieren, verfügbar. Es handelt sich dabei um Geräte von Samsung, die Vodafone offenbar exklusiv als 360 M1 und 360 H1 vertreibt.
Web OS
Palm hat lange Jahre vom Erfolg der klassischen Handheld-Geräte wie dem Palm V gelebt. Doch Palm OS, das Betriebssystem der PDAs und späterer Smartphones wie der Treo-Reihe, kam zunehmend in die Jahre. Außerdem gehört Palm OS gar nicht mehr Palm Inc. selbst, sondern wurde 2003 in Palm Source ausgegliedert und verkauft.
Davon abgesehen kann das betagte Palm OS nicht mit der vernetzten Entwicklung oder den grafisch anspruchsvollen Benutzerschnittstellen mithalten. Also entschied sich der Hersteller, alles von Grund auf neu zu beginnen, mit Linux als Basisbetriebssystem und einem neu entwickelten System namens Web OS ([16], Abbildung 10). Führen sollte das ein Entwicklungsingenieur, der leitend an der Entwicklung von Apples I-Pod beteiligt war: Jonathan J. Rubinstein [17].

Abbildung 10: Ein ARM Cortex A8 mit 600 MHz sowie ein Power-SGX-Grafics-Chip stecken im Palm Pre. Für dieses Jahr plant Palm C-++-Plugins und 3D.
Das neue System orientiert sich an der vernetzten Welt und stellt das Web in den Mittelpunkt. Applikationen unter Web OS sind praktisch Web-2.0-Anwendungen und bestehen aus HTML, Stylesheets und Javascript. Den Zugang der Anwendungen zum nativen System, etwa dem Dateisystem, einer SQLite-Datenbank, dem GPS oder dem Netzwerk, realisiert eine Javascript-Erweiterung.
Das Ganze (Abbildung 11) firmiert unter dem Namen Palm Mojo Framework. Dank echtem Multitasking laufen die Applikationen parallel, sie sind als so genannte Activity Cards dargestellt, zwischen denen der Benutzer mit Gesten beliebig hin und her wechselt.

Abbildung 11: Das Web im Mittelpunkt: Anwendungen auf Palms Web OS sind in Javascript und CSS verwirklicht, dahinter läuft Linux mit dem Ipkg-Paketmanager und vielen Standardtools.
Gerade Anwendungsentwickler spricht dieses System an, denn außer einem modernen Webbrowser und den passenden Stylesheets braucht er eigentlich nicht viel. Auf der Entwicklerseite zu Web OS stellt Palm ein komplettes SDK mit Emulator, DOM-Inspektor und Debug-Möglichkeiten kostenlos zum Download. Mit den im SDK enthaltenen Tools »novacomd« und »novaterm« bekommt auch der Linuxer per USB-Kabel eine Rootshell auf einem angeschlossenen Web-OS-Gerät (siehe Artikel “Endlich frei” in diesem Schwerpunkt).
Restriktive Policy
Der Wermutstropfen ist allerdings, dass Anwender und Programmierer offiziell nur Applikationen über den Palm-eigenen Application Store “Hot Apps” vertreiben und nachinstallieren dürfen. Da eine Rootshell einfach zu bekommen und das Basissystem ein normales Linux mit Ipkg-basierter Paketverwaltung ist, lässt sich diese Einschränkung aber schnell umgehen. Die Seiten von Precentral [18] erläutern, wie Anwender den alternativen Preware-Paketmanager installieren und Zugriff auf Hunderte alternativer Applikationen und Patches bekommen.
Ein lachendes und ein weinendes Auge
Lachen und strahlen darf der Open-Source-Fan: Linux hat ohne Zweifel den Durchbruch im Mobilbereich geschafft. Außer Apple gibt es keinen ernst zu nehmenden Smartphonehersteller oder Zulieferer mehr, der nicht zumindest laut über Linux nachdenkt. Das ist ein großer Erfolg, für Linux und Tausende Entwickler und Befürworter freier Software, denn ohne sie wäre diese Entwicklung und wären diese Produkte unmöglich.
Der Umgang so vieler kapitalschwerer und global agierender Unternehmen mit freier Software ist jedoch, vorsichtig ausgedrückt, miserabel. Es ist offenbar nach vor nicht in die Köpfe der Manager und Projektleiter vorgedrungen, dass sie durch den Einsatz von freier Software nicht nur Geld sparen, sondern auch eine moralische Verpflichtung eingehen. Die Freiwilligen, die diese kostenlosen Produkte ermöglichen, haben das Recht, auch bei der Weiterentwicklung mitzuwirken, wenn nicht sogar neue Projekte anzustoßen und Ideen einzubringen.
Nichts kapiert?
Stattdessen schließen die Hersteller die freien Software-Communities konsequent von der Entwicklung aus. Manche verdongeln Hardware mit digitalen Signaturen, andere machen Dokumentation nicht verfügbar. So ist es kein Wunder, dass Vorreiter der freien Software wie die Free Software Foundation mit Kritik reagieren und mit der Aktualisierung der GPLv3 zum Gegenschlag ausholen oder dass die Android-Treiber mangels Beteiligung aus dem Linux-Kernel fliegen. All das wäre leicht zu vermeiden.
Für Linux sind die aktuellen Mobil-Plattformen dennoch ein beachtlicher Fortschritt. Für die freie Softwarewelt ist allein dadurch aber noch nicht viel gewonnen. Doch wie das kleine gallische Dorf der Freesmartphone.org unverzagt beweist, ist der Kampf noch nicht ganz vorbei. Beharrlichkeit ist deshalb die Devise der Stunde. Die Ansätze der Konzerne mit Android über Bada, Limo und Maemo sind bei Weitem nicht perfekt, sie hätten aber auch deutlich schlimmer enden können. Aber auch in der Industrie setzt sich hoffentlich langsam die Erkenntnis durch, dass “frei” auf die Dauer gesehen besser ist. (mfe)
| Infos |
|---|
| [1] Open Handset Alliance: [http://www.openhandsetalliance.com]
[2] Android: [http://www.android.com] [3] Dalvik Virtual Machine: [http://en.wikipedia.org/wiki/Dalvik_virtual_machine] [4] Samsungs Bada: [http://www.bada.com] [5] Entwicklerplattform für Bada: [http://developer.bada.com] [6] Freesmartphone.org: [http://www.freesmartphone.org] [7] Downloads der FSO: [http://downloads.freesmartphone.org/fso-stable] [8] Maemo: [http://www.maemo.org] [9] Mirko Dölle, “Silbertablett”: Linux-Magazin 01/06, S. 58 [10] Ofono: [http://ofono.org] [11] Meego: [http://www.meego.com] [12] Heinz-M. Graesing, Markus Feilner, Oleksandr Shneyder, “Smarter than a phone: Nokias N900”: Linux-Magazin 02/10, S. 82 [13] Linux Mobile Foundation: [http://www.limofoundation.org] [14] Limo-Software: [http://opensource.limofoundation.org] [15] Bondi-SDK: [http://bondisdk.limofoundation.org] [16] Palms Entwicklerseiten: [http://developer.palm.com] [17] Jon Rubinstein: [http://en.wikipedia.org/wiki/Jon_Rubinstein] [18] Precentral: [http://www.precentral.net/how-to-install-homebrew-apps] |
| Der Autor |
|---|
| Nils Faerber ist seit 1998 freier Autor für das Linux-Magazin mit den Schwerpunktthemen Embedded und Mobile Linux, die er auch bei der Firma Kernel-Concepts bearbeitet. Er ist Gründer des GPE-Projekts, einer freien Softwaresuite für Linux-basierte PDAs, Mitgründer der GPE-Phone-Edition und war drei Jahre lang Expertenmitglied des Linux Phones Standards Forum (LiPS). |









