aboutsummaryrefslogtreecommitdiff
path: root/articles/2012-04-07_mobile_endgeraete_und_freie_software.md
blob: 178d31c760923fd7d6bc1dd05a535dbe7b9ae4c9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
# Mobile Endgeräte und freie Software

Wenn man an Smartphones und mobile Endgeräte im Allgemeinen denkt fallen einem wohl zuerst Begriffe wie iPhone, iPad und Android ein. Mit diesen Geräten lassen sich tolle Sachen anstellen - ich kann "Apps" installieren, dazu beitragen die 200000 Jahre, die die Menschheit mit Angry Birds [verbracht](http://www.rovio.com/en/news/blog/95/angry-birds-smashes-half-a-billion-downloads/) hat, weiter zu erhöhen und mein Adressbuch unverschlüsselt per "WhatsApp" [veräußern](http://blog.posativ.org/2011/wieviel-sind-meine-telefonnummern-wert-9-cent/).
Doch was ist wenn man mehr oder anderes machen will, wenn man ein Gerät für mehr nutzen will als für das was die Hersteller erlauben? Wenn ich mit der Hardware, für die ich Geld bezahlt habe, die mir gehört, auch machen können kann was ich will?

In diesem Blog-Artikel möchte ich einen Überblick über die verschiedenen Hardware-Plattformen, offene Betriebsysteme und geeignete Nutzeroberflächen bieten.
Als offen bezeichne ich Geräte die es mir ermöglichen einen eigenen Linux-Kernel auszuführen und deren Hardware entsprechend gut unterstützt wird.

An Hardware gibt es theoretisch eine sehr große Auswahl. Eine große Mehrheit der Smartphones und Tablets setzt auf ARM Prozessoren und auf diesen läuft meist auch ein Linux Kernel. Ausgenommen ist hier üblicherweise Apple, da hier von Apple selbst angepasste ARM Designs verwendet werden, für die eine Linux-Portierung aufgrund von schlichtem Nichtvorhandenseins von Dokumentation oft nicht möglich ist.  
Geräte die auf Android als Betriebssystem setzen bieten natürlich prinzipiell erst einmal alle die Möglichkeit auch ein offenes Linux einzusetzen - Problem ist hier der Hang vieler Hersteller zum Sperren der Bootloader und Blockieren von unsigniertem Code. Ein Smartphone das ich erst "Jail-Breaken" muss um vollen Zugriff zu erlangen ist für mich nicht das Wahre. Hinzu kommt, dass die einzigen sinnvoll einsetzbaren Betriebsystem-Alternativen wieder nur Android-Derivate sind die mich alleinschon durch das fehlen eines X-Servers, der Abstinenz der GNU Core-Tools und einer entsprechenden nativen Konsole zu sehr einschränken. Android läuft zwar auf einem Linux-Kernel, aber das ist auch schon alles - der Rest des Betriebsystems findet in der Dalvik VM hinter zig Abstraktionsschichten statt. Es ist Android/Linux und nicht GNU/Linux. Man stelle sich nur vor was sich mit den mittlerweile in vielen Android-Geräten verbauten Mehrkernprozessoren mit >= 1 Ghz Rechenleistung in einer schlankeren Umgebung machen ließe...

Glücklicherweise sind wir nicht ganz auf Android-ausführende Hardware beschränkt. Das Mobiltelefon meiner Wahl ist seit etwa 2 Jahren beispielsweise das [N900](http://en.wikipedia.org/wiki/Nokia_N900), das aus meiner Sicht wirklich als **das** offene Gerät auf dem Markt angesehen werden kann. Ich könnte hier jetzt seitenweise Punkte aufzählen was alles mit dem N900 möglich ist aber es geht auch kurz:

<a href="http://imgur.com/a/JeEIK"><img src="http://i.imgur.com/7G9g9.png" alt="" title="N900 apt-get" width="600px" class="full"/></a>

Mit dem N900 lässt sich, ohne das man durch herstellerseitige Einschränkungen belästigt wird, alles machen was mit einem normalen Linux-Rechner geht. Die einzige mir bekannte Einschränkung ist: Teile der Hardware wie z.B. die Grafikkarte erfordern (noch) unfreie, geschlossene Treiber.

Ein Punkt den man als Nachteil des N900 betrachtet kann, ist die nicht mehr ganz aktuelle Hardware, so sind beispielsweise nur 256 MB RAM verbaut. Andererseits: Für Geräte in dieser Liga hat sich der Markt seit 2009 nicht wirklich verändert.

Aktuellere Komponenten bietet das Nachfolgemodell N950, dass jedoch leider nie einem größeren Personenkreis außerhalb einiger ausgewählten Entwickler zugänglich wurde. Der aktuelle N900 Nachfolger ist das [N9](http://swipe.nokia.com) welches zwar eine sehr endnutzerfreundliche Oberfläche bietet, jedoch auf eine Hardwaretastatur verzichtet und Softwareseitig zumindest ab Werk nicht mehr ganz so offen ist wie das N900 - dies lässt sich aber mittlerweile sehr bequem [lösen](https://endno.de/~itsnotabigtruck/inception/). Das N9 wird gleichzeitig leider auch das letzte Linux basierte Smartphone aus dem Hause Nokia sein, hatte Nokia doch vergangenes Jahr mit dem neuen CEO Steven Elop alle Pläne für MeeGo (Nachfolge für die in den Nokia Internet-Tablets, dem N900, N950 und N9 eingesetzte Distribution "Maemo") zusammen mit entsprechender Hardware eingestampft und durch Windows Phone ersetzt. Währe das nicht geschehen hätten wir mittlerweile vermutlich mehrere Smartphones in der selben Liga wie das N900 - nicht ohne Grund wird in [einschlägigen Kreisen](http://talk.maemo.org) von der "Elopcalypse" gesprochen.  
Gerüchteweise existiert zwar noch [Meltemi](http://en.wikipedia.org/wiki/Meltemi_(operating_system)), jedoch soll dies nur auf Nokias Low-End Geräten zum Einsatz kommen und das wäre... naja, nicht wirklich toll.

Im Tablet Bereich gibt es seit kurzem das [Vivaldi-Tablet](http://makeplaylive.com/) welches vom KDE-Mitentwickler Aaron Seigo initiert wurde und wohl demnächst ausgeliefert werden kann. Beim Vivaldi handelt es sich um ein 7 Zoll Tablet mit einem ARM Cortex A9 @1GHz, 512 MB RAM und noch [einigem mehr](http://makeplaylive.com/). Es ist jedoch nicht unbedingt die Hardware die für dieses Gerät spricht, sondern die sehr offen gehaltene Software. Als Linux-Distribution wird hier [MER](http://merproject.org/) zusammen mit der mobilen KDE-Oberfläche [Plasma-Active](http://plasma-active.org/) eingesetzt.

Eine weitere [Geräte-Familie](http://en.wikipedia.org/wiki/Palm_Pre) auf die ich vor einigen Monaten beim vorausschauenden Stöbern nach möglichen N900-Nachfolgern stieß sind die Palm / HP WebOS Smartphones und Tablets. Auch wenn [WebOS](https://developer.palm.com/) bezogen auf Offenheit nicht ganz an die Maemo-Plattform heranzureichen schien, so ist es doch immernoch um Welten ansprechender als iOS, Windows Phone und Android Geräte... Tags nach meiner Entdeckung wurde WebOS bzw. die dafür nötige Hardware von HP eingestampft. Geschichte wiederholt sich.  
Mittlerweile hat man dort wenigstens den damaligen Vorsitzenden Léo Apotheker ersetzt und doch nicht als weltgrößter PC-Hersteller beschlossen das PC-Geschäft abzustoßen und voll auf Software zu setzen - aus neuer WebOS-Hardware wird aber wohl trozdem nichts. Immerhin wird WebOS nun Schritt für Schritt in ein [Open-Source-Projekt](https://developer.palm.com/) umgewandelt was ich sehr begrüße, aber so lange es sich nicht auf andere Geräte portieren lässt, bzw. Kandidaten für solche Geräte garnicht vorhanden sind, bringt das leider nur beschränkt etwas.

Für die jenigen die sich ein von der Hardware bis zur kompletten Software freies Mobiltelefon wünschen gibt es den [OpenMoko Freerunner](http://www.openmoko.com/freerunner.html) den ich hier zwar erwähnen will, jedoch mangels Erfahrung nicht näher erläutern kann.

Aber Hardware ist nicht alles - um nun auf Software-Plattformen zu sprechen zu kommen:  Gehen wir davon aus wir hätten ein offenes Smartphone oder Tablet für das der Hersteller einen funktionierenden Linux-Kernel zu Verfügung gestellt hat (wie es aufgrund der GPL ja eigentlich alle tun müssten...), welche Möglichkeiten bezogen auf Distributionen und grafische Oberflächen böten sich dann?

Das Hauptproblem für den Einsatz von normalen Linux-Distributionen auf mobilen Endgeräten ist nicht, diese zum Laufen zu bringen - so existieren Portierungen von beispielsweise Debian meinem Eindruck nach für erstaunlich viele Geräte. Das Problem ist die Unterstützung der für ein Smartphone existenziellen Kompontenten wie dem UMTS Modem und den verschiedenen Sensoren. Daneben benötigt man auch eine fingerfreundliche Oberfläche für die alltägliche Verwendung.

Am besten geeignet ist zur Zeit wohl der [MeeGo](https://meego.com/) Ableger [MER](http://merproject.org/) bzw. das wiederum darauf basierende [NEMO](http://wiki.merproject.org/wiki/Nemo). Was aus [Tizen](https://www.tizen.org/), dem Nachfolgeprojekt von MeeGo wird lässt sich noch nicht abschätzen.

Mit Interesse verfolge ich zur Zeit auch die Entwicklungen um Mozillas [Boot to Gecko](http://hacks.mozilla.org/2012/02/mozillas-boot-to-gecko-the-web-is-the-platform/). B2G verspricht es eine offene Plattform auf Basis eines Linux-Kernels zu bieten - die gesamte Oberfläche und alle Applikationen sollen dabei in der Gecko-Engine laufen und somit komplett in Java-Script, CSS und HTML implementiert sein. Inwieweit sich hier jedoch überhaupt noch gewöhnliche Anwendungen ausführen lassen ist fraglich. Zumindest könnten wir mit Boot to Gecko jedoch Geräte mit einem offenen System bekommen auf dessen Basis sich dann andere Dinge implementieren lassen.

Auch Ubuntu bereitet sich gerade für den Einsatz auf Tablets und [Smartphones vor](http://www.ubuntu.com/devices/android). So soll augenscheinlich ein komplettes Ubuntu-System in Android verfügbar gemacht und über Docking-Stationen auf größeren Displays ausgegeben werden - der PC in der Tasche quasi. Wenn sich hier jegliche mit der ARM-Plattform und Ubuntu kompatible Programme nutzen ließen, uns also ein vollwertiges Linux zu Verfügung stünde, wäre das schon ein großer Schritt vorwärts.

Gehen wir nun davon aus wir hätten eine geeignete Plattform für unser Wunsch-Gerät gefunden - welche grafischen Oberflächen sind dann für den mobilen Einsatz geeignet?

Hier fallen mir [Hildon](http://live.gnome.org/Hildon), [Plasma-Active](http://plasma-active.org/), das [MeeGo Handset UX](http://meego.gitorious.org/meego-handset-ux) und unter Umständen auch [Gnome 3](http://www.gnome.org/gnome-3/) ein.

[Hildon](http://live.gnome.org/Hildon) ist die etwas ältere, mobile Variante des Gnome-Desktops und wird beispielsweise in [Maemo](http://maemo.org) und somit auch dem N900 eingesetzt. Sie verwendet, wie es meiner Meinung nach auch wünschenswert ist, einen normalen X-Server und bleibt ziemlich nah an der Umgebung und den Frameworks wie man es vom Desktop gewohnt ist. Multitasking ist aus meiner Sicht bei dieser Oberfläche ein Traum.

Interessant ist auf jeden Fall auch [Plasma-Active](http://plasma-active.org/), die mobile Variante des KDE Plasma-Desktops. Sie wird z.B. im neuen Vivaldi-Tablet verwendet, lässt sich jedoch natürlich auch auf jedem Desktop-Rechner testen.

Weiterhin gibt es das u.a. in [NEMO](http://wiki.merproject.org/wiki/Nemo) verwendete [MeeGo Handset UX](http://meego.gitorious.org/meego-handset-ux) welches eine gute Oberfläche für Smartphones darstellt.

[Gnome 3](http://www.gnome.org/gnome-3/) sieht nach einer für Tablets gut geeigneten Oberfläche aus und fühlt sich nach meinen Tests auch sehr danach an. Für Smartphones ist die aktuelle Gnome Iteration jedoch aus meiner Sicht momentan nicht geeignet da dort schlichtweg zu wenig Bildschirmfläche vorhanden ist.

### Ausblick

Zusammenfassend lässt sich sagen, dass das Hauptproblem momentan nicht fehlende Software sondern fehlende Hardware-Plattformen sind. Es gibt keinen Hersteller der sich zumindest mit einer kleinen Produktreihe voll zu Open Source und Linux bekennt. Die zwei empfehlenswertesten Optionen sind aus meiner Sicht entweder das N900 oder dessen Nachfolger N9 - der Rest des Marktes hat sich weitgehend auf iOS und Android Geräte beschränkt, es fehlt an wirklichen Alternativen zu diesen beiden. Das ein Markt für eine solche Alternative vorhanden ist lässt sich allein schon daran erkennen wie gefragt das Nokia N9 in Ländern ist für die Nokia es garnicht anbieten will - vermutlich um Windows Phone nicht zu gefährden. Es gibt dann schon eine gewisse Genugtung wenn gerüchteweise mehr N9 Exemplare als Lumina's (gleiches Gehäuse, Windows Phone) verkauft werden ;)

In Zukunft wird man wohl darauf hoffen müssen, dass sich Android Geräte zweckentfremden und mit anderer Software ausrüsten lassen. Hoffnung dafür geben Projekte wie Boot To Gecko, dessen aktuelle Testversion auf das Galaxy S2 von Samsung abzielt. Wenn dies auch bei späteren Versionen noch der Fall ist, könnte sich eine Plattform entwickeln die grundlegende Funktionen eines Smartphones abdeckt und gleichzeitig noch offen für Erweiterungen (GNU Toolchain, X11 etc.) ist.

Vielleicht wird es aber auch einfach Zeit für ein in der Gemeinschaft entwickeltes Smartphone mit aktueller Hardware und passender Software - ein Erfolg des [Vivaldi-Tablets](http://makeplaylive.com/) würde dem sicher nicht schaden.