social.coop is one of the many independent Mastodon servers you can use to participate in the fediverse.
A Fediverse instance for people interested in cooperative and collective projects. If you are interested in joining our community, please apply at https://join.social.coop/registration-form.html.

Administered by:

Server stats:

502
active users

EDIT: whoops I fragmented this, continuing from social.coop/@cwebber/113647306

> However, I disagree with some of the analysis, and have a couple specific points to correct.

Well this wouldn't be a 20 page response to a response if @bnewbold and I agreed with everything off the bat now would it

One thing @bnewbold did agree on is that "shared heap" and "message passing" are useful distinctions.

In fact I've seen members of the Bluesky team use "shared heap" a few times since to explain their tech since, and many people replied saying this distinction was illuminating. I'm really glad!

Now the reality is that "message passing" is hardly a new term

As far as I know though, I did introduce the term "shared heap"

I didn't know what else to call it! Wait actually no that's not actually fully true

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"

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...

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)

> 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.

> 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.

> 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

> 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

> 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.

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!

@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

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!

> 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!)

> 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

> 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

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

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.

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

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' ;_;

spritely.instituteSupport Spritely! — Spritely Institute
Christine Lemmer-Webber

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

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

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

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

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?

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 ====

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

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

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 😈

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?

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!

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!

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?!

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

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!"

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

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.

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".

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.

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?

@cwebber Nonono. No tea breaks...!

Consistentea!
The tea must flow.

@cwebber Side adventure: is email federated by that definition?

@cwebber might that be better said to be *distribution* rather than *decentralization*?

@cwebber Yes, very true. A network is decentralised only if you can remove any node and the network keeps functioning.

If we removed a giant node like mastodon.social, we'd temporarily lose a lot of accounts but the fediverse would keep functioning just fine (probably better in the long run if it permanently eliminated a dominant player).

@david_megginson @cwebber Find from what perspective? Christine’s definitions have touched upon price, practicalities etc I don’t think “fine” is the correct term. Mastodon nonprofit two instances make up 30% of the active MAU, if they shut down it would not be “fine”. I’ve seen plenty of people say mastodon.social is too big to block, that doesn’t reinforce what you’re saying nor several of Christine’s points. The factors are largely what’s practical meaning what’s been adopted by the masses. Idk about you but cutting off 30% wouldn’t qualify as fine in many cases

Mastodon hosted on mastodon.socialMastodonThe original server operated by the Mastodon gGmbH non-profit

@cwebber I don't know if Dave Farber and his DCS project used the word decentralized, but it was certainly a big, early, and often forgotten early step.

(The D in DCS stood for "distributed".)

youtube.com/watch?v=Noqf36Fx20

@cwebber That is a good one. Nice, and succinct. And from a systemic perspective, "Bluesky Social PBC" is a node upon which complete reliance is always required. It does not have to be a hardware device.

Archive.org could host 1000 Bluesky relays without even noticing the overhead. Could finding ways to support and safeguard a few massive nonprofit mirrors (with moderation at the app view level) be more practical than expecting the propagation of many thousands of very large fediverse servers storing all that redundant data?

@becha @cwebber @bnewbold thanks but no thanks - not really inclined to engage with someone who makes a lot of assumptions about my work and background but doesn’t even bother to @ me.

@cwebber @bnewbold Just as a side comment, Mark's document was an independent submission to the RFC Series, so it was not an IETF submission upon publication. You can see that in this boilerplate text "This is a contribution to the RFC Series, independently of any other RFC stream. The RFC Editor has chosen to publish this document at its discretion. " There's a lot of history behind that choice which either @mnot or @eliotlear could provide as context better than I can.

@cwebber @bnewbold Reminds me of the paper “There is no replication crisis in science if you give up replication as a principle”.

@cwebber

Off topic, I don't know if you need music described as goblincore, but

I saw this album a while ago self-described as goblincore.

"This 20-song musical adventure was inspired by the 1986 film in which David Bowie played The Goblin King. "

aureliovoltaire.bandcamp.com/a

@cwebber hey, First Secret Goblin popped up! Does it want to be petted, or does it want to bite me in the shin and steal my lunch?

@cwebber I found the first secret goblin! 👺

@cwebber Goblinses?! In my Fediverse?
*It's more likely than you think!*

Found Secret Goblin #1! :dragnhappy:

@cwebber
I encountered Secret Goblin #1. I have survived this far…

@cwebber
Thanks for the thread! I've just found the first Goblin.

@cwebber The goblins were the reasons I donated!

@cwebber tangent: I still remember a ChiPy meeting where you showed us MediaGoblin many moons ago.

Thanks for all the good work you’ve done then and now. 🙂

@cwebber Actually I want "jet wing money" to be a term now.

@cwebber jet wing money? I'll be lucky if I ever have inkjet money.

@cwebber @spritely donation to charity being tax deductible means government are supporting project rich people want. Which is better than nothing but it would be nice if everyone could spend government money in their favorite charity just saying.