Hip Chat und Slack sind in, wenn es um die Kommunikation mit Kunden oder Kollegen geht. Doch in Sachen Datenschutz sind diese Dienste ein Alptraum. Inspircd, Rocket Chat oder Matter Most bieten sich als bessere Alternativen an.
Natürlich wollen Kollegen auch dann untereinander kommunizieren, wenn sie nicht nebeneinander sitzen, sondern auf zwei Etagen oder Städte verteilt sind. E-Mails sind eine Möglichkeit, aber wenn einer nur mal eben eine Antwort auf eine simple Frage braucht nicht die beste. Kommunikation in Echtzeit hat sich deshalb in den meisten Firmen durchgesetzt: Irgendeine Art von Chat findet sich in beinahe jedem Unternehmen. Oft nutzen die Mitarbeiter die vorhandenen Systeme auch für den Plausch mit Kunden – der kurze Dienstweg zwischen Technikern führt einfach schneller zur Lösung eines Problems als E-Mail-Pingpong.
Während die Idee hinter der Nutzung von Realtime-Chats immer gleich blieb, hat sich seit 15 Jahren bei der Technik einiges getan. Heute finden sich unzählige Programme unterschiedlichen Ursprungs. Viele Unternehmen bauen etwa auf das IRC-Protokoll, das aber ohne Verschlüsselung daherkommt. Andere Ansätze sind Web-basiert und bieten TLS ab Werk. In den letzten Jahren wurden zwei größere Dienst besonders beliebt: Hip Chat [1] und Slack [2].
Die Gründe für den Erfolg beider Lösungen sind vielfältig. Beide lassen sich einfach aus einem Webbrowser heraus nutzen, sodass die Installation eines Clients unnötig ist (wobei Hip Chat sogar einen Desktopclient bietet, falls das doch jemand möchte). Beide Dienste hostet im Normalfall der Software-Anbieter: Man braucht also keine eigene Infrastruktur zu betreiben und auch die Fehlersuche entfällt. Und beide Systeme bieten angenehme Zusatzfeatures, etwa Formatierung für Code, automatische Linkvorschau oder das Einbetten von Fotos in den normalen Chat.
Gerade das Hosting bereitet Unternehmen aber auch Sorgen. Wer Chat für die Kommunikation unter Kollegen praktiziert, kann nicht sicher verhindern, dass auch Firmeninterna durch diesen Kanal wandern. Bei Hip Chat landen die Daten direkt auf Amazon-Servern, also bei einem amerikanischen Unternehmen. Bei Slack ist es ganz ähnlich. Nutzer, die sensible Daten geschützt wissen wollen, empfinden dabei Unbehagen. Fast zwangsläufig stellt sich die Frage, wie sich verhindern lässt, dass Firmendaten unnötig nach außen gelangen.
Der folgende Artikel stellt drei Alternativen zu Slack und Hip Chat vor: Inspircd [3], Matter Most [4] und Rocket Chat [5]. Bei allen Probanden haben die Tester dabei darauf geachtet, ob eine eigene Clientsoftware nötig ist und wie sie sich im Unternehmenseinsatz bewähren.
Inspircd
Den Anfang macht Inspircd, das bereits im Namen verrät, worum es geht: Inspircd ist ein IRC-Server. Das ist kein Ausweis für besonderen Adel: Fast alle IRC-Server sind verwandt und in den seltensten Fällen sind sie Admin-freundlich zu betreiben. Beim IRC-Protokoll handelt es sich um eines der ältesten Kommunikationsprotokolle des Internets, das zudem in einem RFC ausführlich dokumentiert ist [6]. Doch richtet sich nach diesem RFC kein etablierter IRC-Server. Stattdessen hielten viele Admins es über die Jahre für eine gute Idee, das Protokoll um immer neue Funktionen zu erweitern. So hat sich ein wild schnatternder Zoo aufgeblähter IRC-Server entwickelt, von denen jeder ähnlichen Einschränkungen unterliegt.
Inspircd erhebt den Anspruch, anders zu sein: Es handelt sich nicht um einen Fork des Ur-IRCd, sondern um eine komplette Neuentwicklung in C++. Die Entwickler versprechen, dass Inspircd deshalb auch nicht unter den Bugs und den Einschränkungen leidet, die den Admins bei anderen IRC-Daemons das Leben schwer machen.
Schon bei der Installation von Inspircd zweifelt der Admin aber daran. Denn Inspircd liegt den Serverdistributionen nicht bei. Pakete für Suse, Red Hat, Debian oder Ubuntu fehlen. Lediglich für Windows stellen die Autoren selbst einen Installer zur Verfügung. Wer den Dienst auf einer Linux-Distribution betreiben will, wirft den Compiler an. Das ist machbar, aber nicht sehr bequem.
Ganz viele Features
Weitere Zweifel an der einfachen Bedienung von Inspircd weckt ein Blick auf dessen Featureliste. Im Wiki des Programms vergleichen die Autoren ihr Werk mit anderen gängigen IRC-Servern – und stellen ganz lapidar fest, dass Inspircd praktisch alles kann, was in Sachen Funktionalität bei IRC-Servern jemals erfunden worden ist. Die grundlegende Konfiguration geht zunächst leicht von der Hand, doch die fortgeschrittenen Features setzen auf Admin-Seite einiges an Lektüre der einschlägigen Dokumentation voraus (Abbildung 1).
Immerhin: Inspircd bringt die gesamte Funktionalität in sehr wenig Code unter, im Vergleich mit Unreal IRCd begnügt es sich mit deutlich weniger als der Hälfte der Codezeilen. Trotzdem unterstützt es etwa SSL-Verschlüsselung, wenn der Client die nötigen Voraussetzungen dafür mitbringt. Auch mit Zusatzdiensten wie den IRC-Services lässt sich Inspircd kombinieren. Wer etwa einen Bot braucht, der bestimmte Kanäle verwaltet, verbindet diese mit Inspircd.
Eine Frage des Clients
Anders als Hip Chat oder Slack ist Inspircd tatsächlich nur ein Server. Einen passenden Client bieten die Autoren nicht an. Wozu auch: IRC-Clients existieren für jede beliebige Plattform in großer Menge. M-IRC für Windows und das Kommandozeilen-basierte »irssi« sind nur zwei Beispiele.
Für den Admin ist das Fluch und Segen zugleich: Zwar darf er voraussetzen, dass jeder potenzielle Chatteilnehmer aus einer Fülle von Alternativen wählen kann. Allerdings bürdet er dem Nutzer so auch die Wahl auf und muss damit rechnen, dass viele verschiedene Clients zum Einsatz kommen.
Das verhindert, dass sich verschiedene Zusatzfunktionen nutzen lassen: IRC ist ein reines Textprotokoll. Eine automatische Vorschau von Links ist im IRC-Protokoll nicht vorgesehen. Freilich können Clients solche Features in Eigenregie nachrüsten. Problematisch ist das Konzept jedoch, wenn unterschiedliche Clients aufeinandertreffen: Client A könnte etwa als Vorgabe haben, dass er Text, dem das Tag »<code>« vorangestellt ist, automatisch in Festbreiten-Schriftart und ohne Umbrüche darstellt. Ein anderer Client würde ein solches Tag aber als normalen Text anzeigen.
Ein anderes Beispiel für die Probleme, die dieser Ansatz hat, ist das Thema Filesharing: IRC selbst bietet keinerlei Möglichkeit, Dateien vorzuhalten, sodass andere Benutzer sie herunterladen können. Der Austausch von Dateien bei IRC erfolgt mittels DCC (Direct Client-to-Client). Der Name verrät bereits, dass eine direkte Verbindung zwischen beiden Clients zustande kommen muss, damit der Austausch klappt.
Allerdings verbieten praktisch alle gängigen Firewalls solche Verbindungen, und die Umkonfiguration der Firewall ist auch nicht die einzige Herausforderung. Denn zusätzlich muss Port Forwarding funktionieren, wenn etwa einer der beiden Clients per NAT ins Netz geht. Aus dem Alltag der großen IRC-Netze ist der Datenaustausch per DCC aus eben diesem Grund mittlerweile fast komplett verschwunden. Die wenigsten Admins wollen für diesen Zweck ihre Firewall durchlöchern.
Einen möglichen Ausweg bieten Web-basierte IRC-Clients wie Kiwi IRC [7], die der Admin zusammen mit Inspircd auf demselben Host betreibt (Abbildung 2). Deren Nutzung lässt sich auf der Inspircd-Ebene sogar erzwingen, sodass eine völlig homogene Clientlandschaft möglich ist. Ein solches Setup fordert den Admin allerdings ein weiteres Mal in Sachen Installations- und Konfigurationsarbeit. Der Mühe Lohn ist ein einfacher Weg für Kunden oder Lieferanten, direkt mit einzelnen Mitarbeitern in Kontakt zu treten. Dazu genügt ein entsprechend präparierter Link zum Web-IRC-Client.
Matter Most
Die datenschutzrechtlichen Probleme von Hip Chat und Slack sind freilich schon vor Jahren vielen Community-Mitgliedern aufgefallen. Da wundert es nicht, dass auch fernab etablierter Protokolle IRC-Alternativen zu den beiden Platzhirschen existieren. Matter Most [4] ist ein typisches Beispiel: Die Autoren der Lösung bewerben diese als “moderne Slack-Alternative” und legen so den Anspruch an sich selbst fest.
Tatsächlich haben Matter Most, Slack und Hip Chat unverkennbare Gemeinsamkeiten: Alle drei Dienste bieten ein natives Webinterface, das sich ohne zusätzlichen Client einsetzen lässt. Alternativ dazu gibt es für alle auch native Clients, die sich auf dem eigenen Desktop betreiben lassen.
Die Optik ist immer gleich: Typische Komfortfunktionen wie etwa die Vorschau bei Weblinks sind genauso Standard wie Formatvorlagen, um etwa Quelltext ordentlich formatiert darzustellen. Im Gegensatz zu Hip Chat und Slack lässt sich Matter Most allerdings lokal betreiben. Wer den Dienst also nutzen will, lagert seine Daten nicht automatisch auf externe Server aus.
Hoher Installationsaufwand
Damit das klappt, muss allerdings der Admin ran. Leicht macht Matter Most es ihm nicht: Auf der Programm-Website finden sich Anleitungen für gängige Linux-Distributionen, die sich jeweils über viele Bildschirmseiten erstrecken. Am Anfang steht die Installation einer Datenbank, wobei die Matter-Most-Entwickler zu PostgreSQL raten. Seine gesammelten Daten speichert Matter Most in eben dieser Datenbank.
Für größere Dateien will Matter Most zusätzlich eigenen Plattenspeicher; lädt ein Nutzer etwa eine größere Datei in den Chat, landet diese automatisch in einem separaten Datenverzeichnis. Dort steht sie für andere Chat-Teilnehmer anschließend zum Download bereit.
Wenn die Datenbank läuft, ist das Setup noch lange nicht fertig: Matter Most selbst ist der nächste Eintrag auf der To-do-Liste. Fertige Pakete für die gängigen Serverdistributionen suchen Admins wie bei Inspircd allerdings vergebens. Der Betrieb des Dienstes führt zwangsläufig über den Download eines Tarballs, der anschließend auf dem Zielhost zu entpacken ist. Die Konfigurationsdatei von Matter Most ist in Json verfasst und damit nicht besonders gut lesbar, in ihr stellt der Admin aber ohnehin vorrangig die Daten für den Login bei der PostgreSQL-Datenbank ein.
In Schritt 3 steht die Installation von Nginx an: Die Entwickler empfehlen, Matter Most hinter einer Firewall zu betreiben. Nginx kommt im Setup dann die Funktion eines Proxyservers zu, der eingehende Verbindungen entgegennimmt und an den eigentlichen Matter-Most-Server weiterleitet. Weil Nginx auch als SSL-Terminator funktioniert, lässt sich Matter Most mit vorgeschaltetem Nginx als SSL-Dienst betreiben. Wenn das Dreigespann aus PostgreSQL, Matter Most und Nginx fertig ist, stehen finale Konfigurationsarbeiten an: Die erledigt der Admin aber direkt im Matter-Most-Konfigurator, auf den er schon per Webbrowser zugreift.
Ein Füllhorn an Funktionen
Wenn Matter Most erst einmal läuft, macht das Produkt viel Spaß. Das liegt am reichhaltigen Featureset: Neben den schon erwähnten Formatierungsfeatures bietet Matter Most etwa eine systemweite Volltextsuche. Mit Themes lässt sich die äußere Erscheinung an persönliche Präferenzen oder Vorgaben des Unternehmens anpassen. Ein Chatsystem im CI-Design der Firma ist durchaus machbar (Abbildung 3).
Matter Most richtet sich vorrangig an Slack-Aussteiger, das ist an vielen Stellen klar erkennbar. Die Slack-Apps etwa erweitern Slack selbst um viele Funktionen, die in der Vanilla-Version fehlen und die Dritte beisteuern. Matter Most hat eine Schnittstelle für Webhooks, die die Einbindung von Slack-Apps in Matter-Most-Chats erleichtern. Obendrein lassen sich Logs und Accounts aus Slack direkt in Matter Most importieren, was die Migration deutlich erleichtert. Wer ein Slack-Theme nutzt, kann es in Matter Most importieren und findet dort sogar mehr Konfigurationsmöglichkeiten vor als beim Original.
Hinzukommen viele clevere Community-Funktionen: Über die schon erwähnten Webhooks lassen sich externe Systeme wie Github oder Gitlab direkt in den Dienst einbinden. Unter einem Webhook verstehen die Entwickler eine URL, die das jeweilige Versionskontrollsystem aufruft, wenn eine bestimmte Aktion passiert (Abbildung 4). Weil Matter Most die gleiche Syntax für Webhook-Aufrufe wie Slack nutzt, ist Slack problemlos durch Matter Most zu ersetzen.
Ein eigenes Plugin für Gitlab verbindet den Dienst noch enger mit Matter Most: Pull-Requests, Kommentare und Issues lassen sich damit nativ in der Chatsoftware darstellen.
Wer Gitlab mit LDAP-Anbindung betreibt, nutzt Gitlab auf Wunsch als Quelle für das Single Sign-on und sorgt so dafür, dass sich alle Mitarbeiter mit ihren LDAP-Credentials direkt an Matter Most anmelden. Eine eigene Nutzerverwaltung bietet direkt in Matter Most die Möglichkeit, Hierarchiestufen eines Unternehmens im Kommunikationssystem abzubilden. Das funktioniert auch dann, wenn LDAP als Quelle für Nutzerdaten zum Einsatz kommt. Hinzu kommt ein IRC-Gateway: Es übersetzt zwischen Matter Most und einem beliebigen IRC-Server.
Ein gelungenes Produkt
Insgesamt macht die Arbeit mit Matter Most Spaß – nachdem man sich durch die Installation gekämpft hat. Für Testzwecke stehen Images mit Matter Most sowohl in Amazons Clouddienst als auch in Form von Docker-Containern bereit. Wer den Dienst produktiv einsetzen möchte, kommt um das händische Setup aber nicht herum. Bloß in Sachen Client herrscht noch Verbesserungsbedarf: Für OS X, Windows oder Linux steht der Desktopclient Matter Front bereit. Auch für Apples I-OS findet sich im Appstore ein nativer Matter-Most-Client.
Nur Android-Nutzer mussten zu Redaktionsschluss noch mit einer Apk-Datei vorliebnehmen, weil der Matter-Most-Client für Android offiziell noch nicht fertig war. Doch ließe sich das Webinterface von Matter Most auf Android nutzen – ein entsprechendes Theme für mobile Geräte ist auch in Matter Most enthalten.
Wenn es den Entwicklern noch gelingt, fertige Pakete für verschiedene Linux-Systeme anzubieten und die in Golang und React gebaute Software sinnvoll automatisch installierbar zu machen, darf Matter Most wohl als Slack- und Hip-Chat-Killer gelten.
Rocket Chat
Der dritte Proband im Test ist Rocket Chat [5]. Die Lösung positioniert sich im gleichen Segment wie Matter Most: Sie will eine Alternative zu Hip Chat und Slack bieten. Auch Rocket Chat serviert ein All-Inclusive-Paket: Der Dienst bietet ein Webinterface; alternativ ist der Zugriff per nativem Client möglich.
Der wohl größte Unterschied besteht in der Art der Kommunikation, die Rocket Chat eröffnet: Normaler Textchat ist mit dem Dienst genauso möglich wie der Austausch von Sprachnachrichten oder der Videochat mit Web-RTC. Rocket Chat selbst ist in Node JS implementiert, der Betrieb setzt also eine funktionierende Node-JS-Installation voraus.
Bevor der Admin sich über Node JS Gedanken macht, muss er das Zielsystem für Rocket Chat allerdings erst einmal vorbereiten: Auch Rocket Chat besteht darauf, Zugriff auf eine Datenbank zu haben. Wie Matter Most legt Rocket Chat in seiner Datenbank persistente Daten wie Chatinhalte ab, sodass diese nachträglich abrufbar sind. Die Rocket-Chat-Entwickler haben für diese Aufgabe Mongo DB als Mittel der Wahl auserkoren. Vor der Rocket-Chat-Installation steht also die Mongo-DB-Konfiguration.
Auch hier: Umständliche Installation
Wenn Mongo DB installiert ist, folgt Rocket Chat selbst: Wie Inspircd und Matter Most stellen die Rocket-Chat-Entwickler keine Pakete für Suse, Red Hat oder Debian/Ubuntu zur Verfügung. Auch hier erfolgt die Installation per Tarball, den der Admin auf dem Zielsystem in ein frei wählbares Verzeichnis entpackt. Der Start von Mongo DB geschieht mit einfachem »node« -Aufruf – ein Initskript oder ein Systemd-Unitfile liegt der Lösung nicht bei. Der Admin muss also selbst Hand anlegen, wenn er Rocket Chat automatisch starten will.
In ihrer Installationsanleitung weisen die Entwickler darauf hin, dass die händische Installation ihrer Meinung nach nicht der beste Weg ist, um schnell zu einer laufenden Rocket-Chat-Instanz zu kommen. Stattdessen soll der Admin auf Hosting-Plattformen wie Sandstorm oder Heroku ausweichen.
Das würde allerdings den Vorteil des selbst gehosteten Systems samt Kontrolle über alle Daten zunichte machen. Als Mittelweg stehen Docker-Container bereit, die vielen Admins jedoch wegen des Blackbox-Faktors sauer aufstoßen: Hier liefert sich der Admin dem Wohlwollen der Autoren des Containers aus und ist auf Updates von diesen angewiesen, falls sie – etwa aus Sicherheitsgründen – notwendig sein sollten.
Schönes UI, praktische Features
Ein Blick auf die Featureliste offenbart, dass auch Rocket Chat sich klar an Slack orientiert. Egal ob die Verbindung per Webbrowser oder mittels der nativen Desktop-App erfolgt: Die grafische Oberfläche von Rocket Chat ist angenehm und unaufdringlich. Standardfeatures wie die automatische Anzeige einer Vorschau bei geposteten Links funktionieren tadellos (Abbildung 5). Auch der Upload von Dateien für andere Chatteilnehmer klappt, wobei Rocket Chat die Dateien auf dem Server dauerhaft ablegt. Wie für Matter Most sollte auch für Rocket Chat also genug Plattenplatz zur Verfügung stehen.
Ein eigenes API
Rocket Chat bietet ein eigenes API, das nach dem REST-Prinzip funktioniert. Auf Basis der öffentlichen Rocket-Chat-Dokumentation ist es etwa möglich, sich mit einem Nutzerzugang an dem API anzumelden und alle ungelesenen Nachrichten aus einem bestimmten Kanal so abzufragen. Gedacht ist das API allerdings für etwas anderes: Rocket Chat implementiert mit seinem API die gleichen Funktionen, die bei Matter Most als Webhooks gelten.
Github, Gitlab, Jira und Confluence lassen sich so dazu bringen, bei bestimmten Events über eine URL das Rocket-Chat-API aufzurufen. Die Commit-Message einer Änderung in Gitlab landet auf Wunsch also direkt im Chatkanal der beteiligten Entwickler. Wer die Integration selbst nicht schreiben möchte, greift alternativ auf den Hubot zurück: Der sorgt für Gitlab- und Github-Verzeichnisse selbst für die korrekte Integration in Rocket Chat.
Zusätzlich zum API bietet Rocket Chat auch eine Plugin-Schnittstelle, über die der Dienst sich praktisch nach Belieben erweitern lässt. Ein Beispiel dafür ist die Screenshare-Extension: Durch sie lässt sich direkt aus Rocket Chat heraus der Inhalt des eigenen Displays an einen anderen Nutzer exportieren. Passende Plugins für Chrome und Firefox stellt Rocket Chat in den jeweiligen Extension-Stores zur Verfügung.
Wer mehr als eine Rocket-Chat-Installation betreiben möchte, findet Freude am Federation-Feature der Lösung: Mit ihm lassen sich mehrere Server zu einem Netzwerk zusammenschalten. Federation bietet außerdem Gateway-Features für IRC, Slack, Skype oder Asterisk. Wer außerdem die Oauth-Erweiterung für Rocket Chat installiert, hält die Nutzerdatenbanken aller Server synchron.
Hakelige Angelegenheit: Native Apps
Erst kurz vor Redaktionsschluss haben die Rocket-Chat-Entwickler eine neue Version 1.1.0 ihrer nativen Desktopapplikation veröffentlicht. Viele Nutzer mögen Web-basierte Chats nicht, weil sich diese nie so gut in einen Desktop einfügen wie ein eigenes Chatprogramm. Als Beispiel sei das Programmicon erwähnt, das bei OS X im Dock ein Symbol für neue Nachrichten anzeigen kann. Ebenfalls praktisch ist es, wenn sich Notifications des Chatclients im Tray des Systems wiederfinden, weil Nutzer darauf meist ein Auge haben.
Rocket Chat war in Sachen Desktopapplikation in der Vergangenheit nicht immer auf der Höhe der Zeit: Die Vorversion von Rocket Chat Electron – so der Name der Rocket-Chat-Anwendung – lief zum Beispiel auf OS X nicht zuverlässig. Inzwischen haben die Entwickler das Problem in 1.2.0 gelöst.
Aktuell bietet das Projekt für Electron Pakete für OS X und Windows an, und ein Deb-Paket steht ebenfalls bereit. Auch an mobile Nutzer haben die Entwickler gedacht: Sowohl in Googles Play Store wie auch im Apple-Appstore stehen Rocket-Chat-Clients bereit. (Abbildung 6).
Fazit
Hip Chat und Slack haben mit Inspircd, Rocket Chat und Matter Most potente Konkurrenz bekommen, die bei der Featureliste ihre Vorbilder teils sogar übertreffen. Doch bieten gehostete Dienste noch immer einen großen Vorteil: Nach der Anmeldung ist das Chatsystem sofort bereit, jede weitere Konfiguration erstreckt sich höchstens auf das Aussehen oder Verhalten des Clients, nicht aber auf seine grundlegende Funktionalität.
Wer ein System im Stil der vorgestellten Werkzeuge selbst betreiben möchte, kommt um einige Installations- und Konfigurationsarbeit nicht herum. Auch der Betrieb der Chatlösung ist aufwändiger: Sicherheitsupdates für einzelne Komponenten wollen etwa regelmäßig eingespielt sein, damit in der Chatumgebung keine Sicherheitslöcher klaffen.
Im Gegenzug bekommt ein Unternehmen jedoch die gute Gewissheit, dass die Chatinhalte auf einem eigenen Server lagern. In der EU ist das ein wichtiger Faktor, denn Firmen sind hierzulande qua Gesetz an Standards in Sachen Datenschutz gebunden.
Alle drei vorgestellten Ansätze haben spezifische Vor- und Nachteile. Wer auf der Suche nach einer Kommunikationslösung für Teams ist, sollte selbst gehostete Lösungen jedenfalls in seine Überlegungen einbeziehen, statt das eigene Geld mitsamt den eigenen Daten gleich zu Slack oder Hip Chat zu tragen. Matter Most scheint im Augenblick der stärkste der Kandidaten zu sein, auch wenn sein Vorsprung nur klein ist. Wer ein erprobtes Protokoll und Vielseitigkeit in Sachen Client will, kombiniert mit wenig Schnickschnack, fährt mit Inspircd am besten.
Infos
- Hip Chat: https://www.hipchat.com
- Slack: https://slack.com
- Inspircd: http://www.inspircd.org
- Matter Most: http://www.mattermost.org
- Rocket Chat: https://rocket.chat
- IRC RFC 2812: https://tools.ietf.org/html/rfc2812
- Kiwi IRC: https://kiwiirc.com












