staging.inyokaproject.org

Android - ein freies Linux-System für Mobilgeräte?

allgemein.png

Der Mobilgeräte-Markt ist einer der am stärksten wachsenden IT-Märkte: Im ersten Quartal 2012 wurden etwa so viele PCs/Notebooks wie Smartphones/Tablets mit Android verkauft. Android wird in weiten Kreisen für Offenheit, Freiheit und die Änderungsmöglichkeiten gelobt. Auch die Bekanntheit von Linux ist durch Android gestiegen. Doch wie sieht es mit der Freiheit von Android tatsächlich aus? Und ist Android überhaupt würdig ein Linux-System genannt zu werden?

Award:

Dieser Artikel ist der zweite Platz des Ikhaya-Artikelwettbewerbs „Lesen ist silber, schreiben ist Gold“. Die Auszeichnung wurde an la-r-ma überreicht.

Um diese Fragen zu klären, muss man sich zunächst einmal fragen: Was ist Android? Jeder Hersteller und jedes Smartphone wird mit einer angepassten Android-Version ausgestattet. Die Unterschiede reichen von Treibern bis hin zu vollständig verschiedenen Oberflächen. Einige Android-Systeme (wie zum Beispiel das auf den Amazon Kindle Fire) dürfen gar nicht Android genannt werden, da Google Inhaber der Marke ist. Doch sind diese dennoch Android-Systeme? Wer es sich einfach macht, nimmt das als Android, was frei zugänglich ist und als Basis für alle anderen Android-Systeme dient: das „Android Open Source Project“ (AOSP).

AOSP wird in unregelmäßigen Abständen von der Open Handset Alliance (OHA) - einer Vereinigung von Google und verschiedener Hardwarehersteller - veröffentlicht. Der Sourcecode steht unter Apache License 2.0 und ist somit frei. Dazu stellt die OHA einen leicht angepassten Linux-Kernel bereit. Dieser ist theoretisch lauffähig, ihm fehlen aber die für Smartphones benötigten Treiber (etwa GPU und Touchscreen). Dennoch lässt sich damit ein vollwertiges Android-System erzeugen, das in QEMU startet (dies ist auch eine der Testmöglichkeiten für Android-Entwickler).

Einige Smartphones - etwa die Google-Nexus-Reihe - werden mit einer fast unveränderten Form von AOSP vertrieben. Doch eigentlich alle Systeme werden mit einigen teilweise tiefgreifenden, proprietären Veränderungen ausgestattet, den Google Apps. Google Account-Verwaltung, Maps API, Play Store, ... sind quasi Grundvoraussetzung, um als Android-System zu gelten - zumindest wenn es nach Google geht. Mitglieder der OHA dürfen auf ihren Android-Geräten die Google Apps mitzuliefern. Diese stellen neben einigen durchaus praktischen Funktionen allerdings auch Google-typische „Nach-Hause-Telefonier“-Funktionen bereit. So baut ein mit Google Apps erweitertes Android-Smartphone bei jeder Verbindungsänderung (etwa aktivieren des WLANs) eine Verbindung mit Google's Server auf - auch wenn keinerlei Synchronisationsoptionen aktiviert sind.

Das CyanogenMod-Projekt stellt jedoch für viele Geräte eine angepasste AOSP-Version ohne Google Apps bereit. Wer also die Google-Anwendungen nicht nutzt, kann sich so ein wenig Privatsphäre zurückerobern. Einige Funktionen der Google Apps können auf CyanogenMod durch Community-Projekte wie F-Droid und NOGAPPS nachgerüstet werden.

Doch die Free Software Foundation Europe (FSFE) geht weiter. Sie sind der Meinung das selbst CyanogenMod noch nicht frei genug ist: Es enthält unfreie Treiber (was häufig daran liegt, dass es keine Freien gibt). Die FSFE empfiehlt deshalb das Replicant-Projekt. Dieses ist nur für einige wenige Geräte verfügbar, verspricht aber, ein vollständig freies System zu sein. Bei aller Liebe um freie Software muss jedoch irgendwo eine Grenze gezogen werden: Replicant OS basiert immer noch auf Android 2.3, dass vor fast 2 Jahren erschienen ist und für das dutzende Sicherheitslücken bekannt sind. Einige davon wurden zwar in Replicant behoben, andere (auch Local-Root-Exploits) sind jedoch weiterhin verfügbar. Hier sollte man zugunsten von Datenschutz wieder ein Stück auf „Freiheit“ verzichten.

Die selbst ernannten Freiheitsexperten der GNU Foundation zögern auch nicht, darauf hinzuweisen, dass Android, da es nicht unter GNU General Public License(GPL) veröffentlicht wurde, weniger frei ist. Sie begründen dies mit der Version 3 von Android, die lange von Google zurückgehalten wurde. Dies ist in zweierlei Sicht so nicht korrekt. Zunächst sei gesagt, dass nicht Google Android Honeycomb zurückgehalten hat, sondern die OHA. Das mag ein wenig kleinlich klingen, ist aber in Bezug auf den zweiten Punkt wichtig: Auch die GPL hätte die OHA nicht zu einer Veröffentlichung gezwungen, da sämtlicher Code von Android von einem Unternehmen der OHA geschrieben wurde und somit das Urheberrecht bei diesen Unternehmen liegt. Eine Umlizenzierung ist somit jederzeit möglich - und somit auch das Zurückhalten von Quellcode. Die GNU Foundation kommt zu dem Schluss, dass Android die Freiheit der Nutzer nicht ausreichend respektiert. Das Urteil der GNU Foundation ist natürlich nicht für uns alle bindend: Jedem bleibt selbst überlassen ob ein System, das abgesehen von seinen Treibern komplett Open-Source ist, die eigene Freiheit einschränkt - sonst würden wir ja auch kein Ubuntu nutzen, das nach Ansicht der GNU Foundation auch kein freies System ist.

Die GNU-Foundation geht bei Android sogar noch weiter: Sie zweifeln sogar an, dass Android ein Linux-System ist, da es das GNU-System nicht enthält. Android benutzt stattdessen POSIX-kompatible Bibliotheken und Tools, die auf FreeBSD basieren. Und da GNU natürlich Teil jedes GNU/Linux-Systems ist, ist ein System ohne GNU auch kein Linux-System.

Abschließend sei hier noch einmal auf die FreeYourAndroid-Initiative der FSFE hingewiesen. Hier sind einige sinnvolle Tipps und Links zusammengefasst, um ein weitgehend freies Android zu erhalten. Aber ein freies Linux-System kann Android wohl nicht werden - zumindest nicht nach der Vorstellung der GNU-Foundation.


Vielen Dank an la-r-ma für den eingereichten Artikel.

Veröffentlicht von svij | 23. Oktober 2012 11:00 | Kategorie: Allgemeine Nachrichten | # Fehler im Artikel melden

DonKrawallo

Avatar von DonKrawallo
1 23. Oktober 2012 11:41

Die Definition der FSF, was ein freies Betriebsystem ist und was nicht, ist schon schräg und sollte eigentlich keinen Ausschlag geben, ob man ein System als frei bezeichnet oder nicht. Sieht man sich die Liste der freien Linux-Systeme an, dann sieht man, dass da keine nennenswerte Distribution vertreten ist, nicht einmal Debian.

Gruß
DonKrawallo

KojiroAK

2 23. Oktober 2012 11:52

Es wurde ja auch gesagt, wieso HC nicht als Source veröffentlich wurde. Jemand von Google (iirc Andy Rubin) meinte selbst, es sei alles ein scheusslich gewesen und zum anderen wollte man nicht, dass es auf Ordiphones landet. (Weil es dafür nicht geeignet ist). Bei ICS wurde ja dann alles wieder recht früh veröffentlicht, da dieses dann auch wieder für Ordiphones geeignet war und viel Aufräumarbeiten geleistet wurden gegenüber HC.

Und das Stallman immer noch angepisst ist, weil die Leute von Linux und nicht von GNU/Linux reden, ist hinlänglich bekannt.

B601

3 23. Oktober 2012 12:48

Ich würde sagen, Android ist kein Linux-System. Dabei nehme ich nicht die Lizenz her, sondern seine Architektur.

Der Android-Kernel basiert auf dem Linux-Kernel, wurde aber wesentlicher Funktionen "beraubt", darunter auch Sicherheitsfunktionen. Der Grund war ursprünglich, ihn auf den damals leistungsschwachen Mobilprozessoren überhaupt zum Laufen zu bringen. Dies ist nun nicht mehr notwendig, und da Google zunehmend mit Kritik bzgl. der Sicherheit konfrontiert wurde, werden diese Funktionen mit Android 4.2 großteils wieder hinzugefügt. (Siehe Linux-Magazin 2012-10.)

Es gibt noch einen weiteren Grund, warum Android zwar auf Linux basiert, aber kein Linux ist. Das sind die Anpassungen an der GNU-Basis und dass BSD-Bibliotheken hinein gemischt sind. Niemand würde nämlich ernsthaft behaupten, Apples MacOS X oder iOS wäre ein BSD, sie basieren lediglich darauf. Wie Android eben auf Linux basiert, es aber auch aus technischer Sicht nicht ist.

Da dies nicht klar kommunziert wird, kratzt Android mit seinen hausgemachten Sicherheitsproblemen stark am Image von Linux. Der Normaluser sieht nämlich bloß die Formel: "Android = Linux = Virenbefall möglich" und schließt daraus messerscharf: "Ich hab's ja immer gewusst! Linux war nur deshalb sicher, weil sein Marktanteil bloß 1 % beträgt!"

Und das ist natürlich beides falsch. Viren sind in einem richtigen GNU/Linux-System auf aktuellem Updatestand schlicht nicht möglich, da sie das Vorhandensein und passende Ineinandergreifen mehrerer gleichzeitiger Sicherheitslücken mit Root-Rechten voraussetzen, und bei anderer Schadsoftware (Trojaner, Keylogger, Scripts im Browser etc.) muss sich der Benutzer selbst an der Nase nehmen. Und GNU/Linux ist insgesamt sogar das weltweit verbreitetste Betriebssystem, nur eben nicht auf PCs und Notebooks.

Genau deshalb täte die Linuxfoundation gut daran, öffentlich kund zu tun, dass Android eben kein Linux ist!

Valentin_II

Avatar von Valentin_II
4 23. Oktober 2012 12:55

@3: > Der Normaluser sieht nämlich bloß die Formel: "Android = Linux = Virenbefall möglich" und schließt daraus messerscharf: "Ich hab's ja immer gewusst! Linux war nur deshalb sicher, weil sein Marktanteil bloß 1 % beträgt!"

Der Normaluser stellt weiß weder worauf Android basiert, noch dass Linux 1% Marktanteil hat, noch dass Linux sicher ist. So jedenfalls meine Erfahrung mit den Nichtfreaks.

zephir

Avatar von zephir
5 23. Oktober 2012 13:36

Die Argumenation der FSF bezüglich des Namen Linux ist wirklich etwas harsträubend. Erst wird versucht den namen GNU/Linux durchzusetzen, da Linux nur den Kernel bezeichnte, aber nicht die ganzen GNU Werkzeuge, und jetzt behauptet man, man dürfe LINUX nicht Linux nenen, weil keine GNU Werkzeuge enthalten sind??

Die Wirkliche Einschränkung bei Android ist in meine Augen eh weniger das das System unfreie Bestandteile enthält, sondern das man in den 100%sendne Apps freie Software mit der Lupe suchen muß. Was nüztz ein freies Grundsystem, wenn fast alle Funktionalität durch unfreie Software nachgeliefetr wird? Ich würde sogar soweit g ehen, das ich ein Windows, auf dem ausschließlich freie Anwendugssoftware installiert ist, aus Anwendersicht für freier halte als ein Linux, auf dem nur propritäre Software läuft. Das ist übrigens auch eine Sorge die ich für Ubuntu habe. Um auf mobilen Geräten und in der Unterhaltungsidustrie erfolg zu haben, werden all die coolen Apps auch benötigt, und die könnten Ubuntu dann langfristig auch zu einem Android clone machen.

saeuerlich

6 23. Oktober 2012 13:57

Die Bedenken der GNU-Foundation sind so unbegründet nicht. Mal abgesehen von der eher symbolischen Frage nach der Benennung des Systems ist das Fehlen der GNU-Tools, vor allem der Compiler-Toolchain ein gravierender Faktor. Der Anwender wird dadurch in seiner Freiheit ganz wesentlich eingeschränkt, weil es ihm eben nicht mehr ohne möglich weiteres möglich ist, Software für sein System selbst zu bauen. Natürlich gibt es den Umweg über Cross-Compilierung, aber es sind schon einige Hürden zu nehmen, wenn man freie Software seiner Wahl installieren möchte - was ja auch einer der Gründe dafür ist, dass es nicht viele freie "Apps" gibt. Das ungeheuer reiche Ökosystem der freien Software wird bewußt ausgesperrt - nur kontrollierte, sehr beschränkte Kanäle "Stores" bieten ein Einganstor für Drittsoftware.

Linux ist nur der Kernel. Freie Software ist entsteht durch eine komplexes Geflecht untereinander vernetzer Projekte. Wenn eine Plattform hier Einschränkungen vornimmt ist das ein Problem für jeden, der gern freie Software einsetzt.

DrChef

7 23. Oktober 2012 14:16

@4: Die Normaluser, die ich kenn wissen noch nichtmal was Android ist. Es heißt immer nur: - Ich will ein Smartphone - Ich will kein Apple Produkt (jeder sagt die sind schlecht, weiß aber nicht warum) - Ich kauf mir ein Nokia weils das besten Design hat. → Fazit: Der User beschwert sich weil es die H&M App der Freundin nicht auf Symbian gibt (und es selber noch nicht mal checkt das er eben ein anderes OS hat)

Oder die andere Seite: - Ich will ein iPhone

glasenisback

Avatar von glasenisback
8 23. Oktober 2012 14:19

[..] ist das Fehlen der GNU-Tools, vor allem der Compiler-Toolchain ein gravierender Faktor. Der Anwender wird dadurch in seiner Freiheit ganz wesentlich eingeschränkt, weil es ihm eben nicht mehr ohne möglich weiteres möglich ist, Software für sein System selbst zu bauen.

Wie meinen? Es soll nicht möglich sein eigene Software für Android zu entwickeln? Schon mal etwas vom Android-SDK gehört? Und Crosscompilierung hat nichts mit mangelnder Freiheit zu tun, sondern wird rein aus praktischen Gründen gemacht. Oder willst du ernsthaft behaupten du willst auf deinem 500MHz-Single-ARM-Smartphone einen ausgewachsenen C-Compiler benutzen (Denn damit war das erste Android-Smartphone ausgestattet)?

[..] was ja auch einer der Gründe dafür ist, dass es nicht viele freie "Apps" gibt. Das ungeheuer reiche Ökosystem der freien Software wird bewußt ausgesperrt - nur kontrollierte, sehr beschränkte Kanäle "Stores" bieten ein Einganstor für Drittsoftware.

Das ist kompletter Blödsinn. Erstens gibt es eine ganze Menge freier Apps, deren Quellcode frei verfügbar ist. Herrgott, der komplette Quellcode von Android ist frei verfügbar. Dazu kommt, dass es sehr leicht möglich ist, Apps auch ohne App-Store zu installieren. Einfach die Überprüfung der Signierung abschalten, danach kann man jede APK-Datei aus dem Netz installieren. Ich habe mir z.B. so den Apollo-Player von Cyanogenmod auf meine normale Android 4.1-Version installiert.

la-r-ma

9 23. Oktober 2012 14:48

@3:

Der Normaluser sieht nämlich bloß die Formel: "Android = Linux = Virenbefall möglich"

Der Virenbefall unter Android ist anders als unter Windows einfach nur auf Nutzerdummheit zurueckzufuehren: In AOSP wirst du dich schwer tun, eine Berechtigung zu erhalten, ohne vorher den Nutzer gefragt zu haben. (Ausgenommen natuerlich Local-Root-Exploits, dafuer muss die Anwendung aber auch installiert werden und ein Desktop-Linux mit 3.0-Kernel ist auch recht unsicher (hatte letztens ein Ubuntu 10.04 das seit ueber einem Jahr mangels root-passwort nicht mehr geupdated wurde und hatte es nach nichtmal 10 minuten geknackt). Der "aktuelle Updatestand" ist auch recht relativ, wenn man zum Beispiel Debian und ArchLinux vergleich 😀

@5: fuer dich ist sicher f-droid (im artikel verlinkt) interessant: ein Alternativmarket mit auschliesslich freier Software. Zusammen mit CyanogenMod ist man, denke ich, ausreichend "frei"

@6: wer kompiliert anwendungen auf einem 600mhz prozessor? und wer entwickelt apps auf dem smartphone? Cross-compiling ist die schoene loesung - aber nicht die einzige. Nur weil kein compiler vorinstalliert ist, heisst es nicht, dass es keinen gibt. In den repos von botbrew gibt es den klassischen gcc (v4.6.4) und typische unix/linux tools: http://repo.botbrew.com/stable/main/ (woberi ich mich frage was der von dir genannte klassische Anwender damit will). Im Play Store sind die meissten freien Android Apps enthalten - wenn nicht vom originalentwickler, dann von jemand anders. Die "Huerden" bestehen (wenn man auf Google verzichten will) aus einem kleinen Haken in den Einstellungen der die Installation aus unbekannten Quellen zulaesst und aus der Benutzung des Browsers zum Downloaden.

Uebrigens: Der Grund, warum die meissten (GNU-)Linux-Tools nicht ohne weiteres unter Android laufen liegt in der verwendeten libc begruendet. Android benutzt bionic - ein Fork von FreeBSD libc der POSIX-kompatibel ist. Da (GNU) glibc - die auf dem Desktop haeufig genutzt wird, nicht volll POSIX-kompatibel ist, die Anwendungen aber darauf geschrieben werden ist es kein Wunder, dass es Probleme gibt. (das ist uebrigens auch einer der gruende warum manche linux anwendungen nicht unter freebsd laufen!)

saeuerlich

10 23. Oktober 2012 14:55

@8: Selbstverständlich ist es möglich freie Software für Android zu entwickeln. Aber trivial ist das eben nur mit dem vorgeschriebenen Softwarestack möglich. Wenn es so einfach wäre das bestehende Freie-Software-Ökosystem auf Android zu portieren, dann wäre das schon weiter gediehen, als es zur Zeit der Fall ist - die Rechenleistung ist schließlich langsam da. Ich bin übrigens auch sicher, dass sich das in Zukunft noch verbessern wird, wenn eben die Smartphones noch schneller werden. Tatsache ist aber auch, dass sich ein Android zur Zeit noch keinesfalls anfühlt wie ein richtiges Linux und man allerhand verrenkungen machen muss um es in dieser Richtung zu verändern. Für den durchschnittlichen Ubuntunutzer ist dieser Unterschied vielleicht weniger Spürbar, da der Appstore und die Paketverwaltung schließlich von der Bedienung her ähnlich sind (und sich Canonical ja dem profitableren Appstore-Modell immer mehr annähert)

la-r-ma

11 23. Oktober 2012 15:11

@10: Der Grund warum Linuxdesktop-Anwendungen nicht auf Android sind ist einfach: Linux-Desktop benutzt Xorg, Android nicht. Konsolenanwendungen sind (soweit sinnvoll) laengst da - und das kompilieren ist einfach.

Das verzichten auf Xorg ist allerdings nicht unbedingt unueblich. XBMC wird auf dem Raspberry Pi auch ohne X genutzt (und technisch sogar aehnlich wie Android das tut). Aber das ist ja auch sinnvoll: wozu brauche ich eine komplexe fensterverwaltung, wenn ich doch eh immer nur ein "fenster" sehe? Es gibt Ansaetze Xorg (und Ubuntu) auf Android-Smartphones zu nutzen. Das groesste Problem ist, dass es keine Grafikbeschleunigung mehr gibt, da niemand einen xorg/mesa treiber geschrieben hat. Stattdessen nutzt Android direkt GLES (openGL for Embedded Systems oder sowas).

Uebrigens der "vorgeschrieben Softwarestack" ist auch OpenSource: https://android.googlesource.com/platform/sdk/ und ich will sehen wie du den Linux-Kernel ohne den "vorgeschriebenen Softwarestack" (gcc) compilierst (ja ich weiss das es projekte von Intel [Intel-C++] und LLVM [clang] gibt genau das zu tun, aber trivial ist es eben nicht 😀)

Kristall

12 23. Oktober 2012 17:53

Gerne würde ich mir mal so ein Cyanogenmod installieren, einfach weil ich will, dass das, was ich mir kaufe, mir auch gehört. Aber mein HTC Sensation XE zu entsperren ist fast unmöglich. Mit H-Boot Version 1.29 muss man mit Kabeln hantieren und Kontakte in einem gewissen Zeitabstand zweimal berühren - nach zwei Stunden und zig Versuchen habe ich es aufgegeben....

Ärgert mich wirklich und unter diesem Gesichtspunkt sehe ich auch UEFI-Secure Boot sehr kritisch: Man kauft sich ein Gerät und besitzt es doch nie richtig...

-Kristall

kili4n

13 23. Oktober 2012 19:39

Also ich hab auf mein HTC Desire erfolgreich Cyanogenmod installiert. Ich verwende ausschließlich F-Droid Anwendungen, mit der Ausname von WhatsApp 😲 .

Grundsätzlich läuft das ganze schon sehr gut, man muss aber doch auf einige Apps verzichten. So gab es bis vor kurzem OsmAnd (Openstreetmap-Anwendung) nur in einer Uralt-Version, die neuere kann v.a. in der Suche noch nicht mit Google Maps mithalten. Es gibt nichts für den Öffentlichen Nahverkehr man muss sich mit dem mobilen Internetauftritt von bahn.de behelfen. Die Synchronisation mit Google übrigens, beispielsweise E-Mails, Kalender, Kontakte, funkioniert trotz fehlender Google Anwendungen trotzdem reibungslos. Aber das ist jetzt sehr subjektiv, jeder benützt sein Mobiltelefon für etwas anderes.

FDroid recht übersichtlich, eben weil es so wenig Apps gibt, und man entdeckt immer wieder einmal etwas praktisches und ausgefallenes.

Noch etwas ist mir aufgefallen: Es fehlen eine Menge Helfer, die neue Applikationen und Versionen prüfen und in das Build-System einpflegen. Viele gute Anwendungen warten oft Monate, nachdem sie im Forum gewünscht und vorgeschlagen werden.

Das wichtigste ist jedoch, dass man sich tatsächlich etwas "freier" fühlt (und nicht nur nerdiger ☺ ). Es tut einfach gut zu Wissen, dass kein 0-8-15 Spiel seine SMSen liest, und Facebook für Android seine Kontakte durchforstet.

kaputtnik

14 23. Oktober 2012 22:01

Glückwunsch an la-r-ma für den zweiten Platz.

Zum Thema: Ich habe kein Smartphone 😀

H.i.M

Avatar von H.i.M
15 24. Oktober 2012 01:18

Danke für diesen Artikel! PS: Wo ist der Danke-Knopf ☺

B601

16 24. Oktober 2012 07:00

@9: Zwischen Virus und "Knacken" ist aber ein großer Unterschied! Knacken, also Hacken, ist als Mensch in ein System einzudringen und dort mit menschlichem Wissen nach etwas zu suchen oder es zu verändern.

Ein Virus ist eine Software, die sich von System zu System selbständig verbreitet, ohne dass ein Mensch eingreifen muss oder etwas davon mitbekommt. Ein Beispiel:

Ich habe vor etwa zwei Jahren einen Server auf Windows 2003 aufsetzen müssen (weil 1:1-Ersatz für eine defekte Kiste). Es reichte, das Netzwerkkabel ans firmeninterne (!) Netz anzustecken, und schon war der erste Virus drauf. Ohne noch überhaupt einen Browser aufzurufen! Natürlich fanden die Microsoft-Updates das Virus dann (Conficker.B) und entfernten es. Genau so etwas ist unter Linux unmöglich, wenn man sein System nicht extra dafür "präperiert". Auch unter Unbuntu 10.04 im Auslieferungzustand vom April 2010, traue ich mich zu behaupten.

Die meisten bezeichnen als Virus einfach jede Art von Schadsoftware, aber das ist grundlegend falsch. Im obigen Beispiel hat kein Benutzer (ich) etwas falsch gemacht, lediglich dem System fehlten, da im Auslieferungszustand, die Updates der vergangenen 2 Jahre.

Ich habe zur selben Zeit eine Statistik einer "Sicherheitsfirma" gesehen. Sie bezog sich auf die vergangenen 5 Jahre. Aussage:

Kritische Sicherheitslücken unter Windows: etwa 4 pro Jahr.

Kritische Sicherheitslücken unter Linux: null.

Als "kritisch" wurden Lücken bezeichnet, die genau dies ermöglichen: Die Verbreitung von Viren oder die Übernahme des gesamten Systems ohne menschliches Zutun und ohne User-IDs oder Passwörter eingeben zu müssen.

jo-master

Avatar von jo-master
17 24. Oktober 2012 09:20

unabängig von offiziellen definitionen empfinde ich android als unfrei:

  • keine rootrechte (jailbreak notwendig)

  • einige grundlegende funktionen (zb. einige vpn) funktionieren nur mit root-rechten oder lassen sich gar nicht realisieren (zb. getunnelte und gefilterte netzwerke, apps die tunnel verwenden)

  • alle komfortablen linux tools fehlen

  • einfache entwicklung, anpassung oder scripten nicht möglich (zu großer aufwand)

  • abkehr von bewerten strukturen: zb. paket-manager!!!!

  • für portierung von freier software via playstore soll man zahlen (mithilfe der klassischen tools hätte ich es ja selbst gemacht und wie immer allen kostenfrei zur verfügung gestellt)

dies alles verhindert, dass ich mein android an meine bedürfnisse anpassen, in vorhandene strukturen integrieren oder um kleine funktionen erweitern kann.

Ich warte simot weiterhin sehnsüchtig auf ein echtes GNU/Linux für mobilgeräte und tv.

la-r-ma

18 24. Oktober 2012 11:25

@13: Ich verstehe immer noch nicht, warum es tatsaechlich Menschen gibt, die WhatsApp benutzen. Die "Gratis-SMS" koennte man auch mit einem x-bliebigen Instant Messenger verschicken. Zudem ist WhatsApp nur ein Jahr gratis, danach duerfen sie nach ihren AGB Geld verlangen (laut Google Play 99c/Jahr). Von der (Un-)Sicherheit von WhatsApp gar nicht mal zu sprechen. Jabber/XMPP ist ein etabliertes und sicheres IM Protokoll (theoretisch sogar ueber Jingle mit (Video-)Telefonie - allerdings gibt es dafuer derzeit nur eine App und die es an einen gewissen Jabber-Dienst von diesem einen Konzern gebunden), trotzdem nutzen die Leute WhatsApp - weil es "Gratis-SMS" und keine "IM-Nachrichten" sind o.O

@16: Genau darauf wollte ich aus: Die klassische Art von Windows-Viren (Verbreitung ohne zutun des Nutzers) gibt es sowohl unter Android als auch unter Desktop-Linux nicht. Was aberunter Android funktioniert (ausnutzen bkeannter lokaler Sicherheitsluecken) geht genauso auf dem Desktop.

@17: Android ist halt fuer den Otto-Normal-Nicht-Ganz-So-Schlau-Nutzer gedacht. Und der braucht keinen root-Zugriff, root-Zugriff ist fuer ihn eher schaedlich (wieder: Viren). Tools, die du unter Desktop-Linux als komfortabel empfindest (zB: vi(m)) sind auf einem Mobilgeraet einfach unbrauchbar. Einige VPN-Systeme sind in Android dabei/nachinstallierbar, aber niemand kann verlangen, dass alle unterstuetzt werden (auch wenn ich OpenVPN auch vermisse). Das eroeffnen von VPN-Verbindungen erfordert auch auf Desktop-Linux-Systemen root-Rechte. Prinzipiell ist alles, was mit einem Desktop-Linux moeglich ist, auch auf Android moeglich. Zudem muss zur Struktur von Android nach gesagt werden, dass es prinzipiell ROM-kompatibel ist - also auf Read-Only-Memory installiert werden kann. Das macht Aenderungen am System natuerlich konzeptuell schwerer. Fuer Scripte gibt es Drittanbieter-Software, aber auch hier ist wieder zu sehen: du hast einen kleinen Touchscreen und keinen >15"-Monitor und Tastatur. Skripte machen einfach keinen Spass auf Smartphones. Mit Root-Rechten kannst du uebrigens ein klassisches Desktop-Linux in einem Chroot auf Android-Smartphones starten (Ubuntu auf dem Smartphone). Und zum Paket-Manager: auch der wuerde root benoetigen ☺ und ausserdem was unterscheidet einen klassischen Paket-Manager von einem "AppStore"?

Schoen das du auf ein GNU/Linux fuer Mobilgeraete wartest. Ich warte auf ein anstaendiges NonGNU/Linux fuer Desktops. Beides wird es wohl nicht so schnell geben... Es ist uebrigens gar kein Problem ein Android/GNU/Linux zu basteln - aber irgendwie ist das Interesse recht gering...

la-r-ma

19 24. Oktober 2012 11:33

@12: Eigentlich sollte das Sensation XE relativ leicht zu rooten sein, da es Ice Cream Sandwich hat. Du musst fuer root/custom-rom nicht den Bootloader entsperren! Google einfach mal sowas wie "sensation xe root" und ich bin mir sicher das es irgendwo eine step-by-step-anleitung zum rooten und installieren von clockworkmod gibt

wasmario21

20 24. Oktober 2012 12:52

Super Artikel, danke dafür ☺

jo-master

Avatar von jo-master
21 24. Oktober 2012 13:05

@18:

  • Da es die meisten ausgelieferten droiden nicht gestatten root-rechte zu erlangen, wiedersprechen alle handlungen, die diese benötigen (vpn, netzwerkverwaltung, mount, usw) meist den agb des herstellers.

  • auch ich habe nicht vor ohne tastertur in der konsole zu arbeiten. skripte halte ich deshalb für sinnvoll, weil viele automatisierte aufgaben via skripte implementiert werden können (wie auf linux-desktops auch).

  • da android eben kein vollwärtiges gnu/linux oder bsd ist und es an den nötigen portierungen fehlt, kann auf einem android eben nicht das gleiche, wie auf einem desktop-pc gemacht werden. d.h. etliches ist zwar prinzipiell möglich, praktisch jedoch muss man sich dazu ein eigenes linux bauen/implementieren.

  • ein app-store deckt nur einen kleinen teil der aufgaben eines paketmanagers ab. im prinzip ist ein app-store die unstrtukturierte arbeit mit software wie bei windows, aber über eine einheitliche oberfläche und unternehmensdiktiert.

zum glück sind echte mobile linuxe nicht mehr unabsehbar und für mich bei einschränkung auf bestimmte hardware sogar ein wichtiges kaufargument.

Tlou

22 24. Oktober 2012 14:15

Glückwunsch zum 2. Platz an la-r-ma und vielen Dank für diesen Artikel!

Eine Frage: Was braucht man, um Cyanogenmod in Qemu zu testen? Gibt es fertige Cyanogenmod-Versionen für Qemu? Ich würde mir Cyanogenmod gern erst einmal anschauen, bevor ich es dann auf einem Smartphone installiere. Leider hat mir eine Internetsuche bisher nicht weitergeholfen...

Developer92

Avatar von Developer92
23 24. Oktober 2012 17:21

Ich dachte der Artikel wird kritisch?!

Vieles wurde ja schon angesprochen, aber hier trotzdem nochmal was mich alles an Android nervt:

  • Kein Root-Access

  • Keine Paketverwaltung

  • Updates kommen nur langsam oder gar nicht (siehe Desire HD)

  • Gesperrte Bootloader, bei unlocken entfällt teils die Garantie

  • Google-Konto erforderlich um das System einigermaßen benutzen zu können

  • Rechte-System für Apps ist Schrott

  • Viele Sicherheitslücken, Hersteller patchen zu langsam

  • Google kann Apps aus der Ferne löschen

  • Binary Blobs für Treiber

  • Viele Hersteller passen Android unnötigerweise an. Das war bei den Ersten Versionen ganz nett, seit Android 2.1 aber IMHO nicht mehr nötig, Android sieht auch so gut aus

  • Miserable Linux-Kompatibilität (für Dateiübertragung, Sync, etc.)

  • Standard-Kalederapp kann teilweise ausschließlich mit Google synchronisiert werden, eigene Server oder andere Anbieter fehlen komplett

  • keine PPAs wie bei Ubuntu möglich. Und um in den PlayStore/Market zu kommen werden 25$ fällig.

  • so ziemlich alle Apps beinhalten Werbung und ein umfangreiches Rechtebedürfnis. Nicht direkt ein Fehler von Android aber es nervt doch. Wozu muss ein Dateimanager bitteschön meine Internetverbindung nutzen?

Was mir auch noch fehlt ist eine funktionierende Git-Implementierung, kostenlos natürlich. Und zwar mit Commit, Logs und Push-Funktion. Und mit der Möglichkeit SSH-Keys zu verwenden (mit Passwörtern kann ja jeder...)

mfg

kili4n

24 24. Oktober 2012 22:00

@18: Gruppenzwang. Es gibt in WhatsApp auch Gruppennachrichten, und da viele meiner Freunde WhatsApp nutzen, bin ich auch in einigen Gruppen. Aus dem selben Grund sind viele übrigens auch in Facebook. Jeder weiß, dass es Besseres gibt, und dass die Unternehmen Böses tun, aber sobald sich erstmal etwas etabliert hat, ist es schwer ein Konkurrenzprodukt einzuführen.

so ziemlich alle Apps beinhalten Werbung und ein umfangreiches Rechtebedürfnis. Nicht direkt ein Fehler von Android aber es nervt doch. Wozu muss ein Dateimanager bitteschön meine Internetverbindung nutzen?

Viel Windowssoftware ist doch da ganz ähnlich, nur dass es nichtmal ein echtes Rechtesystem gibt.

Bertus

25 24. Oktober 2012 22:10

@17: OpenVPN geht mittlerweile auch ohne Root ab Android 4.0. Ich habe ein Galaxy Nexus dort geht es.

@18: Auch für dich der Tip

https://play.google.com/store/apps/details?id=de.blinkt.openvpn&feature=search_result#?t=W251bGwsMSwxLDEsImRlLmJsaW5rdC5vcGVudnBuIl0.

Vielleicht ist das ja für euch.

la-r-ma

26 24. Oktober 2012 22:21

@21: Zunaechst einmal sind beim Produktkauf und Umgang damit die AGBs des Herstellers total irrelevant, sofern man keine weiteren Dienste des Herstellers in Anspruch nimmt. Der jedoch teilweise noetige Support/Reperaturdienst ist bei den meissten Herstellern vom root vorgang nicht betroffen (es ist zumindest deutlich schlimmer wenn ein warranty-void-aufkleber weg ist). HTC vertritt die Ansicht, das Luecken in der Software Teil der Software sind und damit auch unter den Reberaturdienst fallen. Bei Hardware-Schaeden wird zudem gar nicht darauf geachtet was denn nun an Software drauf ist, sondern einfach repartiert/ausgetauscht und bei Software-Problemen wird im Zweifelsfall einfach die Original-Firmware neu geflasht (was einfach daran liegt, dass Probleme beim updaten nie voellig ausgeschlossen sind)

Fuer Skripte im Sinne von automatisierten Prozessen gibt es verschieden Ansaetze als Apps, die gerade zur Benutzung auf Smartphones ausgelegt sind (zB. Baukasten-Prinzip)

Android ist einem BSD naeher als du denkst. Abgesehen davon, dass es einen Linux-Kernel benutzt und es keinen Paketmanager vorinstalliert hat. Das es kein GNU/Linux ist liegt im uebrigen an GNU, da quasi alles unter GPL steht und damit hochwahrscheinlich Android unter GPL gestellt werden muesste und dementspechend auch alle Android-Apps, auch wenn das zunaechst nicht unbedingt schaedlich ist, muss man dennoch sehen, dass einige Entwickler komplexerer Software diese verkaufen wollen und man Ihnen das Recht dazu nicht abschlagen sollte.

Google Play Store ist eine graphische Oberflaeche fuer den in Android integrierten Paketmanager (innovativ einfach pm genannt) - aehnlich wie das Ubuntu-Software-Center (OK das benutzt lokale Repos...). Dieser verwaltet die installierten Pakete (apk). Der einzige grobe Unterschied der mir zu klassischen Desktop-Linux-Paketmanagern einfaellt ist eine nicht sehr ausgereift Abhaengigkeiten-Installation - die jedoch einfach darauf zurueckzufuehren ist, dass pm keine Repositories benutzt sondern eben nur APKs direkt installiert. Wenn du dir den Umfang von pm mal ansehen willst, oeffne dir ueber einen beliebigen Weg auf einem Android ein Terminal und gib "pm" ein (pm ist nur ein Wrapper-Script - leider nicht mit allen Funktioenn, der Paket-Manager ist in Java geschrieben)

@22: Ich kenne jetzt gerade auch keine Quelle fuer ein vorkopmiliiertes CyanogenMod fuer QEMU. AOSP ist jedoch groesstenteils identisch (CyanogenMod fuegt noch einige Funktionen hinzu, wie etwa Themes, mehr Customizing-Einstellungen, etc.) und dafuer gibt es QEMU-Images. Am besten laedst du dir das komplette SDK runter - da ist ein erweitertet QEMU mit Grafikbeschleunigung dabei (keine Ahnung ob das inzwischen im normalen QEMU angekommen ist) ausserdem eine schoene Oberflaeche und du kannst auch gleich mit dem Entwickeln anfangen - das ist mit Android uebrigens wunderbar machbar ☺

@23: Kritische gegenueber den Kritikern - zumindest ein bisschen und jetzt hier in der Diskussion 😀

Die Update-Problematik... Aber dafuer kann Android prinzipiell nichts 😀 und ich kenne das Problem gut, ich besitze naemlich selbst ein Desire HD. Dort laeuft bei mir zur Zeit eine CyanogenMod 10 Nightly wunderbar stabil und schnell - und da Sense nur Speicher frisst war ich damit eh nicht so zufrieden. Das Unlocken von Bootloadern ist in vielen Faellen nicht noetig und auch dabei verweise ich auf die Hersteller - das OS ist nicht schuld.

Viele der genannten Probleme beziehen sich auf die Software die vom Hersteller vorinstalliert wird. Ich wollte in diesem Artikel deutlich machen, dass ein Freiheits und Funktionsgewinn moeglich ist.

Linux-Dateiuebertragung ist entweder ueber ADB oder beim mounten als SD-Karte meoglich - unter Windows sieht es da nicht gross anders aus. Ein klassischen "Sync" gibt es in AOSP garnicht. Der Kalender kann neben Google Standardmaessig immer auch EAS. Auch wenn es urspruenglich von Microsoft entwickelt wurde ist EAS ein wunderbares Protokoll zur Uebertragung von Kalenders/Kontakten/Emails - leider hat nicht jeder einen Server parat (ein Freund von mir hat sich aber auf seinem Rechner zuhause Zarafa mit Z-Push installiert und so EAS trotzdem nutzen koennen. Sync mit dem Desktop wurde automatisch angestossen, wenn er im eigenen WLAN war)

Die App-Problematik kann ich nachvollziehen. Hier kann ich nur nochmal auf F-Droid verweisen, die Open-Source-Apps dort sind alle werbefrei. Als git-Client kann ich agit empfehlen, auch wenn ich gerade nicht weiss ob es SSH-Keys kann. Wenn nicht - feel free to contribute - es steht unter GPL

(Ich weiss, dass ich bald in den "Fanboy"-Kategorie ruecke, weil ich Android so "vehement" vertrete, jedoch ist es mir wichtig, teilweise unrichtige Darstellungen nach einmal klarzustellen, auch wenn das hier schon wieder ein laengerer Kommentar geworden ist - uuh fast 5000 Zeichen 😀)

la-r-ma

27 24. Oktober 2012 22:39

@25: Danke fuer den Link. Ich wusste nicht, dass es inzwischen einen OpenVPN-Client gibt der die neue API nutzt. Ich kannte nur AnyConnect ☺

Shalok_Shalom

28 24. Oktober 2012 23:05

adoa

Avatar von adoa
29 24. Oktober 2012 23:21

Danke für die Ausführungen. Ich habe bis heute immer noch kein Smartphone. Mir gefällt vor allem das Entwicklungsmodell von Android nicht wirklch. Mal sehen, wie es dann mit Jolla’s Sailfish aussehen wird …

Developer92

Avatar von Developer92
30 25. Oktober 2012 20:06

@26: Klar, Android selbst ist freie Software, der PlayStore ist von Google und der gelockte Bootloader von der Herstellern. Trotzdem gehört das alles zusammen, man findet kein Handy ohne gelockten Bootloader. Da kann das System noch so frei sein. Ich zähle zu Android ja nicht nur die Software an sich sondern das komplette System drumherum (Google, Hersteller, Apps), und das hat einige Macken ☺

Zur Dateiübertragung unter Linux: Viele neuere Android-Geräte unterstützen nur MTP zur Dateiübertragung und ADB ist halt zum debuggen drauf. ADB verwendet der normale User aber nicht und MTP ist nur schlecht implementiert unter Linux, die Dateiübertragung gestaltet sich also recht schwierig mit meinem Android 4 Tablet ☺

Mit EAS meinst du vermutlich Exchange Active Sync. Ich hab nicht direkt danach gesucht, aber mir fällt spontan kein EAS-Server ein den ich unter Debian nutzen könnte. Kann mich aber auch irren, evtl. gibts hier ja gute Software. Hab mich da noch nicht schlau gemacht. Wär halt schön, wenn der Sync der Kontakte einfach so mit Evolution funktionieren würde.

Zu Agit: Ich weiß es steht under der GPL, hab den Code auch vor ein paar Tagen gezogen, aber da lässt sich wirklich 0 kompilieren. Ich bekomme schlappe 4100 (!) Fehler in Eclipse. Keine Ahnung was da alles an Libs fehlt. Und 2 Euro zahlen will ich nicht. Nicht weil ich wenig Geld hätte oder geizig bin, sondern einfach weil Google nicht auch noch meine Bankdaten braucht. Ausserdem fehlen die 2 wichtigsten Features: Commit und Push.

Es gibt allerdings eine echt geniale App mit vollem Git-Support: AIDE. Das ist eine zu Eclipse kompatible Entwicklungsumgebung, Commit und Push gehen aber nur mit Premium Key. Ich würd zwar damit keine komplette Anwendung von Grund auf entwickeln, aber um mal eben schnell auf der Couch ein neues Feature zu implementieren geht damit problemlos (Tablet mit Tastatur vorausgesetzt)

@28: Nein Danke, ich bleibe bei Android ☺

aigees2C

31 28. Oktober 2012 16:42

Bitte bedenkt, dass selbst wenn man ein vollständig freies Android-System benutzt (z.B. Replicant), das telefonieren und SMS schreiben dadurch nicht sicherer wird.

An dieser Stelle möchte ich gerne auf die Folge 179 (GSM Security) des CRE verweisen: http://cre.fm/cre179

la-r-ma

32 30. Oktober 2012 09:57

@30: Die Beschränkung auf locked bootloader und Google Software gilt aber nur im europäischen und amerikanischen Markt. viele chinesische smartphones kommen unlocked (und werden auch in Deutschland vertrieben). Das MiOne war eines der ersten die auch international einen gewissen Hype auslöste (auch wegen Preis/Leistung).

Bist du sicher, das du bei deinem Tablet nur MTP benutzen kannst? Da wo ich die Funktion bisher gesehen habe konnte man sie ausstellen, weil Windows XP nur Musik und Video auf MTP speichern/lesen kann und keine Bilder (zumindest war das mal so) und Windows <XP hat gar keine MTP Unterstützung. Übrigens können AOSP und CyanogenMod gar kein MTP.

@31: seit wann werden Systeme sicherer wenn sie "frei" sind? Die Erfahrung zeigt, dass es eher umgekehrt ist...

la-r-ma

33 30. Oktober 2012 10:03

Ach so:Nachträgliches unlocken ist bei den meisten Smartphones (unter Support-/Garantieverlust) auch offiziell möglich (alle Sony's, einige HTC's) und sonst auch inoffiziell. Das die Hersteller für Probleme die durch Manipulation entstehen nicht haften wollen ist verständlich und zumindest bei HTC weiß ich, dass es ihnen total egal ist, sie spielen bei Software Problemen einfach die original Software wieder ein und Hardwarewird repariert egal welche Software drauf ist...

Hexe25

Moderator

Avatar von Hexe25
34 30. Oktober 2012 10:33

@33: Woher hast Du diese Infos, vor allem zum HTC?

Ryuno-Ki

Avatar von Ryuno-Ki
35 30. Oktober 2012 16:41

@32: Beispiele? Also ich finde, Google fixt Chrome-Bugs (und Mozilla Firefox-Bugs) wesentlich schneller als Oracle einen 0-day-Exploit in Java ...

Schlichtweg deswegen, weil die "Man-Power" wesentlich größer ist!

Andererseits sind bei exotischen Programmen weniger Entwickler dahinter, so dass hier proprietäre Software-Anbieter durchaus schneller reagieren könnten ...

Developer92

Avatar von Developer92
36 30. Oktober 2012 17:01

@32:

Bist du sicher, das du bei deinem Tablet nur MTP benutzen kannst?

Jep, ziemlich sicher. Mein Tablet (Asus Transformer Pad TF300T) besitzt nur 4 Partitionen, davon sind 3 unantastbar für den User und die 4. ist root. Die Rootpartition ist zugleich die Größte und nimmt fast die ganzen 32GB internen Speicher ein. Was evtl. möglich wäre, ist die MicroSD-Karte als USB-Massenspeicher übers Tablet freizugeben. Allerdings treten da 2 Probleme auf:

  • Ein Cardreader ist wesentlich schneller und geht genauso

  • Die Funktion gibts in der offiziellen Version von Asus nicht, technisch also möglich aber nur mit Patch oder einer App oder ähnlichem

Root-Zugriff habe ich auf dem Gerät noch nicht, da Asus mit Grantieverlust droht und ich das bei einem so neuen Gerät noch nicht machen will. Erst wenn mir langweilig wird und ich ein richtiges Linux zum Laufen bekommen will auf dem Teil wird geunlockt ☺

la-r-ma

37 1. November 2012 01:24

@34: Zunaechst einmal liest man das oft und zumindest was kleinere Maengel angeht kann ich das selbst bestaetigen: habe ein Desire HD und da ist es quasi "standard", dass die lautstaerke-knoepfe kaputt gehen. Eingeschickt, 1,5 Wochen spaeter mit reparierten Taster zurueck - das installierte CyanogenMod 9 wurde nicht angetastet (warum auch, sie sollten doch Hardware reparieren)

@35: Java ist ein boeses Beispiel (wobei OpenJDK ja auch "frei" ist und da die updates trotzdem nicht bessers sind) das Problem bei freier Software sind meisst unzureichende Tests. Und ich erinnere mich an eine 0day in Firefox (glaube vor etwa 1,5 jahren) wo innerhalb von kurzer Zeit viele Windows-Systeme virenverseucht waren... der Patch hat auch fast 2 wochen auf sich warten lassen (und der virus war gut, weil er sich selbst ueber webserver verbreiten konnte was dazu fuehrte das schnell "gewoehnliche" websites betroffen waren) - dieser Verglich hinkt aber, da man generell nicht-kritische anwendungen (ein browser) nicht mit kritischen anwendungen (eine laufzeitumgebung die keinen zu verachtenden marktanteil hat) nicht vergleichen kann.

@36: Die Asus Transformer Reihe stand bei mir eigentlich auf der "wenn-ich-mal-ein-tablet-kaufe-dann-das"-liste. Da ich aber sowieso als erstes CyanogenMod draufpacken wuerde, um diesen Google-Schrott loszuwerden, muss das nicht unbedingt ein argument sein.

Allgemein zu dem "Garantieverlust": dieser tritt ein, sobald eine Nutzerseitige Aenderung am Geraet den Schaden direkt oder indirekt verursacht hat. Es wird fuer den Nutzer in vielen Faellen schwer sein zu beweisen, dass ein gerootetes Android nicht fuer den Schaden verantwortlich ist (durch manipulierte Kernel kann man fast jeden Chip manuell durchbrennen 😀) - so ist es uebrigens auch bei deinem Desktop, wobei man dort fuer gewoehnlich etwas mehr Spielraum laesst (ich habe mal gehoert das Medion einen RAM-Riegel nicht ausgetauscht hat, weil auf der Festplatte Ubuntu drauf war o.O). In den Garantiebedingungen sind haeufig uebrigens Verschleissteile (Kratzer, defekte Hardware-Taster, Akku, Anschluesse, Gehaeuse) ausgeschlossen, haeufig wird der Kunde allerdings "aus Kulanz" dennoch "bedient".

Ryuno-Ki

Avatar von Ryuno-Ki
38 2. November 2012 14:21

@37:

dieser Verglich hinkt aber, da man generell nicht-kritische anwendungen (ein browser) nicht mit kritischen anwendungen (eine laufzeitumgebung die keinen zu verachtenden marktanteil hat) nicht vergleichen kann.

Du hast allerdings auch kein Beispiel angeführt, warum proprietäre Programme stabiler sein sollten ...