Es gibt immer mal wieder Kritik daran, dass man mit seinem Fediverse Account keine Suche über alle Instanzen im Fediverse starten kann.
Diese Kritik möchte ich aufgreifen und hier mit euch zusammen ein Konzept für eine Fediverse-Suchmaschine zu erarbeiten.
Problemstellung
Das Fediverse ist eine dezentrale Struktur, von Plattformen und deren Instanzen, die über das technische Protokoll ActivityPub kommunizieren.
Dabei ist es systembedingt so, dass eine Instanz immer nur dann eine Verbindung mit einer anderen Instanz aufbaut, wenn durch die User Interaktionen zwischen den Instanzen ausgelöst werden.
Die meisten Instanzen haben also nur Verbindungen zu einer Teilmenge aller Instanzen.
Zusätzlich speichert jede Instanz, nur die Kommunikation, die direkt mit ihr stattfindet, also wiederum auch nur eine Teilmenge dessen, was an Inhalten bei den Instanzen steht, mit denen sie verbunden ist.
Die Suche einer Instanz liefert deshalb immer nur eine kleine Teilmenge der Inhalte, die im Fediverse veröffentlicht werden.
Lösungsvorschlag
Es wird ein großer Server aufgesetzt, der die Möglichkeiten von ActivityPub und den anderen Fediverse Protokollen voll ausreizt. Dieser Server scannt ständig nach neuen Instanzen im Fediverse und stellt dann von sich aus, selbstständig eine Verbindung zu neu gefundenen Instanzen her.
Dann liest er alle verfügbaren öffentlichen Inhalte dieser Instanz aus und speichert diese Daten lokal in einer Datenbank, die mit umfassenden Indizes versehen wird.
An diesen Server können dann alle Instanzen im Fediverse eine Suchabfrage abschicken und so ihre User mit einer vollständigen Suchfunktion versorgen.
Offene Punkte
- Nicht öffentliche Inhalte kann so ein Server nicht durchsuchen.
- Der Server müsste eigentlich Nachrichten, die auf den Instanzen gelöscht wurden, auch löschen, wie kann das sichergestellt werden?
- Der Server würde sehr viel Plattenplatz und CPU Leistung für seinen großen Index und die Suchanfragen darauf benötigen, wie soll das finanziert werden?
Finde ich nachvollziehbar, allerdings wie willst Du verhindern, dass Deine Inhalte weit ausserhalb Deiner Bubble aufzufinden sind?
Mit der naechstbesten SearX-Instanz finde ich auch Inhalte auf Mastodon-Servern, die die Volltextsuche abgeschaltet haben. Insofern koennte man argumentieren, dass diese letztlich eher ihre eigenen Nutzer gaengeln als die Inhalte tatsaechlich vorm Auffinden zu schuetzen.
Eine Instanz, die Suchen selbst bereitstellt, haette zumindest Einfluss auf deren Ausgestaltung.
Ich will es nicht um jeden Preis verhindern, bzw. wenn ich wollte, würde ich einfach keine public Posts veröffentlichen. Ich will keine zentrale Instanz im Fediverse einführen.
Ich hab nichts dagegen, wenn jemand eine Fedi-Suchmachine baut. Das alle Instanzen von sich aus an einen zentralen Server reporten, dass finde ich doof.
Einen zentralen Server fuer den Zweck finde ich auch problematisch, glaube aber, dass genau das faktisch passieren wuerde, wenn man sich um das Suchen einfach gar nicht kuemmert (macht dann eben irgendein fediverse-externer Akteur ueber Crawling der Web-Schnittstelle).
Wenn man andererseits innerhalb des Fediverse fuer bessere Suchbarkeit sorgen will, dann wuerden es Effizienzgesichtspunkte gebieten, dass man sowas wie “Hub-Nodes” hat, die fuer mehrere Instanzen das Indexing/Retrieval machen. Jedenfalls legt das die Evolution bisheriger Peer-To-Peer-Netze nahe.
Das seh ich schon eher. Wird aber kompliziert. Opt-in, opt-out? Vielleicht können Server-Admins ein Default setzen, welches von Usern überschrieben werden kann.
Da muss man einfach sorgfältig darauf achten, eine gewisse Balance zu erreichen. Nicht zu wenige, aber auch nicht zu viele Hubs.
Persönlich habe ich die Search Engine Indexierung bei meinem Mastodon-Profil ausgeschaltet.