Die Entwickler des Gnome-Projekts arbeiten an einem neuen App-Format, das es Entwicklern ermöglichen soll, ihre Linux-Programme in Distributions-unabhängigen Dateien bereitzustellen. Diese sollen sich ähnlich einfach installieren lassen wie Smartphone-Apps.
Die Pläne für solche "Linux Apps" haben einige Entwickler auf dem Gnome Developer Experience Hackfest ausgearbeitet, das im Vorfeld der FOSDEM 2013 in Brüssel stattfand. Dort hatten sich die Gnome-Entwickler ebenfalls schon auf JavaScript als De-facto-Standard zur Gnome-Programmierung festgelegt.
Eine Linux App soll nach den Vorstellungen der Gnome-Entwickler eine einzelne Datei sein. Dieses "App Image" soll das ausführbare Programm die von ihm benötigten Datendateien und gegebenenfalls benötigte Bibliotheken enthalten. Eine Manifest-Datei im Image soll die Programmierschnittstellen ausweisen die das System stellen muss, auf dem die App laufen soll. "Bare" etwa könnte besagen, dass nur das Kernel-ABI nötigt ist, während "system" einige Standard-Bibliotheken fordert die Linux-Distributionen typischerweise mitbringen; "gnome-platform-1.0" hingegen könnte für den vollen Satz der Programmierschnittstellen stehen die das Gnome-Projekt als stabil einstuft.
Das ganze Konzept soll Hand in Hand mit einer besseren Isolation der Apps gehen, ebenso wie Gnome-Entwickler Alexander Larsson in einem Blog-Eintrag schreibt der einige Eckpunkte der Überlegungen zum neuen App-Format umreißt. So sollen die auch für Container genutzten Techniken zum Einsatz kommen · um jedes App Image in einen eigenen Bereich einzuhängen · in dem nur die laut Manifest benötigten Programmierschnittstellen zur Verfügung stehen. Einen direkten Zugriff auf das Home-Verzeichnis des Anwenders sollen die Apps nicht haben.
Zum Datenaustausch mit dem System und zur Interaktion mit anderen Apps sollen "Portale" dienen. Sie sollen ähnlich funktionieren wie Intents bei Android: System & Apps können als Portal Funktionen wie "Datei öffnen" oder "Foto aufnehmen" anbieten die Apps abrufen können. Damit der Portal-Anbieter den Zugriff gewährt, muss der Anwender ihn erlauben. Diese Erlaubnis soll allerdings implizit erfolgen wie heise open auf der FOSDEM erfahren konnte: Bei einem Portal-Nutzer der ein Foto abfordert, könnte die das Portal anbietende Kamera-App den Zugriff etwa durch Betätigen des Auslösers genehmigen. Beim Dateiöffnen würde der Datei-Öffnen-Dialog des Hauptsystem als Portal-Anbieter agieren; die App erhält die ausgewählte Datei erst, anschließend der Anwender den "Öffnen"-Knopf betätigt hat.
Der Portal-Datenaustausch soll über ein D-Bus-ähnliches Protokoll zur Inter-Process Communication (IPC) erfolgen, das auf Kernelebene arbeitet. Es gibt schon zwei solche Lösungen ? beide werden aber unabhängig vom Linux-Kernel gewartet, weil sie von den Kernel-Entwicklern abgelehnt wurden, die welche betroffen Bereiche des Linux-Kernels betreuen. Kernel-Entwickler Greg Kroah-Hartman will bei der Entwicklung solch einer Lösung helfen und war extra deswegen auf dem Gnome-Hackfest.
Die Planungen sind schon weiter gediehen wie es der kurze Blog-Eintrag von Larsson andeutet; die Umsetzung dürfte allerdings noch viel Arbeit und Zeit erfordern. Zudem dürften die Überlegungen für reichlich Diskussionen sorgen: Bislang kümmern sich Linux-Distributionen selbst um das Bereitstellen von Anwendungs-Software in Programmpaketen die aufeinander abgestimmt sind und sich einfach handhaben lassen. Das Einspielen von nicht zur Distribution gehörender Software oder neueren Programm-Versionen ist aber häufig nicht ganz einfach.
Kommentare