ActivityPub - notes to self
Opublikowano: 21.12.2020
Ostatnia modyfikacja: 07.02.2024
Domyślacie się już co będzie robione na Devlogu? Chodzi w skrócie o to, żeby mieć gdzie zapisywać krótkie notatki, jedno zdanie, może dwa. Czasem krótkie nagranie głosowe.
Poza kilkoma aktywnie rozwijanymi projektami wygląda to tak, jakby ok. 3 lata temu zainteresowanie nagle wybuchło, po czym równie nagle wygasło w połowie 2019 roku.
Implementacje
- implementacja przykładowa w Ruby: Mastodon, chyba najczęściej używana
- GNU Social, ciekawostka (w PHP)
- Osada, ciekawa implementacja łącząca protokół Zot6 z ActivityPub, również w PHP
- implementacja przykładowa w Rust: Plume (zdaje się że to coś większego, a ActivityPub jest tylko na doczepkę)
- implementacja w Elixirze: Pleroma, frontend w Vue.js
- implementacja w TS: Misskey, ciekawy motyw, Japonia się przelewa wierzchem
- kolejna implementacja przykładowa w Rust: Rustodon
- przykładowa implementacja w Express/Node oraz jej opis, bardzo uproszczona
- przykład s2s (federation) w Go z pewnymi wskazówkami
Meta
- rekomendacja W3C, tu należy zacząć
- słownictwo i format Activity Streams
- JSON-LD jest używany jako warstwa transportowa
- jakaś lista projektów związanych z ActivityPub
- wyjaśnienie podstaw
- dogłębne wyjaśnienie
- wskazówki dla implementujących ActivityPub
Pytąg
- przykład w Django
- biblioteka dla Pythona, która wyewoluowała z implementacji w Tornado
- serwer pod Flask, MongoDB jako data storage
Krytyka
Tu się zaczyna robić ciekawie. Po pierwszej chwili zainteresowania (o, jakie to fajne, może by tak coś?…) z przyzwyczajenia pogóglałem za what’s wrong with ActivityPub no i tu się pojawiły konkrety. Muszę przyznać, że nie wygląda to za dobrze. W szczególności nie tego się spodziewałem jako wyniku pracy komitetu W3C. No ale z czym przyszło żyć, z tym trzeba się będzie mierzyć.
- odrzucony ticket w Diasporze, proponujący implementację ActivityPub, dyskusja podnosi wiele kwestii które są albo niedoprecyzowane albo w ogóle pominięte w specu ActivityPub
- uwagi Dennisa Schuberta z Diaspory, początkowe z 2018 i przemyślenia po roku, krytyka obejmuje zarówno community wokół ActivityPub, jak i same propozycje zawarte w specu
- Dennis Schubert przywołuje na koniec swojego drugiego artykułu kilka innych artykułów krytykujących zarówno proces powstawania speca, jak i jego rezultat, m.in. autora wspomnianej wyżej biblioteki w Go (zawartość z cache Google, bo serwer źródłowy chwilowo niedostępny)
- krytyka (również przywołana przez Dennisa Schuberta) od strony technologicznej, zaufania i prywatności; domyślam się że Ariadne Conill należy do grona developerów Pleromy - część 1 i część 2, niestety proponowane rozwiązania przy użyciu elementów protokołu LitePub to stąpanie po kruchym lodzie, bo protokół jest martwy od połowy 2019 roku (uwaga, strona ma nieważny certyfikat, z zachowaniem ostrożności można ją obejrzeć)