Email or username:

Password:

Forgot your password?
Top-level
Christine Lemmer-Webber

The fediverse has a lot of flaws. Oh trust me, we're gonna get to that.

But comparison-wise: what I mean to say is that architectural decisions matter, and scaling up isn't the only thing that's important, *scaling down matters too*.

If you care about decentralization, anyway.

474 comments
Christine Lemmer-Webber replied to Christine

Now look, we're about 1/3 of the way done here, there's a lot more to say, and a lot more said in my article, it's about 24 pages long if you print it out.

This is because in the age of TikTok I somehow have decided to model myself after David Foster Wallace, sorry

"Consider the Fediverse" I guess

Christine Lemmer-Webber replied to Christine

But now, I will break for lunch. Enjoy your intermission because I will be back. We still have to get through the remaining 2/3 of the analysis, after all.

======= LUNCH BREAK HERE =======

Fifi Lamoura replied to Christine

@cwebber Thanks for doing this, it's an amazing analysis and contextualization!

Christine Lemmer-Webber replied to Christine

Okay I am back from lunch, time to resume my analysis thread for "How decentralized is bluesky really?" dustycloud.org/blog/how-decent

I have been receiving a lot of notifications, I am not reading any of them until I finish with this so bear with me, BEAR WITH ME, we're gonna make it through

Christine Lemmer-Webber replied to Christine

And before we make it any further can I say that I watched a nice medley of David Bowie and Cher singing, and it was so lovely youtube.com/watch?v=KPlN8RBP-W

@mlemweb said "of course it's very heteronormative despite having two queer coded icons on the stage and ISN'T THAT THE WAY I guess

Christine Lemmer-Webber replied to Christine

But where was I? Oh yes. We had talked about why PDS'es aren't enough (blog/google analogy), relative costs of hosting things on ATProto vs ActivityPub, etc etc

But we haven't gotten into the really interesting parts which are the structural analysis stuff, so let's move onto that

Christine Lemmer-Webber replied to Christine

Now you may be saying, "Christine, this is really unfair, because you're looking at ActivityPub servers which are only dealing with a small amount of the network, what if it were an ActivityPub mega-node? What are the costs THEN huh?" and "What if we hosted just PART of ATProto?"

What then INDEED

Christine Lemmer-Webber replied to Christine

ATProto is not designed for the Relay and AppViews to only hold part of the network, not *really*, and ActivityPub is. We'll get to this in a moment.

But Bluesky actually has good justification for this! I will defend it insofar as Bluesky was making a serious *design decision*

Christine Lemmer-Webber replied to Christine

Remember the directive that Bluesky was given: develop a decentralized protocol which Twitter can adopt. That informs a lot of things, and has meant that Bluesky was really very ready for this moment!

If you're an ex-X-Twitter user then by god, you're going to be amazed! It's just like Twitter!

Christine Lemmer-Webber replied to Christine

This informs some other things:
- Bluesky's gotta scale BIG and do so FAST (scaling down: not a priority at all)
- It has to be something Twitter can adopt (of course, not anymore, but initially)
- Everything on ATProto is public (yes, everything, including your blocks btw, we'll get to that)

Christine Lemmer-Webber replied to Christine

But here's the other thing. People have trouble with the fediverse! All those decentralization decisions get in the way, my god, you've got to choose a server, search doesn't work well (actually it could but it's a cultural thing, different topic), and worst of all:

Sometimes you DON'T SEE REPLIES!

Christine Lemmer-Webber replied to Christine

Actually all these critiques of the fediverse are TRUE, these are known challenges, and actually it's not really so bad, but it could be better, and at any rate, Bluesky made a major decision to simplify a lot for new users, and they have. Things seem to just work for people! Incredible!

Christine Lemmer-Webber replied to Christine

The thing you often get seen thrown around is "it's amazing, I had no idea a decentralized protocol could just work like that! How on earth did they solve that in a decentralized system and so FAST too!"

It's simple: all those things "just work" because Bluesky is centralized.

Christine Lemmer-Webber replied to Christine

Now yes, they are using decentralized techniques. Remember when I said content-addressed storage is a good idea and the fediverse should do it too? IT IS! (And as I also said, it's actually fully possible for the fediverse to do, more on that later.)

But the reality is, it's still *centralized*

Christine Lemmer-Webber replied to Christine

In every meaningful way from a power dynamics perspective *EXCEPT* the category of "credible exit" (which I am saying and agreeing is a good idea!) Bluesky is centralized.

MAYBE another big corporation could come along and host all this stuff but that's adding a Bing to our Google

Christine Lemmer-Webber replied to Christine

Yes, you can host your own PDS. You can also host your own blog. But try hosting your own PDS and NOT hosting a relay or AppView and you can't do much.

Blogs are decentralized, Google is not.
PDS'es are decentralized, Bluesky is not.

Christine Lemmer-Webber replied to Christine

We're getting to the point where we get to why I'm so damn frustrated about this and have been biting my tongue until it nearly comes detached from my mouth: users THINK Bluesky is decentralized because they're TOLD Bluesky is decentralized

AUGH! *That's* what drives me nuts.

Dr Kim Foale replied to Christine

@cwebber if theres one frustration i have trying to mature a tech thing the last few years its that "maybe this could work in the future" seems to be a much much bigger draw for people than "this is actually working now and we can use it if only we do X". it suckssss. like imagine if mastodon was only mastodon.social lol

Christine Lemmer-Webber replied to Christine

Here's an example of this problem in action

fry69: "The working search box was the second thing that impressed me on Bluesky, I thought that was not possible with a decentralized model"

Sorry fry sixty-nine I regret to inform you the reason search works so well is that it's centralized! THAT'S WHY

Christine Lemmer-Webber replied to Christine

So hold on, let me set some terms for "decentralization" and "federation" that I think are reasonable.

> Decentralization: the result of a system that diffuses power throughout its structure, so that no node holds particular power at the center.

Pretty reasonable. Do you agree? I hope so!

Christine Lemmer-Webber replied to Christine

Okay how about "federation" now because this is a *technical term* that the *fediverse has established* and I'm kinda PO'ed about the goalposts being moved on this one.

A lot of people coming to Bluesky have never heard of "federation" before in a social network so listen up this is important!

Christine Lemmer-Webber replied to Christine

Here's my definition of federation:

> Federation: a technical approach to communication architecture which achieves decentralization by many independent nodes cooperating and communicating to be a unified whole, with no node holding more power than the responsibility or communication of its parts.

Christine Lemmer-Webber replied to Christine

Now historically, federation has been achieved on the fediverse via "message passing". Actually, this is to the degree where I just always associated message passing with federation, but really, federation is about the distribution of power, creating an abstract whole in a sea of autonomy.

Christine Lemmer-Webber replied to Christine

Maybe there is another way to achieve federation, but it's about the power dynamics. It's a technical immersion of power dynamics, the flow and interchange of cooperation between many parts.

So you may say, well, doesn't ATProto have that? After all, messages flow through the different parts!

Christine Lemmer-Webber replied to Christine

ActivityPub, as it turns out, follows the actor model of computation. Okay, many people implementing the fediverse don't know about the actor model aspect of ActivityPub but I am here to tell YOU, dear reader, that it is an important thing, not a detail

Christine Lemmer-Webber replied to Christine

I'll take one more note about federation which is that often time the message passing mechanism of the fediverse is often called "federation", but theoretically another mechanism could exist, but I'm actually not so sure of that.

There's a reason the actor model and the lambda calculus are undying

Christine Lemmer-Webber replied to Christine

Oh god Christine said "the lambda calculus" did you know she's into lisp and functional programming, what's she going to talk about next monads?!?!

I am not going to talk about monads. Not TODAY

But we do need to get a better architectural idea of how these systems work because it matters a lot!

Darius Kazemi replied to Christine

@cwebber your spooky Halloween name next year should be Christine "Leibniz"-Webber

Christine Lemmer-Webber replied to Christine

So let me introduce two models of communication which we can use to analyze these two systems. It's important!

- Fediverse/ActivityPub: "message passing"
- Bluesky/ATProto: "shared heap"

Okay, cool, terms established, let's talk about them and why they matter because they matter A LOT

Christine Lemmer-Webber replied to Christine

"Message passing" is what ActivityPub uses. It's "like email", people say, and that's true.

Actually it's even a lot like physical mail. You write a letter, you say where it should go, it gets delivered to your house.

Message passing. The world runs on it.

Christine Lemmer-Webber replied to Christine

Now I can use message passing to send a message to you *directly* and indeed, that's "like email". For one-to-one correspondence, that's enough.

But it's not enough for a followers/following type mechanism. But we can build it on top! Thank *you* computational abstractions!

Christine Lemmer-Webber replied to Christine

On top of "message passing" we will build "publish-subscribe" as a second-layer abstraction

"Your ideas are interesting and I'd like to subscribe to your newsletter."

You send me a letter saying you'd like to hear the things I have to say, okay, you're part of the reader list. That's how it works.

Christine Lemmer-Webber replied to Christine

On top of that we can build even more abstractions and the net result is that this is how federation works in pretty much every "federated" system I know.

ActivityPub does some extra work to help you see replies on a thread, think "letters to the editor". This is a bit lossy sometimes though

Christine Lemmer-Webber replied to Christine

It's true that sometimes users click over to a thread and see some replies but not all on their instance's UI. There's things that could be done to improve it, but it's sometimes mildly confusing, but not so bad, and you can click over typically to see whatever else is happening, and people learn to

ocdtrekkie replied to Christine

@cwebber I just saw this one comment, and then... clicked it and started scrolling up. Woo, time to read.

Jeremiah Lee replied to Christine

@cwebber My gourds, this thread has been a wild, insightful ride so far!

Edward L Platt replied to Christine

@cwebber I want to be able to speak intelligently enough on the subject, but I only learned enough about Bluesky/ATProto to know that I wasn't interested in using it. Do you think it's worth understanding to be able to explain to people? And/or is there a good brief explainer somewhere?

Edward L Platt replied to Christine

@cwebber I have kind of an axe to grind about "decentralized" systems that are really centralized organizations using some decentralized tech. People look at the protocols and cables to evaluate centralization, but what really matters are the wider trust relationships that are a layer even below those.

Anders Thoresson replied to Christine

@cwebber Dropping in mid-thread just to thank you for it! Helps me understand things. :)

Les Orchard replied to Christine

@cwebber An analogy I've used with some folks is to imagine blogs you can only read through Google Reader. And if Google Reader shuts down, you can't read those blogs any more. But that'll never happen right?

(which, of course, I see you've covered as I read further through your thread! 😅 )

ionizedGirl replied to Christine

@cwebber if content addressed storage is considered a new idea then I'm done. I quit

Peter replied to Christine

@cwebber

Whether you're finished or not, this thread is great, well done.

But this particular post is SO MUCH BETTER & more informative than 2/3 of what I've seen anywhere online in the last month I had no choice but to single it out.

👍

robert replied to Christine

@cwebber now it makes sense. It was designed as a very sophisticated CDN for Twitter.

fontenot replied to Christine

@cwebber Writing a response to this while acknowledging that you're not done with the thread yet.

I think the pro-bsky view is that "just" hosting a PDS counts as data independence. If this is true, then Bsky has the additional advantage (vs GTS) of shrinking outgoing bandwidth costs to something viable for hosting a few thousand users.

They'd argue that hosting a relay isn't necessary because the "god's eye" view you talk about is really just the one true unopinionated view of the network. /3

fontenot replied to fontenot

@cwebber This is different from e.g. Google because Google offers an opionated view of the web. The Bsky appview is more Google Reader than Google Search (as you've pointed out).

I think the "headcanon" is that anyone can make their own relay (or even did:plc maybe) because these are thought of as (caching) dumb pipes to the underlying data. There's no *reason* to run an alternate relay so long as the official one acts as a free dumb pipe, and the possibility of making one keeps them honest. /3

fontenot replied to fontenot

@cwebber But I think you're right that this starts to come apart at the seams. In fact, as you pointed out, the relay isn't neutral. It deletes spam and removes illegal content.

That's important not just because of the operating costs, but because it means that the headcanon one-true-AT-network doesn't really exist; what exists is something much more centralized and hard to duplicate.

I don't have a good response to this. I think if you want relay independence, Bsky isn't likely to cut it.

danicotillas \ D4ns replied to Christine

@cwebber Have you already publish It? I Guess this is the one Where you explain if it'll be posible a federation between AT & ActivityPub

Tom Casavant replied to Christine

@cwebber if you could convert this thread to TTS narration and attach it to some subway surfers footage I'll be set

Go Up