Samstag, Mai 4, 2024

Das böse Büro

Uriel Fanellis Blog in deutscher Sprache

Uriel Fanelli

Warum das Fediverse feststeckt, Teil II

Warum das Fediverse feststeckt, Teil II

Ich beginne gerne Debatten, nicht weil ich Aufruhr mag oder um „den Führer zu ärgern“, und nein, ist nicht einmal eine Frage der Reinheit. Als ich diesen Artikel geschrieben habe: https://keinpfusch.net/why-the-fediverse-is-stuck/ war mein Ziel „Stoppt den Hype, wir sind Techniker: Wir arbeiten an harten Fakten“. Und die harte Tatsache ist, Entschuldigung für das W3C, dass ActivityPub kein wohlgeformter Standard ist.

Ich werde diese Aussage später erläutern, aber lassen Sie mich zuerst einen Artikel erwähnen, der mit der Diskussion des gleichen Problems beginnt, das ich gefunden habe, als ich anfing, mich mit diesem „Standard“ zu befassen.

Unvollständige Fediverse-Implementierungen schaden mehr als sie helfen
Write.as hat „etwas“ Unterstützung für ActivityPub. Das heißt, es hat den „Pub“-Teil von PubSub teilweise richtig. In der Tat kann Fedizen abonnieren …
Warum das Fediverse feststeckt, Teil II

( https://blog.mikka.md/incomplete-fediverse-implementations-hurt-more-than-they-help )

Lassen Sie uns eines klarstellen: Ich bin nicht immer mit allem einverstanden, was in einer Debatte gesagt wird. Aber das Wichtigste ist, dass der Hype gebrochen ist, denn nur dann werden die Priester der Wahrheit , die das Fediverse wie reines Gold inzensieren, aufhören, das Fediverse in den üblichen Eugen-Rocko-Kult zu ziehen.

Was Mikka bemängelt, stimmt zwar, beschränkt sich aber auf den konkreten Fall des Bloggens. Das heißt, es ist ein sehr begrenzter und einzigartiger Anwendungsfall. Deshalb glaube ich nicht an seine Lösung, nämlich die Verwendung eines WordPress-Plugins. Das würde das allgemeine Problem nicht lösen, da die anderen Anwendungen weiterhin andere Probleme haben würden. Abgesehen davon, seien wir ehrlich, es gibt keinen Mangel an besseren Lösungen für das Blogging-Problem: Wenn Sie einen Bot wollen, der einen RSS-Stream Ihres Blogs auf dem Feediverse veröffentlicht, gibt es Dutzende davon. Ich habe selbst eine geschrieben:

https://git.keinpfusch.net/loweel/zorg

Diese Lösung wäre zumindest allgemeiner, da sie mit allem mit einem RSS-Feed funktionieren würde, und nicht nur mit WordPress. Interessant ist, dass RSS viel besser standardisiert ist und ein RSS-Client fast nie an Inkompatibilitäten scheitert.


Bevor ich über ActivityPub spreche, möchte ich meine Voreingenommenheit klarstellen: Ich arbeite seit einem Dutzend Jahren in der Telekommunikationswelt, davor war ich im Bankwesen / bei Versicherungen (aber immer als Netzwerkadministrator) und davor habe ich Architekturen entwickelt, die als Supercomputing bezeichnet werden.

Nun, der Punkt ist, dass, wenn Sie aus diesem Geschäft kommen, ein Standard ein Standard ein Standard ist. SS7 ist eine Reihe von Standards, die dann mit anderen Standards wie denen für Sprache (ITU usw.) verknüpft sind, und sie alle haben ein gemeinsames Merkmal: Sie sind nicht interpretierbar, und wenn sich herausstellt, dass ein Implementierungsdetail nicht klar ist, ein 'Nachtrag' kommt daher. Was ärgerlich sein kann, aber zumindest eines verrät: Wenn wir wollen, dass ein Benutzer in Kalkutta mit einem Benutzer in Toronto sprechen kann, MUSS das Telefonnetz keine Zweideutigkeit in seinen Standards haben.

Und diese Dringlichkeit wohlgeformter Standards rührt auch von der Tatsache her, dass Anrufe für den Verkehr berechnet werden, also müssen die Standards wohlgeformt genug sein, um auch vertragliche Streitigkeiten über Zahlen zuzulassen, die beträchtlich sein können.

Aus meiner Sicht ist ActivityPub kein echter Standard in dem Sinne, dass es nicht gut geformt ist. Ich finde es in Mikkas Beitrag nicht relevant, ob der Text so oder anders angezeigt wird: Telefonstandards erklären nicht, wie ein Telefon aussehen sollte, sondern erklären, was es TUN soll.

Und wenn ein Benutzer eines Telekommunikationsunternehmens in Brasilien einen Benutzer eines Telekommunikationsunternehmens in Norwegen nicht anrufen kann, besteht das Problem nicht darin, ob das norwegische Telefon Wikingerhörner hat und wie nervig sie sind: Das Problem ist, dass Sie die Stimme nicht hören können (gut), oder dass es nicht klingelt.


Um es klar zu sagen: Die Tatsache, dass zwei Leute miteinander reden und entscheiden, wie ein Standard umgesetzt wird, wie es zwischen Eugen Rocko und „syuilo“ passiert ist, ist nicht ungewöhnlich. Oft kommen Produzenten zusammen, um Standards zu setzen, wie es in der Vergangenheit für DVD, Blueray und andere geschehen ist.

Das Problem ist, dass es in Bezug auf ActivityPub keine Protokolle dafür gibt und oft nicht einmal alle relevanten Akteure eingeladen werden. Am Ende stellt sich also heraus, dass eine bestimmte Sache auf eine bestimmte Weise gemacht wird, weil Rocko und Syuilo es so entschieden haben, aber Lain (von Pleroma) wusste es nicht, und andere Plattformen wie Friendica auch nicht.

Dabei sehe ich drei Probleme:

  1. Es fehlt jegliches Verfahrensprotokoll, und es werden beliebig viele (relevante) Stakeholder eingeladen.
  2. Sobald die Entscheidung getroffen wurde, wird sie nicht durch das W3C selbst veröffentlicht, es wird kein Nachtrag zur öffentlichen Dokumentation vorgenommen.
  3. die weiter verbreitete Plattform wird sich durchsetzen: Es gibt keine Gewissheit, dass die Entscheidung am Ende umgesetzt wird.

Wir haben diese Musik schon oft gehört. Es ist die Musik von Microsoft oder die Musik von „De-facto-Standards“ oder „kommerziellen Standards“. Musik, die auch Apple gespielt hat und die heute auch Google zusammen mit GAFAM spielt.

Und das ist der Grund, warum Sie ein Youtube-Video von Facebook aus nicht kommentieren können. Von Twitter aus können Sie auf Facebook keine Kommentare abgeben. Und wenn es Ihnen normal erscheint, fragen Sie sich, ob Sie akzeptieren würden, dass Ihr Telefon einen Benutzer von Datora Brazil und einen von China Mobile anrufen könnte, aber keinen von der Deutschen Telekom und Airtel India.

Stellen Sie sich vor, Ihre SIM könnte nur andere SIMs desselben Betreibers anrufen, aber keinen anderen.


Es ist auch an der Zeit, ein Problem zu diskutieren: Ein öffentlicher Standard kann von allen verwendet werden. Es ist das Beispiel der IETF und ihrer RFCs. Jeder kann TCP verwenden. Aber beim De-facto-Standard hängt alles vom Eigentümer ab. Sie können einen Microsoft-Standard verwenden oder nicht, je nachdem, ob Microsoft dies zulässt oder nicht.

Im Fediverse ist dies bei der Mastodon API der Fall. Anscheinend sind sie öffentlich, in dem Sinne, dass es sich um einen öffentlichen Standard handelt, der auf seiner Website (schlecht) dokumentiert ist. Nichtsdestotrotz beschloss Rocko, während er seinen eigenen mobilen Client produzierte, Dinge hinzuzufügen, und es ist nicht ganz sicher, was sie sind. In diesem Fall hat Rocko immer den Vorteil gegenüber dem „De-facto-Standard“, und alle anderen verwenden eine unvollständige Sache. Es ist nur eine Frage der Zeit, und dann werden viele Software und viele „Mastodon-API-kompatible“ Frontends nicht mehr funktionieren.

Früher oder später wird Mastodon das gesamte Ökosystem für sich übernehmen und andere Implementierer erschöpfen, die Schwierigkeiten haben, mit den Entwicklungen der „Mastodon-API“ Schritt zu halten.

Machen Sie sich also bereit für ein Feediverse, das nur aus Mastodon besteht. Und beten Sie, dass Rocko, sobald die Konkurrenten rausgeschmissen sind, nicht beschließt, mit dem Verkauf seiner Software Geld zu verdienen. Das bedeutet nicht unbedingt, dass es immer Open Source ist; aber sobald Rocko beschließt, einen Preis dafür festzulegen, was werden Sie tun, wenn es keine Konkurrenten gibt? Werden Sie ihn Mrs. Verstager melden? Besten Wünsche.

Mastodon verhält sich wie ein Unternehmen, das das Facebook des Fediverse sein will. Stoppen Sie dies jetzt, oder der Preis wird später schwerer zu zahlen sein.


Am Ende läuft das ganze Problem darauf hinaus, dass, wenn ein Standard diskutiert wird, NACHDEM er definiert wurde, die Definition scheiße, mehrdeutig und / oder unzureichend ist.

Es ist kein wohlgeformter Standard. Im Gegensatz zu SIP, XMPP, SMTP, RSS und anderen ist es unmöglich, einen Client oder Server mit der Gewissheit zu entwickeln, dass er funktioniert, nur weil Sie die Standards erfüllt haben.

Es tut mir leid für Kinder, die „gotosocial“ entwickeln, weil sie damit zu kämpfen haben, dass „Pleroma das so macht“ und „Misskey das anders macht“ und „stattdessen Mastodon etwas anderes macht“. Und alle ihre Verhaltensweisen sind "Standard", einfach weil der Standard nicht Standard ist.

Und das ist in der Computerwelt das perfekte Rezept für eine Katastrophe.


Und um es gleich zu sagen: Eugen Rocko ist auch naiv und eingebildet. Solange das Fediverse vier Millionen Nutzer hat, kann er der Tyrann sein, der alle im Gehege dominiert. Aber wenn The Fediverse größer wird und Interesse entsteht, werden Spieler, die auf einem Haufen Geld sitzen, mit ihren eigenen Standards kommen (wie als Whatsapp Jabber fegte) und ihn auslöschen. Wer kann das ohne öffentliche Standards verhindern?

In diesem Sinne setzt Rocko darauf, dass das Fediverse für das Großkapital immer marginal und uninteressant bleiben wird. An dem Tag, an dem dies der Fall war, würde Mastodon ausgelöscht werden (Mastodon ist sogar zu marginal, um gekauft zu werden, und zu alt, um ein Start-up zu sein): Langfristig würde auch Mastodon von öffentlichen Standards oder zumindest einem ständigen Gremium profitieren um die ActivityPub-Implementierung zu entscheiden.

Aber Rocko ist zu narzisstisch, um das zu verstehen. Lain ist ein wankelmütiges Kind, und Sie sehen keine Plattformen, die entwickelt werden, wenn Sie bedenken, dass Sie kein „Tinder für Katzen“ bauen, sondern eine globale Kommunikationsplattform.

Und dieser Mangel an Professionalität und Erfahrung verursacht immer mehr „unvollständige“ Plattformen, die Mikka beschreibt (besser nicht implementieren als schlecht implementieren): Es wäre schön, mehr Seniorität zu treffen, aber soweit ich das sehen kann, das Fediverse wird von Junior-Programmierern geschrieben.

Wir brauchen Profis, oder das Fediverse bleibt stecken.


Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert