Ich mache mir ja schon seit riniger Zeit Gedanken, über die immer wieder sehr kaputte Föderation der vielen Dienste im Fediverse.

Jedes Service hat immer nur rinen Teil der Features implementiert, und diese passen oft nicht zusammen.

Mir schwebt eine Lösung, ähnlich wie sie bei Datenbanken vor Jahren beschritten wurde, vor.

Viele Dienste haben die Föderation und/oder Activitypub erst später zu ihrem bestehenden Projekt hinzugefügt. Auf die Schnelke falken mir da Lemmy, Funkwhale, Pixelfed und Friendica ein.

Wenn es jetzt einen oder mehrere Implrmentierungen rines Föderation-Services gäbe, auf den eine Anwendung - ganz ähnlich wie bei den Datenbanken - zugreift.

So ein Dienst kann in verschiedenen Sprachen implementiert sein, oder einer ist mittels Plugins um weitere Protokolle erweiterbar, der andere hat sie direkt eingebaut…

So ein Dienst kann von der Applikation mit einem Protokoll oder einer API angesprochen werden. Die Applikation kann das volle Featureset nutzen, oder nur einen Teil. Wichtig ist, dass die Föderation mit anderen Services korrekt und vollständig abgebildet wird.

Das soll heißen, wenn Friendica ein “article” an Service X schickt, dann kommt das dort korrekt an. Und Service C schickt ein Dislike an Service D. Usw. usf.

Was das Zielservice dann mit diesen Events/Verben macht, bleibt dem Zielservice überlassen. Stellt es die Kommentare dar, oder nicht, gibts einen Kalender oder nicht… egal. Das Fediservice stellt sicher, dass die Anwendung diese Features auch später implementieren kann, aber vorher die Server2Server-Kommunikation schon korrekt abläuft.

Die Applikationsentwickler können dann ihre ganze Energie ins Frontend, die Authentifizierung, Bildverarbeitung, Videodarstellung und was auch immer stecken. Die Föderation wird funktionieren. So wie die Datenbank auch immer funktioniert. Egal ob mysql, mariadb oder postgresql oder gar sqlite verwendet wird.

Kroeg übrigens ist ein in C geschriebener Activitypub-Server, der das ganze Protokoll als einziger kann. (Siehe https://activitypub.rocks/implementation-report/ )

  • jakob
    link
    fedilink
    12 years ago

    @hackbyte @Tealk Und vor allem:

    Schau dir die Entwicklung der verschiedenen Projekte an:
    Funkwhale:
    Entstand als Einzelprojekt um die eigene private Musiksammlung online anhören zu können. Die Föderation wurde erst später außen drangeflanscht. (und ist daher dementsprechend krakelig)
    Lemmy entstand als Alternative zu reddit. Es war zwar von Anfang an mit Activitypub als Föderations-Protokoll ausgelegt. Aber nur von lemmy zu lemmy… die Föderation ins ganze Fediverse erfolgte vor wenigen Monaten mit einer Neuimplementation und Umbau der ganzen Software.
    Pixelfed wurde als Einzelanwendung gebaut. Die Föderation wurde erst vor geraumer Zeit (ich glaub ~2 Jahre) außen drangeflanscht.
    Die Föderation bei Mobilizon ist auch erst im letzten Jahr herangereift und noch lange nicht fertig… Anfangs nur von Mobilizon zu Mobilizon.

    Bei Friendica wurde Activitypub erst später dazu implementiert. Anfangs hatte das Statusnet (glaub so hieß das) und das eigene DFRN… die weiteren Protokolle folgten später.

    Für mich klingt das genau danach, dass alle diese Services, hätte es so einen Fediserv-Dienst schon gegeben, genau den hätten nutzen können. Ich bin überzeugt, die Föderation würde heute besser klappen.

    • hackbyte (friendica)
      link
      fedilink
      12 years ago

      @jakob @Tealk Ich drück dir definitiv die daumen…

      Dennoch fürchte ich das mit einem sinnvollem framework zur implementation von ActivityPub mehr gewonnen wäre … allein, den muss mensch dann auch wieder für zig sprachen pflegen usw…

      Dennoch viel erfolg. ;)