Am citit articolul scris de Dan Abramov în care încearcă să explice de ce întrebarea „unde sunt instanțele Bluesky?” este pusă greșit. Nu e un articol rău, dimpotrivă, are câteva idei tehnice interesante, dar mi-a rămas ceva în cap care nu îmi dă pace.
Ideea centrală a articolului e că ATProto - protocolul pe care stă Bluesky - funcționează diferit față de cum funcționează Mastodon. În loc să ai instanțe care sunt și găzduire, și aplicație în același timp, ATProto separă lucrurile: ai un loc unde îți stau datele (PDS - Personal Data Server) și ai aplicații separate care agregă datele tuturor. Abramov compară asta cu RSS și Google Reader - tu ai blogul tău, Google Reader îl indexa și îl afișa alături de ale altora. Aceeași idee, dar pentru rețele sociale.
Și ca să înțelegi mai bine ce sunt Bluesky, Eurosky și Blacksky - nu sunt același lucru. Bluesky e o aplicație care rulează pe deasupra ATProto. Eurosky e un furnizor alternativ de găzduire, adică un PDS unde îți poți muta datele în loc să le ții la Bluesky. Blacksky e un relay comunitar cu o filosofie proprie de moderare. Dan Abramov menționează că și-a mutat datele pe Eurosky și că a mers aproape fără probleme. Asta e cu adevărat o idee bună în ATProto - portabilitatea identității. Dacă furnizorul tău de găzduire dispare, identitatea ta rămâne intactă pentru că nu e legată de el.
Până aici, totul e corect și bine explicat.
Problema pe care o am cu articolul e alta. Abramov spune explicit că nu se referă la ActivityPub, ci doar la Mastodon, pentru că altfel vine toată lumea să-i explice că ActivityPub nu e Mastodon. Dar imediat după asta compară Mastodon cu ATProto, care este un protocol exact ca ActivityPub, nu o aplicație ca Mastodon. Cu alte cuvinte, evită comparația corectă tocmai pentru că știe că nu iese bine. Dacă ar fi comparat ActivityPub cu ATProto sau Bluesky cu Mastodon, articolul ar fi arătat altfel.
Al doilea lucru pe care îl trece ușor e că infrastructura critică a ATProto e concentrată la Bluesky Inc. PDS-ul tău poate exista independent, poți să ți-l și găzduiești singur, dar ca să fii vizibil în rețea ai nevoie de un Relay care să indexeze datele și de un AppView care să le servească aplicațiilor. Astea sunt în mare parte operate de Bluesky Inc. Abramov menționează că relay-urile sunt ieftine de rulat, ceea ce e adevărat, dar nu înseamnă că există alternative reale la scară în momentul ăsta. Dacă Bluesky Inc dispare mâine, PDS-ul tău există în continuare, dar e invizibil pentru că nu mai e nimeni să-l indexeze.
Acum, despre cum văd eu lucrurile.
Rulând thinkroot.xyz am implementat ActivityPub direct în jurnal. Asta înseamnă că articolele mele ajung în Fediverse, pot urmări alte conturi, pot vedea cine comentează, pot răspunde și pot da like sau repost - aproape tot ce aș face pe Mastodon, dar fără să fiu pe Mastodon. Dacă Mastodon Social dispare mâine, eu nu simt absolut nimic. Cei care folosesc GoToSocial, Misskey, Pixelfed sau orice alt program care implementează ActivityPub tot îmi văd articolele, tot pot interacționa cu ele. Rețeaua continuă să existe pentru că nimeni nu deține protocolul.
Asta e descentralizarea pe care o înțeleg eu. Nu neapărat că îți poți muta datele de la un furnizor la altul, ci că nicio entitate centrală nu poate închide rețeaua. ActivityPub e implementat de zeci de proiecte complet independente - Mastodon, GoToSocial, Misskey, Pleroma, Pixelfed, Peertube, WordPress, Ghost și lista continuă. Poți să nu existe niciunul din ele și tot poți implementa protocolul singur, cum am făcut eu cu jurnalul.
ATProto are idei tehnice frumoase și portabilitatea identității e un avantaj real față de modelul clasic al instanțelor Mastodon. Dar ecosistemul real depinde de infrastructura Bluesky Inc într-un mod pe care nu cred că îl poți ignora când vorbești despre descentralizare. Nu e o critică la adresa oamenilor de acolo, ci o observație despre arhitectură.
Ambele protocoale rezolvă probleme reale, dar rezolvă probleme diferite. ATProto rezolvă mai elegant portabilitatea datelor și separarea dintre găzduire și aplicații. ActivityPub rezolvă mai elegant independența față de orice entitate centrală. Articolul lui Abramov prezintă primul avantaj ca și cum ar fi singura definiție validă a descentralizării, și tocmai asta mi s-a părut că nu stă în picioare.

Comentarii