Ende 2011 hat Nokia mit dem N9 das letzte Smartphone herausgebracht, das noch mit freier Software lief und vom Betriebssystem her einem Desktop-Computer glich. Seither gibt es nur mehr mehr oder weniger geschlossene Systeme mit mehr oder weniger kastrierten Mini-Betriebssystemen. Android dominiert den Markt mit 75% (!), iOS liegt weit abgeschlagen bei rund 14%. Symbian, Blackberry und Windows Phone haben mit jeweils 2%-4% die Wahrnehmungsschwelle unterschritten. (Siehe Google hängt Apple bei Smartphones ab

Schlechte Zeiten also für freie Software am Smartphone? Schlechte Zeiten für den Traum von einem Computer in der Hosentasche, wie z.B. das legendäre Nokia N900 einer war? Lange Zeit sah es danach aus. Jetzt aber stehen - doch einigermaßen überraschend - gleich vier Systeme in den Startlöchern, die die Lücke schließen könnten: Firefox OS, Jollas Sailfish, Ubuntu for Phones und Tizen. Dazwischen steh ich, eher hilflos, und weiß im Moment nicht so recht, auf welches Pferd ich setzen soll. Also versuche ich mal, die Fakten zusammenzutragen und ein bißchen zu analysieren.

tl;dr

So wie's aussieht teilen sich die Systeme in zwei Gruppen: Sailfish und Ubuntu for Phones entsprechen am ehesten noch dem von mir favorisierten Ideal des Smartphones als vollwertiger Mini-Computer. Firefox OS und Tizen sind zu sehr auf HTML-WebApps beschränkt. Bei Tizen ist das eine künstliche und vielleicht nur vorübergehende Einschränkung, bei Firefox OS unveränderlicher Teil des Konzepts.

Sailfish und Ubuntu for Phones haben nach den vorliegenden ersten Infos so viel gemeinsam, daß wahrscheinlich sogar die Software gegenseitig kompatibel sein wird. Der Unterschied aus meiner Sicht ist ein emotionaler und hat mit Vertrauen zu tun: Ubuntu-Hersteller Canonical hat in der Vergangenheit bewiesen, daß man es mit der Freiheit des Konsumenten nicht immer ganz so ernst nimmt. Die Firma hinter Sailfish, Jolla, ist diesbezüglich ein unbeschriebenes Blatt, bringt aber in ersten Präsentationen ihre Begeisterung für offene Systeme deutlich glaubwürdiger rüber als Mark Shuttleworth.

Heißt unterm Strich: Ich freu mich auf Jolla, geb’ Ubuntu eine faire Chance und behandle Tizen und Firefox OS zunächst mal mit vorsichtiger Zurückhaltung.

Tizen

Tizen wurde Ende September 2011 als unmittelbarer Nachfolger von MeeGo präsentiert, nachdem Nokia sich aus dem Projekt zurückgezogen hatte. Intel hatte in Samsung einen neuen Partner aus der Mobilbranche gefunden. Obwohl ein SDK und ein Entwicklergerät vorgestellt wurden, blieb es so ruhig um das System, daß ihm kaum noch jemand eine Zukunft gab. Presseberichten zufolge bringt Samsung aber 2013 doch Geräte mit Tizen auf den Markt. Sogar HTC, Asus und Acer sollen jetzt an Tizen-Hardware basteln. Gefällt mir das?

Tizen baut in weiten Teilen auf Komponenten auf, die aus der GNU/Linux Desktop-Welt bekannt sind. Der Überblick über die auf Tizen.org gepflegten Projekte listet viele alte Bekannte auf: Alsa, DBus, udev, GStreamer, CUPS, Busybox, … auch wenn nicht alles davon auf einem Telefon landen wird, Tizen ist ein Desktop-System. (Im Gegensatz z.B. zu Android, das zu oft eigene Wege geht.)

Alles in Ordnung also? Nicht wirklich. Nach den bisher vorliegenden Informationen sollen Applikationen für Tizen-Smartphones als HTML-WebApps programmiert werden. In der Dokumentation für Entwickler fehlt jeder Hinweis auf native Programme. Ursprünglich war angekündigt, daß Entwickler zumindest mit der Enlightenment Foundation Library (EFL) native Programme für Tizen-Handys schreiben können. Technisch funktioniert das zwar mit einigen Tricks, dokumentiert oder offiziell unterstützt ist dieser Weg aber (derzeit?) nicht. Zwar sind in HTML geschriebene Programme heute deutlich leistungsfähiger als 2007, als Steve Jobs mit dieser Idee am iPhone scheiterte. Trotzdem: Es fehlt an standardisierten Schnittstellen zum Betriebssystem, zur Hardware. Sowohl das W3C als auch Tizen (und Mozilla, siehe weiter unten) arbeiten an der Lösung dieses Problems. Noch liegt das Ziel aber in einiger Ferne. Ich persönlich zweifle auch daran, daß eine in HTML zusammengescriptete Anwendung eine effiziente Methode ist, die begrenzten Ressourcen eines Mobiltelefons zu nutzen.

Was mich persönlich aber am meisten irritiert ist die Arbeitsweise von Tizen. Man riecht förmlich die Konzerninteressen der Riesen Intel, Samsung und der neu ins Spiel kommenden Carrier. Entwickelt wird ohne große Community-Beteiligung, hin und wieder präsentiert man neuen Code … das erinnert stark an Google und Android. Ich mag es auch dort nicht.

Sailfish (Jolla)

Jolla hat sein Sailfish OS erst anhand einiger Videos vorgestellt. Man weiß darüber noch weniger als über Tizen. Fest steht: Jolla basiert auf Mer, das ebenfalls eine Fortführung von Maemo/MeeGo ist. Im Gegensatz zu Tizen wird Mer aber offen von einer interessierten Community entwickelt. (Eine Liste der gepflegten Pakete gibts hier. Sie ist doch etwas kürzer als die von Tizen.) Auch für Sailfish gilt also: Es handelt sich um ein Desktop-ähnliches Betriebssystem.

Der größte Unterschied zu Tizen ist: Sailfish kann mit HTML-WebApps umgehen, ist aber nicht darauf beschränkt. Die Entwickler werden dazu angehalten, in erster Linie nativen Code unter Verwendung von Qt/QML zu schreiben. Das öffnet die Tür in die Welt der bereits existierenden Programme für Maemo, Symbian und MeeGo. Auch die wurden bzw. werden mit Qt/QML geschrieben und sind daher mit wenig Aufwand auf Sailfish zu portieren. Apropos Kompatibilität: Sailfish kann mithilfe eines Emulators auch einen Großteil existierender Android-Programme nutzen. Klingt praktisch.

Wo Tizen zur Gänze auf eigene Entwicklung (oft hinter verschlossenen Türen) setzt, bedient sich Sailfish der offenen Mer-Plattform. Das macht die Sache einerseits billiger für Jolla, andererseits sympathischer für mich. Mer wird nicht von den Interessen der Börse beherrscht. Dort wird entwickelt, was gut ist, nicht was ein „Ökosystem“ stärkt. So soll freie Software sein.

Firefox OS

Obwohl Firefox OS ebenfalls bereits 2011 präsentiert wurde, ist es für mich das am wenigsten verständliche der vier Betriebssysteme. Fest steht: Ziel des Projekts ist ein Mini-Betriebssystem, das gerade ausreicht, um den hinter Firefox stehenden Gecko-Code auszuführen. Innerhalb dieser (de-facto) Browserumgebung laufen dann das User Interface und die Programme, letztere natürlich ausschließlich als HTML-WebApps, wie bei Tizen.

Nicht nachvollziehbar ist für mich im Moment, was „unterhalb“ der Browser-Engine noch alles dazugehört. Ein Linux Kernel, die libusb, Bluez … offenbar gerade genug, um die Hardware anzusteuern. Eine komplette Paketliste so wie für Tizen oder Mer habe ich nicht gefunden. Jedenfalls scheint das Ziel des Projekts nicht so ganz mit meinen Erwartungen an ein Smartphone-Betriebssystem kompatibel. Firefox OS will (so wie Googles Chrome OS) zeigen, was mit moderner Web-Technologie alles machbar ist und daß man praktisch ein gesamtes Betriebssystem darauf aufbauen kann. Ich hingegen will ein klassisches, möglichst ressourceneffizientes Betriebssystem, auf dem die gleichen Komponenten und Programme laufen, die ich vom Laptop und vom Desktop-PC her kenne.

Ubuntu for Phones

Ubuntu for Phones ist der doch etwas überraschende neue Teilnehmer in diesem Spiel. Jeder wußte, daß Mark Shuttleworth sein Desktop-System auch auf andere Geräte, darunter Smartphones, portieren will. Daß Ubuntu for Phones aber schon jetzt präsentiert wurde, kam doch eher unerwartet.

Harte Fakten gibt es noch wenige. Alle vermuten, daß es sich um eine nur im User Interface angepaßte Variante des Desktop-Betriebssystems handelt. Das wäre wirtschaftlich vernünftig, sonst müßte Canonical zwei getrennte Betriebssysteme pflegen. Außerdem wärs ganz in meinem Sinn: das Desktop-OS in der Hosentasche.

Den Entwicklern präsentiert sich Ubuntu ähnlich wie Sailfish: HTML-WebApps (die übrigens heute schon am Ubuntu Desktop unterstützt werden) sollen ebenso laufen wie native Programme in Qt/QML. (Letzteres ist bemerkenswert, kommt Ubuntu doch eher aus der GTK-Ecke.)

Keine Beschwerden von mir also über Ubuntu for Phones? Ich bin mir noch nicht sicher. Mark Shuttleworth findet immer Mittel und Wege, mich zu vergraulen. Zuletzt hat er das mit der Cloud-Lösung Ubuntu One geschafft, die unterm Strich genauso geschlossen ist wie die entsprechenden Services von Microsoft oder Google. Ein ganz wesentlicher Punkt bei Ubuntu for Phones wird genau diese Cloud-Integration, aber auch die Möglichkeit, das Handy mit dem Desktop zu verheiraten. Es muß sich erst zeigen, ob die Lösungen dabei wirklich offen sind oder ob, wie bei Canonical leider üblich, wieder alle etablierten Standards zugunsten proprietärer Protokolle ignoriert werden. Ich brauch keine freie Software, wenn der Hersteller mir die freie Benutzung verweigert. Mal sehen also, was da so alles wird.

Weitere Faktoren

Ich hab in den Abschnitten oben jeweils die Fakten über die „Desktop-Ähnlichkeit“ und über die offiziell unterstützten Entwicklungs-Frameworks zusammengefaßt. Andere Faktoren sind mir ebenfalls wichtig. Dazu hab ich aber zu wenig Daten. Ich würde mich freuen, wenn mir jemand im Lauf der kommenden Monate Quellen dazu im Netz nennen könnte:

Freiheit: Welche Lizenzen finden Verwendung? Wie groß ist der Anteil des Systems, der unter einer freien Lizenz, vielleicht sogar einer Copyleft-Lizenz steht? Zumindest im „Unterbau“ sehe ich hier wenig Unterschiede. Es sind kaum Eigenentwicklungen dabei (bei Ubuntu ist das noch nicht 100%ig belegt, aber wahrscheinlich), die verwendeten Komponenten sind zumindest frei genug, daß ich sie ohne moralische Probleme am Desktop einsetze. Spannend wird natürlich die Lizenzierung des User Interface, vor allem bei Jolla, Tizen und Ubuntu. Darüber weiß ich aber noch nichts.

Programmiersprachen: Neben den vom Hersteller offiziell unterstützten Programmiersprachen ist es oft möglich, weitere zu nutzen (Java, Python, C#, …). Ob das geht und wie benutzerfreundlich die Installation eines in einer solchen Sprache geschriebenen Programms für den Konsumenten abläuft, ist mir noch für keines der Systeme klar. (Thomas Perl gibt hier in seiner Mobile Matrix zumindest für Tizen an: Nichts geht mehr. Nur HTML.)

Offener Zugriff: Wie viel Kontrolle habe ich über das Gerät? Ist es möglich oder sogar vorgesehen, vollen Root-Zugriff zu erlangen? Schirmen „Sicherheitsmaßnahmen“ wie Aegis am N9 bestimmte Systemfunktionen ab? Auch hier habe ich für kein System eine Antwort.

Offene Standards: Unterstützt das System von sich aus verschiedene offene Standards (z.B. für PIM-Synchronisation, Daten-Backup, Chat, VoIP)? Oder zwingt es den Konsumenten zur Nutzung eines bestimmten Services, wie Android oder Windows Phone das tun? Diese Frage wird vor allem bei Ubuntu spannend.

Freie Software-Installation: Läßt das Betriebssystem die Installation jeder Software aus jeder Quelle zu? Oder ist es künstlich beschränkt auf einen kontrollierten Store?

Vor allem die Sache mit den offenen Standards wird bei der praktischen Benutzung eine große Rolle spielen. Aus Erfahrung weiß ich: Sobald ein Hersteller hier patzt, ist die Benutzung selbst banaler Grundfunktionen nicht mehr möglich.