OStatus, Fediverse, ActivityPub

Mastodon

Mastodon

Es ist mal wieder soweit. Die Benutzer von Twitter suchen aus unterschiedlichen Gründen Alternativen.
Hier im Blog hatte ich ja bereits einige vorgestellt (Friendica, GnuSocial, Mastodon und ein paar andere mehr).
Das Mastodon Projekt hat sich in letzter Zeit weiterentwickelt und daher wechseln viele Benutzer von Twitter zu Mastodon oder probieren es aus. Der ursprüngliche Plan für diesen Blog Post war der Wunsch mehrerer Leser eine Beschreibung zu erhalten, wie man eine eigene Mastodon Instanz erstellt. Beim Installieren entdeckte ich allerdings viel mehr.

Nach der Installation von Mastodon war ich mir nicht mehr sicher, ob es sinnvoll ist, einen Blogpost mit vielen individuellen Befehlen für einen spezifischen Anwendungsfall, nämlich „den eigenen Server“ zu schreiben. Mastodon ist im Prinzip eine alternative Implementierung des GNU social Projekts und ist in Ruby on Rails geschrieben. Für das Mastodon Frontend werden React.js und Redux genutzt. 
Auf Root Servern mit Docker ist Mastodon recht einfach zu installieren aber nicht so einfach, dass 99% der User das einfach mal so machen. Ob so eine Docker basierte eigene Mastodon Instanz produktiv nutzbar ist, kann ich zum jetzigen Zeitpunkt ebenfalls nicht sagen. 
Für eine eigene Mastodon Instanz benötigst du in der Regel einen eigenen Root Server. Das GitHub Repository des Projekts (https://github.com/tootsuite/mastodon) ist DIE BESTE UND AKTUELLSTE  Informationsquelle für Installation und Konfiguration.

Auch wenn du dir keine eigene Instanz aufsetzt ist es ein guter Zeitpunkt sich mit dem Thema zu beschäftigen. Auf https://joinmastodon.org erhältst du den perfekten Überblick.

Ich habe mir dort auch einen User angelegt (https://mastodon.social/@hagengraf) und ihn mit meinem Twitter und meinem Instagram Account über eine „Brücke“ verbunden (https://moa.party). Tweets werden auf Mastodon gepostet und „toots“ (so heisst das auf Mastodon) erscheinen auf Twitter. Das heisst Cross Posting und ist nicht gut, weil die Netzwerke nicht kompatibel sind. Für den Anfang ist es allerdings ganz hilfreich um alles mal auszuprobieren. Allerdings werden Hashtags, Replies, Mentions unterschiedlich dargestellt und können zur Verwirrung führen. 

Genau dieses Problem lässt sich lösen und führt uns zu OStatus, dem Fediverse und ActivityPub.

OStatus

Mastodon ist kompatibel mit allen OStatus-Plattformen. OStatus ist ein offenes Protokoll, über das Microblogging Dienste kommunizieren können. Das hört sich abstrakt an, daher ein Beispiel:

Stell dir vor,

  • du benutzt Twitter und würdest gern die Instagram Posts eines Bekannten auf deiner Twitter Timeline sehen, weil du selbst kein Instagram nutzt
  • du benutzt Facebook und würdest gern die Twitter Nachrichten eines Bekannten in deiner Facebook Timeline sehen, weil du selbst kein Twitter benutzt
  • du benutzt Instagram und würdest gern die Posts von Twitter Nachrichten eines Bekannten in deiner Instagram Timeline sehen, weil du kein Twitter benutzt
  • du willst NICHT „cross-posten“

Bei Facebook, Twitter, Instagram und allen anderen „Walled Gardens“ geht das nicht, weil die Timeline vom jeweiligen Anbieter algorithmisch zusammengestellt wird, Werbung enthält und die einzelnen Dienste nicht miteinander kompatibel sind.

Bei Services, die OStatus benutzen, geht das.

Ich kann von meinem Mastodon User (@hagengraf@mastodon.social) einem anderen Mastodon User auf einer anderen Instanz (@HDValentin@chaos.social) folgen.

Ich kann auch von meinem Mastodon User (@hagengraf@mastodon.social) meinen Einträgen hier im Blog folgen (@hagengraf@blog.novatrend.ch). Immer wenn ein neuer Blog Post im Novatrend Blog erscheint, erhalte ich eine Nachricht in meiner Mastodon Timeline.

WordPress Posts in Mastodon

Wie geht das in WordPress?

Jeder Autor in WordPress hat eine Autorenseite. Hier im Blog ist das die URL https://blog.novatrend.ch/author/hagengraf/ für meine Autorenseite. Das OStatus Protokoll macht diese Seite und deren Blog Posts „ansprechbar“ und stellt den User so dar @hagengraf@blog.novatrend.ch.

WordPress Autorenseite

Damit das auch bei deinem WordPress funktioniert, musst du das OStatus Plugin und fünf weitere Plugins installieren. Das hört sich kompliziert an, ist es aber gar nicht, denn die benötigten Module lassen sich vom OStatus Modul aus installieren und es bedarf keiner weiteren Konfiguration (Hinweis: Wenn der Username ein Leerzeichen enthält, kann es zu Problemen kommen)

OStatus Plugin – Einstellungen

Wenn man davon ausgeht, dass die überwiegende Mehrzahl aller Websites, die ein Content Management System benutzen, mit WordPress erstellt sind, könnte OStatus ein wichtiges Feature sein.

Wenn Facebook, Twitter und Instagram, um im obigen Beispiel zu bleiben, das Protokoll OStatus unterstützen würden, könnte man WordPress Autoren einfach „folgen“, und Mastodon Usern, und GNU Social User, und, und, und …

Fediverse

In diesem Zusammenhang ist der Begriff Fediverse (Kombination aus  „federation“ und „universe“) interessant. Er wird verwendet, um die Föderation von Servern zu bezeichnen. Dadurch können auf unabhängig betriebenen Servern (Instanzen) erstellte Identitäten miteinander in Verbindung treten. Sie können Nachrichten voneinander empfangen, untereinander Daten austauschen oder vom Kommunikationspartner und von Dritten verfasste Beiträge und Kommentare verfolgen. Diese Aktionen können öffentlich oder mit Zugangsbeschränkungen stattfinden.

Die Website https://the-federation.info bietet einen aktuellen Live-Überblick über das Fediverse sowie eine Auflistung aller beteiligten Instanzen.
2.6 Millionen Benutzer halte ich in diesem Zusammenhang für eine durchaus beeindruckende Zahl.

https://the-federation.info 

ActivityPub

ActivityPub ist ein Standard, der im Januar 2018 vom World Wide Web Consortium verabschiedet wurde. 

Er basiert auf den Erfahrungen mit OStatus und ist eine Weiterentwicklung des ActivityPump Protokolls, über das ich hier im Blog auch schon mal geschrieben habe (pump.io – Die Basis für soziale Netzwerke).

ActivityPub beschreibt eine Client/Server API für das Erzeugen, Aktualisieren und Löschen von Inhalten sowie eine „federated server-to-server API“ um Nachrichten und Inhalte austauschen zum können.

Auch das hört sich erstmal sehr abstrakt an, ist aber beispielsweise in Nextcloud (Dropbox Alternative) implementiert und bietet daher ein sehr anschauliches Beispiel. Dateien und Ordner können zwischen verschiedenen Nextcloud Instanzen geteilt werden. 

Auch Mastodon unterstützt ActivityPub und will damit einen besseren Schutz von privaten Nachrichten erreichen (verglichen mit dem OStatus Protokoll).

Ausser Nextcloud und Mastodon bieten auf Pleroma (Mikoblogging ähnlich Mastodon), Hubzilla (eine Art Dashboard/CMS für das Fediverse) und PeerTube („föderiertes“ Videostreaming) ActicityPub an. Hier ein Beispielvideo das PeerTube etwas besser erklärt https://framatube.org/videos/watch/217eefeb-883d-45be-b7fc-a788ad8507d3.

Videodateien, die in einer Nextcloud liegen, könnten sich also bald über PeerTube streamen lassen, die Videos eines PeerTube Users könnte man wiederum bei Mastodon abonnieren, usw.

Menü in einer Hubzilla Instanz

Fazit

Auch wenn sich Begriffe wie Fediverse momentan noch etwas nach Science Fiction anhören, gibt es doch bereits zahlreiche Beispiele, dass es funktioniert.
Natürlich dauert die Entwicklung dezentraler Lösungen länger, verglichen mit hierarchischen Modellen wie bei Instagram und Twitter (siehe auch Dezentrale,  zentrale und verteilte Systeme).
Ein Fediverse ist möglich.


tl;dr: Es tut sich etwas in der „Föderation“ und das Fediverse wächst und wächst.

Autor: hagengraf

consultant, author, trainer, solution finder, web architect, developer, open source lover, visionary, orator, the good old webmaster. Able to simplify!

Kommentar verfassen