Inhalt

  1. Was ist XMPP?
  2. Nutzung von XMPP
    1. Serveranbieter
    2. Client-Programm
  3. Features von XMPP

Hintergrund zu XMPP

I. Was ist XMPP?

XMPP-Logo Das „Extensible Messaging and Presence Protocol“ (XMPP) ist ein offener Standard für Sofortnachrichtendienste und war früher unter dem Namen „Jabber“ bekannt, den viele der Einfachheit halber auch heute noch verwenden. XMPP gibt es in seiner Urform seit 1999, doch wird der Standard immer weiter entwickelt, sodass er — aktuelle Software vorausgesetzt — auch heute noch modernen Anforderungen genügt und sich stetiger Beliebtheit erfreut. XMPP ist von der Konzeption her ähnlich wie bekannte IM-Dienste wie WhatsApp®, hängt allerdings nicht von einem zentralen Anbieter ab und kann damit höhere Gewährleistungen für die Privatsphäre bieten. Aus Nutzerperspektive dürfte dies der gewichtigste Unterschied zu bekannten IM-Diensten sein.

Dem Grunde nach kann jeder mit dem notwendigen technischen Wissen einen XMPP-Dienst einrichten, der dann mit jedem anderen XMPP-Dienst in Verbindung treten kann. Wie von E-Mail her bekannt, wählt der Nutzer daher einen Anbieter seines Vertrauens und ist danach in der Lage, mit Nutzern auch bei anderen Anbietern zu kommunizieren. Nicht von ungefähr sieht die XMPP-Kennung eines Nutzers — die sog. „JID“ („Jabber-ID“) — aus wie eine E-Mail-Adresse, z.B. „mustermann@example.com“. Diese Dezentralität bezeichnet man gemeinhin als „Föderation“.

Zuweilen wird kolportiert, XMPP sei tot und/oder unmodern. Die überaus emsige Arbeit der in die fortlaufende Standardisierung von XMPP involvierten Gremien unter der Regie der XMPP Standards Foundation, einer gemeinnützigen Stiftung, zeigt das genaue Gegenteil. Derzeit befinden sich etwa eine Revision des Gruppenchats und eine neue Generation von Ende-zu-Ende-Verschlüsselung in Arbeit. Richtig ist, dass XMPP als dezentraler Dienst davon abhängt, dass möglichst viele Personen XMPP-Dienste in zuverlässiger Weise anbieten, was in der Vergangenheit nicht immer der Fall war und zu Ausfällen bei populären Servern geführt hat. Je mehr Server an der Föderation teilnehmen, desto geringer sind allerdings die Auswirkungen des Ausfalls eines einzelnen Servers. Auch zu Phönixmail gehört ein XMPP-Service, der an der Föderation teilnimmt.

XMPP ist ein erweiterungsfähiger Standard (daher auch der Name). Diese Erweiterungen, von denen im Laufe der Zeit hunderte entworfen, akzeptiert, verworfen wurden bezeichnet man als „XEP“ („XMPP Extension Protocol“). Wenn Serverbetreiber die von ihnen unterstützten Erweiterungen von XMPP angeben, stellen sie üblicherweise eine Liste dieser XEPs zur Verfügung.

Ein besonders populärer Mythos über XMPP verdient eine eigene Erwähnung. Es wird behauptet, XMPP sei auf Smartphones zum Scheitern verurteilt, weil aufgrund der technischen Funktionsweise eine permanente Verbindung zum XMPP-Server erforderlich sei und deswegen der Smartphone-Akku in kürzester Zeit leer sei. Diese Behauptung ist falsch. Sie findet ihre Begründung in alter Software, die aktuelle XEPs nicht unterstützt und zudem die Verbindung nicht nur passiv aufrechterhält, sondern auch noch permanent Daten darüber sendet und/oder so programmiert ist, dass die Verbindung in einer Schleife mehrfach pro Sekunde auf neue Daten abgefragt wird statt sich vom Betriebssystem über neue Daten benachrichtigen zu lassen. Richtig implementierte Software legt dieses Problem nicht an den Tag und hat keinen nennenswerten Effekt auf die Akkulaufzeit des Smartphones.

II. Nutzung von XMPP

1. Serveranbieter

Um XMPP zu nutzen, muss man sich zunächst für einen Diensteanbieter entscheiden. Phönixmail steht nur meinem Freundeskreis offen, allerdings gibt es eine ganze Reihe von Serveranbietern auch aus Deutschland, darunter etwa jabber.de (spendenfinanziert, von Freiwilligen) und conversations.im (kommerziell). Diverse Hochschulen bieten zudem die Möglichkeit, den Uni-Account auch für XMPP zu benutzen, sodass eine separate Registrierung gar nicht mehr notwendig ist; Informationen dazu sind auf den jeweiligen Hochschulwebseiten verfügbar. Das digitale Echo veröffentlicht periodisch Listen deutscher XMPP-Server-Anbieter.

Bei der Wahl des Serveranbieters sollte man Wert auf die Aktualität der Server-Software legen. XMPP befindet sich derzeit unter dem Eindruck großer geschlossener, aber dafür populärer Chat-Dienste in einem tiefgreifenden Wandel, der sich nach außen hin durch zahlreiche neue XEPs bemerkbar macht, die von alter Server-Software nicht unterstützt werden. Daneben wurde auch der XMPP-Kern selbst neu standardisiert — Server, die XMPP nicht nach dem aktuellen Grundstandard RFC 6120 unterstützen, sollten gemieden werden. XEPs, auf deren Unterstützung man in einem typischen Smartphone-Szenario Wert legen sollte, sind:

2. Client-Programm

XMPP ist im Gegensatz zu den großen, geschlossenen Chat-Diensten gerade nicht an ein bestimmtes Chatprogramm gebunden. Daraus hat sich eine gewisse Vielfalt von Programmen entwickelt, die man als „Clients“ bezeichnet. Clients gibt es für Smartphones und für herkömmliche PCs, daneben gibt es auch Konsolenprogramme und Webservices. Wer die Wahl hat hat die Qual, und ähnlich wie schon bei der Wahl des Anbieters sollte bei der Wahl das Clients auf die Unterstützung aktueller Standards geachtet werden. Die Liste von XEPs unterscheidet sich dabei nicht wesentlich von der für Server, mit der prominenten Ausnahme von XEP-0384: OMEMO Encryption, dem zukünftigen Verschlüsselungsstandard. Speziell in dieser Hinsicht ist allerdings darauf hinzuweisen, dass die XEP noch sehr experimentell ist und damit gerechnet werden muss, dass sich noch viel ändert. Solange der Standard nicht stabil ist, sollte für die Zwecke von Ende-zu-Ende-Verschlüsselung auf die althergebrachte (unstandardisierte) OTR-Technik zurückgegriffen werden, die allerdings erhebliche Probleme bei der Nutzung von Smartphones aufweist. Die Entwicklungen rund um OMEMO gehören zu den derzeit schwierigsten und meist diskutierten Themen im XMPP-Bereich.

Es gibt nur eine Handvoll von Clients, die vor dem aktuellen, sehr beweglichen Hintergrund empfohlen werden können, da sie noch aktiv entwickelt werden:

III. Features von XMPP

Herkömmlicherweise wird viel Zeit darauf verwandt, zu erklären, welche Features XMPP eigentlich so hat. Ich halte das nicht für erforderlich, da Sofortnachrichtendienste nicht wirklich mehr eine Neuheit darstellen. Man darf sagen, dass XMPP alles bietet, was man von sonstigen Sofortnachrichtendiensten auch kennt, jedenfalls bei Einsatz aktueller Client- und Server-Software. Im Bereich von nicht auf Sofortnachrichtendienste bezogene Funktionen unterstützt XMPP grundsätzlich auch Audio- und Video-Telefonie über XEP-0166: Jingle, allerdings ist die Kompatibilität zwischen verschiedenen Clients erfahrungsgemäß sehr beschränkt. Als nicht wirklich Chat-bezogene Funktionalität ist das aber ein eher kleines Manko, da Smartphones tatsächlich noch noch eine reguläre Telefoniefunktion besitzen. Wer eine freie Alternative für Videotelefonie sucht, ist mit WebRTC heute wesentlich besser bedient.

Das XMPP-Logo ist © XMPP Standards Foundation und unter der MIT-Lizenz lizenziert.