Andreas Kohlbach:
> On Tue, 5 Jul 2022 10:09:31 +0200, Arno Welzel wrote:
>>
>> Joerg Lorenz:
>>
>> [...]
>>> Google has a perfect right to do this. It's their web browser. Yes,
>>> Chromium is open source, but if you're using their APIs to access their
>>> services, Google gets to call the shots. But, should Google alone be the
>>> one to decide?
>>>
>>>
https://www.zdnet.com/home-and-office/networking/google-should-really-open-source-chromium/
>>
>> Ich sehe kein Problem darin, dass Google den Zugriff auf ihre eigenen(!)
>> Dienste für Drittanbieter, die Chromium als Basis für eigene Browser
>> nutzen, einschränkt.
>
> Agreed. Solange es benutzbar bleibt.
>
> Vielleicht am Beispiel termux (Terminal Emulator für Android). Heute lese
> ich, dass der im Playstore nicht mehr geupdatet wird, da Google sich an
> der Funktion "call()" stört, was wohl die Lizensvereinbahrung verletzt
> (man soll eine API (APK?) oder so nehmen. Gerade termux sollte das aber
> erlaubt sein, schließlich ist es fast ein eigenes Betriebssystem. So wird
> von denen empfohlen die App über F-Droid zu installieren.
Konkreter:
<
https://www.xda-developers.com/termux-terminal-linux-google-play-updates-stopped/>
Und hier:
<
https://github.com/termux/termux-packages/wiki/Termux-and-Android-10>
Es sind mehrere Probleme:
1) Google erwartet ab einem bestimmten Zeitpunkt, dass Apps neuere
Android-Versionen explizit unterstützen - d.h. wenn ich z.B. heute ein
Update veröffentlichen will, muss ich mindestens Android 10
unterstützen, d.h. sie muss Android 10 als "target" angeben.
2) Wenn eine App angibt, offiziell Android 10 zu unterstützen, kann sie
als "untrusted" App - also wenn sie keine System-App ist - exec() nicht
mehr ausführen, weil das aus Sicherheitsgründen nicht mehr erlaubt ist.
Man darf nur Code ausführen, der Teil der App ist. Damit wird sehr
effektiv verhindert, dass Apps Schadcode nachladen und zur Ausführung
bringen.
In der Regel lässt Google eingeschränkte Funktionen für "alte" Apps noch
eine Weile zu und sperrt das dann beim nächsten Android-Update
irgendwann komplett, d.h. es hilft auch nicht, wenn die App einfach
nicht für Android 10 oder neuer gekennzeichnet ist.
Ähnlich war es auch schon beim Dateisystemzugriff - auch "alte" Apps
können nicht mehr beliebig direkt auf die SD-Karte schreiben. Wenn sie
die entsprechende API dennoch nutzen, landet das in einem eigenen
Verzeichnis, was die App nur als "SD-Karte" präsentiert bekommt. Der
korrekte Weg ist jetzt die Storage API, die den kompletten Zugriff
erlaubt, aber nur nach expliziter Bestätigung inkl. Auswahl des
gewünschten Pfades durch den Nutzer (BTDT in
<
https://github.com/arnowelzel/periodical> für die
Backup-/Restore-Funktion).
3) Weiterhin kann es auch ab Android 10 passieren, dass keine Shell mehr
möglich ist - weil SELinux(!), was in Android auch genutzt wird, das
aufgrund der Konfiguration nicht mehr zulässt.
4) Der Zugriff auf /proc/net ist ab Android 10 auch nicht mehr
uneingeschränkt möglich - auch das missbräuchlich genutzt werden und
wurde deshalb eingeschränkt.
Generell geht es hier primär um sicherheitsrelevante Punkte. Smartphones
sind ja nicht als universelle Computer für Entwickler oder
Administratoren konzipiert, sondern als Endgerät für normale Nutzer. Und
da will man weder beliebigen Code ausführbar haben, den eine beliebige
App von irgendwo her heruntergeladen hat noch möchte man zulassen, dass
Apps potentiell sensible Daten abgreifen können. Deshalb auch die
Nutzung von SELinux und diversen anderen Schranken, wie die deutliche
Beschränkung von Dateisystemzugriffen etc..
Solange es AOSP aber gibt und Projekte wie LineageOS, sehe ich das aber
eher gelassen. Wer ein entsprechend offenes Gerät haben will, muss sich
eben etwas passendes kaufen, was durch LineageOS unterstützt wird:
<
https://wiki.lineageos.org/devices/>
Da sind ja auch durchaus aktuellere Geräte dabei:
<
https://wiki.lineageos.org/devices/barbet/>
Und nicht selten gibt es inoffizielle Portierungen, wie FairPhone 4:
<
https://guidlings.com/de/herunterladen-und-installieren-von-lineage-os-18-1-auf-fairphone-4-android-11>
> Sollte Ähnliches bei der Browser-Engine passieren, könnten frei
> Entwickler die letzte Version vorher "mitnehmen" und frei
> weiterentwickeln. Da dürfte Google wohl keine rechtliche Handhabe gegen haben.
Eben.
Und im Fall von Android-Apps muss man auf alternative App-Stores, wie
F-Droid, ausweichen. Im Gegensatz zu iOS ist sowas bei Android auch
offiziell vorgesehen und nicht nur per Hack erreichbar.
Allerdings wie oben erläuert - wenn eine bestimmte Funktionalität
generell abgeschafft wird, hilft auch das nicht.