Email or username:

Password:

Forgot your password?
Top-level
Christine Lemmer-Webber

If I was going to refer to the CS literature I would probably say that "ActivityPub uses an actor model style approach whereas ATProto uses a global, public, shared tuplespace"

But I wanted the mail metaphor to work and I was pretty sure everyone's eyes would glaze over at "tuplespace"

156 comments
Christine Lemmer-Webber

Anyway, language is this messy squishy thing but part of the success of the previous post I think was terms that allowed us to discuss differences clearly.

(And it is EXACTLY for that same reason that I am gonna dive into analyzing terminology deeper in just a little bit.)

Moving on...

Christine Lemmer-Webber

Let's talk about some acknowledgement of scaling expectations, starting with this terminology, happened in @bnewbold's response because I think it's very helpful!

(BTW whenever I quote something with ">" in this thread, if I don't otherwise specify, I'm quoting @bnewbold)

Christine Lemmer-Webber

> Other data transfer mechanisms, such as batched backfill, or routed delivery of events (closer to "message passing") are possible and likely to emerge. But the "huge public heap" concept is pretty baked-in.

Okay this is helpful. This sets expectations. This is good to acknowledge.

Christine Lemmer-Webber

> Given our focus on big-world public spaces, which have strong network effects, our approach is to provide a "zero compromises" user experience. We want Bluesky (the app) to have all the performance, affordances, and consistency of using a centralized platform.

This is also good to acknowledge.

Christine Lemmer-Webber

> So, yes, the atproto network today involves some large infrastructure components, including relays and AppViews, and these might continue to grow over time. Our design goal is not to run the entire network on small instances.

Okay yes, yes this is good to ack

Christine Lemmer-Webber

> It isn't peer-to-peer, and isn't designed to run entirely on phones or Raspberry Pis. It is designed to ensure "credible exit", adversarial interop, and other properties, for each component of the overall system.

Good okay thank you

Christine Lemmer-Webber

> Operating some of these components might require collective (not individual) resources.

Hm okay, this is also good. Okay remember this sentence. This sentence is gonna be really important in just a minute.

Christine Lemmer-Webber replied to Christine

But before we get there oh hey, when I wrote my last blogpost I said "whoa in just 4 months storage expectations jumped from 1TB to 5TB. I bet in a month it'll be double, at least 10TB."

Whoops I underestimated, @bnewbold says in his post it's now at least 16TB. Growin' fast!

Christine Lemmer-Webber replied to Christine

@bnewbold also mentions new initiatives like Jetstream and other tooling that provide a lighter experience

well, and that's true! ... though that's done by weakening the "zero compromises experience" quite a bit if you wanted to use them to "self host", more on that later

Christine Lemmer-Webber replied to Christine

Now okay remember when I said "this sentence is gonna be important"

You've forgotten it already?

Okay fine I'm gonna quote it again

> Operating some of these components might require collective (not individual) resources.

Okay don't forget it this time! Don't forget it!

Christine Lemmer-Webber replied to Christine

> This doesn't mean only well-funded for-profit corporations can participate! There are several examples in the fediverse of coop, club, and non-profit services with non-trivial budgets and infrastructure.

This is certainly true on the fediverse, I am hosted by a co-op. Thank you social.coop 💜

(@bnewbold is also on social.coop!)

Christine Lemmer-Webber replied to Christine

> Organizations and projects like the Internet Archive, libera.chat, jabber.ccc.de, Signal, Let's Encrypt, Wikipedia [...], the Debian package archives, and others all demonstrate that non-profit orgs have the capacity to run larger services.

Wait a minute hold on

Christine Lemmer-Webber replied to Christine

> Many of these are running centralized systems, but they could be participating in decentralized networks as well.

no wait but wait back up hold on what was that list again

Christine Lemmer-Webber replied to Christine

Ok, XMPP and IRC are mostly ephemeral text and I love them, but let's be honest, they're pretty niche and on the decline

I've just... wait a minute we've got to look at some of the org choices here

Christine Lemmer-Webber replied to Christine

What are the annual budgets of these FOSS service-hosting orgs?

- Wikimedia: $178 million/year
- Signal: $50 million/year
- Let's Encrypt/ISRG: $7 million/year
- Internet Archive: $25 million/year

This is public information, you can look this up! Read their 990s.

Christine Lemmer-Webber replied to Christine

This is all to say, this is not your neighborhood block getting together to pitch in a few bucks to help out their FOSS friends

These are great orgs and compared to large for-profits, these orgs are efficient and use their money well

But these are SIZABLE hosting costs, and NOT easy to fundraise

Christine Lemmer-Webber replied to Christine

I say this, by the way, as an Executive Director of a FOSS nonprofit with a much smaller budget and also oh god I hate fundraising I promised myself I would never do a fundraising job again why am I doing this

Did I mention we're doing a fundraiser? spritely.institute/donate/

Just sayin' ;_;

Christine Lemmer-Webber replied to Christine

People worry about wasteful funding, and right now FOSS organizations are losing many of the funding sources they have. Project 2025 specifically targeted taking the incredibly small amount of money that FOSS orgs get from governments

Fundraising is the worst and it's so hard to fund anything

Christine Lemmer-Webber replied to Christine

My friend @n8fr8 of the Guardian Project likes to point at Signal's budget and say "yeah that looks big, but you know how much the government spends on each fighter jet?" and it's some unimaginably large number, like *hundreds* of millions of dollars per jet

Signal is the cost of a jet wing

Christine Lemmer-Webber replied to Christine

Anyway we should give Signal the jet wing money

Can someone get @spritely some of the jet wing money?

Anyway you'd think if you were upset about the government "taking your tax money" you'd at least want to get something out of it and FOSS helps everyone so this is so frustrating

Christine Lemmer-Webber replied to Christine

So that's all to say that I think the choice of these orgs is pretty interesting because when you say "oh a bunch of FOSS nonprofits host community infrastructure" we're not talking social.coop costs with a bunch of these we're talking jet wing money

It's really hard to get that jet wing money

Christine Lemmer-Webber replied to Christine

Anyway I'll stop talking about the jet wing money I promise

jet wing money jet wing money jet wing money

Please give FOSS nonprofits jet wing money

But anyway THE POINT IS what kinda scale are we thinking about? What's your frame of reference? Fediverse co-op? Or Signal?

Christine Lemmer-Webber replied to Christine

But speaking of running FOSS nonprofits I now have an EXCITING MEETING about administrative duties of running my FOSS nonprofit

So, it is time for a... MEETING BREAK (like, an hour)

Followed by a tea break. (like, 10 minutes)

==== MEETING AND TEA BREAK HERE ====

Christine Lemmer-Webber replied to Christine

Okay, I'm back from my meeting. I also have tea.

We're about to get to the first REALLY substantial part, which is terminology. Is it fair to call Bluesky "decentralized" or "federated"?

Both @bnewbold and I provided definitions and we are going to COMPARE and ANALYZE

Christine Lemmer-Webber replied to Christine

Before we go any further I am just gonna say, I miss hiding the easter eggs, but I don't think I can do that again

If you know anything about my projects you know that I love goblins. Have for a long time. When we launched MediaGoblin I would get people saying "nobody will ever like goblins"

WELL

Christine Lemmer-Webber replied to Christine

Now we live in an era of "Goblincore" and people self-describing as Goblins

I am pleased. And I am pleased to be into Goblins before they were cool.

The Goblin theme continues at Spritely as you may know

But if you've read this far, let me know that you found Secret Goblin #1 😈

Christine Lemmer-Webber replied to Christine

So, is Bluesky decentralized? Is it federated?

In my previous blogpost, I concluded that Bluesky was not either.

@bnewbold conceded that maybe Bluesky does not meet *my* definitions, but provides some alternative definitions, which maybe it does meet

Were my definitions too strong or unfair?

Christine Lemmer-Webber replied to Christine

@bnewbold declares he will "choose his own fighter" and selects Mark Nottingham's independent IETF submission, RFC 9518: Centralization, Decentralization, and Internet Standards
datatracker.ietf.org/doc/rfc95

It's an interesting document, and it turns out, has some interesting context

Christine Lemmer-Webber replied to Christine

Bryan cites Mark's definition of *centralization* (which I hadn't defined!):

> [...] "centralization" is the state of affairs where a single entity or a small group of them can observe, capture, control, or extract rent from the operation or use of an Internet function exclusively.

Good so far!

Christine Lemmer-Webber replied to Christine

However it's time to compare definitions of *decentralization*. First mine:

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

I stand by this!

Christine Lemmer-Webber replied to Christine

Now here is Bryan's definition (more accurately Mark Nottingham's definition (more accurately, Paul Baran's definition)) of decentralization:

> [Decentralization is when] "complete reliance upon a single point is not always required" (citing Baran, 1964)

Uh, hm... this seems... pretty weak?!

Christine Lemmer-Webber replied to Christine

This definition of decentralization is so weak it may as well say "Users occasionally not rely on a central gatekeeper, as a treat"

It's pretty weak, and yeah Bluesky qualifies, but that's... I'm gonna be honest that's an *incredibly* weak definition by comparison

Christine Lemmer-Webber replied to Christine

Let's look at the delta between my definition of decentralization and the one chosen by Bryan:
- The discussion of power dynamics, and diffusion thereof, is removed
- The "phrase complete" reliance is introduced, so incomplete reliance is now ok
- And not only that, now it's "not always required!"

Christine Lemmer-Webber replied to Christine

In my previous blogpost I had expressed worry about moving the goalposts of "decentralization". That is *exactly* what's happening here, and what's being said is "if we weaken the definition dramatically, then Bluesky qualifies"

This is, IMO, not a very compelling look I've gotta say

Christine Lemmer-Webber replied to Christine

Now you might notice this citation [Baran, 1964] and hey if you work on network things you might be thinking "Hey Christine, wait isn't this one of the seminal papers on networking which led to the internet?"

GOOD QUESTION LET'S COME BACK TO THAT

The context is CRITICAL.

Back to that in a moment.

Christine Lemmer-Webber replied to Christine

Okay so "decentralization", maybe Bluesky qualifies if we use an unimaginably weaksauce definition that's so loose you don't even have to comply with it hardly at all?

So okay now let's compare definitions of "federation".

Christine Lemmer-Webber replied to Christine

My definition:

> [Federation] is 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

Bryan's definition (more accurately Mark Nottingham's definition):

> [...] federation, i.e., designing a function in a way that uses independent instances that maintain connectivity and interoperability to provide a single cohesive service.

Hm okay, well these don't look quite as far apart, right?

Christine Lemmer-Webber replied to Christine

So what's the delta?

- The discussion of power dynamics, once again, is not present.
- "Cooperation" is not present.
- And very specifically, "decentralization" and "no node holding more power than the responsibility or communication of its parts" is not present.

Turns out this has a big effect.

Christine Lemmer-Webber replied to Christine

Re-read and compare. Under that last definition, even corporate but proprietary internal microservice architectures or devops platforms would qualify as federated!

Maybe? But it's not federation in a *decentralization* context.

Christine Lemmer-Webber replied to Christine

(That last observation is thanks to @vv btw, good observation from a good gf)

Christine Lemmer-Webber replied to Christine

Bryan then acknowledges it's a comparatively low bar:

> What about federation? I do think that atproto involves independent services collectively communicating to provide a cohesive and unified whole, which both definitions touch on, and meets Mark's low-bar definition.

Christine Lemmer-Webber replied to Christine

However, Bryan does concede the following:

> Overall, I think federation isn't the best term for Bluesky to emphasize going forward, though I also don't think it was misleading or factually incorrect to use it to date.

Well okay, actually that's quite the thing to concede, so massive props on that

Christine Lemmer-Webber replied to Christine

Bryan also in that same paragraph goes on to mention some very interesting history about Bluesky's earlier prototypes and how the design changed. Worth reading btw. But that's an aside, kinda.

Christine Lemmer-Webber replied to Christine

It seems that there might be more of a concession here that Bluesky isn't federated, so the bigger question really is whether or not it's decentralized.

I mentioned that the definition is interesting in context and BOY is it interesting in context, oh gosh oh boy

Christine Lemmer-Webber replied to Christine

Hey remember earlier when I said this thing:

> now here is Bryan's definition (more accurately Mark Nottingham's definition (more accurately, Paul Baran's definition)) of decentralization

Did you notice all the parentheses? That's not JUST because I love lisp

I mean I do love lisp

But not only

Christine Lemmer-Webber replied to Christine

We need to understand Mark Nottingham's RFC and we need to understand Paul Baran's seminal 1964 paper both, within the contexts they were written, before we can pull this quote-of-a-quote out.

So let's start with the RFC.

Christine Lemmer-Webber replied to Christine

If you hear "Respected standards technologist Mark Nottingham's independent IETF RFC 9518: Centralization, Decentralization, and Internet Standards", what do you think you'll find inside?

I'll tell you what I'd expect

Rah rah decentralization!! The internet was meant to be free!!!

Well...

Christine Lemmer-Webber replied to Christine

You should read the RFC yourself, here it is: datatracker.ietf.org/doc/rfc95

Mark Nottingham is a respected, accomplished standards author. And with good reason. Most of his work history is representing standards for big corporate players.

That's how most of it is these days, actually

Christine Lemmer-Webber replied to Christine

The surrounding context of the RFC is a debate within the IETF and elsewhere: gosh! this internet! it sure seems to have centralized a *lot*, is this really what we wanted to happen to it? This wasn't the original vision!

Shouldn't standards orgs do something to fix it?!

Well should they?

Christine Lemmer-Webber replied to Christine

Mark Nottingham's own words answer better than I do, and you should read the RFC. It's not quite one way or the other. It's kind of a "well decentralization is great and yeah centralization is bad but how realistic is decentralizing things anyway and when?"

But Mark's own words handle it better

Go Up