How Decentralized Is Bluesky Really? dustycloud.org/blog/how-decent…
A technical deep-dive, since people have been asking me for my thoughts. I'll expand a bit on some of the key points here in a thread. 🧵
like this
reshared this
How Decentralized Is Bluesky Really? dustycloud.org/blog/how-decent…
A technical deep-dive, since people have been asking me for my thoughts. I'll expand a bit on some of the key points here in a thread. 🧵
like this
reshared this
Christine Lemmer-Webber
in reply to Christine Lemmer-Webber • • •First of all, before I say anything else, my goal here is NOT to be mean to Bluesky's devs. I know there's a lot of fediverse-Bluesky rivalry, but I have enormous respect for Jay Graber and her team and I know they believe in their vision!
This started because I got some very kind encouragement by @bnewbold to write something. I'm trying to be technical in my analysis, not unkind. I hope that can be recognized, really and truly.
Steffo (moving) likes this.
Christine Lemmer-Webber
in reply to Christine Lemmer-Webber • • •That said, let's get to the summary: Bluesky / ATProto are not decentralized or federated, according to my analysis.
However, the "credible exit" goal is worth perusing, and does use decentralization techniques! But it is not decentralization/federation without moving the goalposts on those terms.
Steffo (moving) likes this.
Christine Lemmer-Webber
in reply to Christine Lemmer-Webber • • •Furthermore, I think Bluesky is providing something valuable: a lot of people are trying to leave X-Twitter *right now* because it has become a completely toxic place.
The fact that Bluesky's team has managed to scale to receive such users is incredible, nearly feeling miraculous.
Steffo (moving) likes this.
Christine Lemmer-Webber
in reply to Christine Lemmer-Webber • • •On the fediverse we also see a lot of accusations of Bluesky being owned by Jack Dorsey, and this isn't true. My understanding is that Jay performed an impressive amount of negotiation to allow Bluesky to receive funding independently.
These days Jack Dorsey is instead focusing on Nostr, which I can only describe as "a sequel to Secure Scuttlebutt with extremely bad vibes where bitcoin people talk about bitcoin"
Steffo (moving) likes this.
Christine Lemmer-Webber
in reply to Christine Lemmer-Webber • • •I participated a bit in the process of when Bluesky was Jack Dorsey and Parag Agrawal's personal project. I also believe Jack and Parag were sincere about Bluesky as a decentralized social network protocol that Twitter would adopt, which is the directive that Bluesky was given as an organization.
When Jay Graber was awarded the position to lead Bluesky, I was not surprised. To me, Jay was the obvious choice to deliver what Bluesky was being directed, and I do think Jay is an excellent leader
Christine Lemmer-Webber
in reply to Christine Lemmer-Webber • • •There is also something which Bluesky gets right which the fediverse does not. I mentioned that Bluesky uses decentralization *techniques*, and the most important of those is content-addressing. This allows content to exist even when a server goes down.
This is a great decision and I have advocated that the fediverse do so as well. In fact several years ago I wrote a demo in @spritely's early days showing off how one could build a content-addressed ActivityPub in a spec-compatible way.
Christine Lemmer-Webber
in reply to Christine Lemmer-Webber • • •So I have opened here with the things that Bluesky does well. As you may guess, we are about to move into critiques territory, and it's a lot of critiques from a *decentralization*/*federation* perspective. It doesn't erase the "credible exit" goals, which I think are good still.
Let's dive in...
Christine Lemmer-Webber
in reply to Christine Lemmer-Webber • • •A frequent way of describing Bluesky's decentralization, including by Bluesky's team, is "it's like a bunch of blogs (Personal Data Stores), and then the relay/appview/etc pieces are like search engines"
This is a reasonable starting point for thinking about things, so let's run with it.
Christine Lemmer-Webber
in reply to Christine Lemmer-Webber • • •In fact ATProto's own tutorial even says "Think of our app like a Google": atproto.com/guides/application…
And indeed this is a good way to think about things. But it doesn't seem so bad, because we have Personal Data Stores like blogs, so probably things are fine, right?
Quick start guide to building applications on AT Protocol - AT Protocol
AT ProtocolChristine Lemmer-Webber
in reply to Christine Lemmer-Webber • • •While most people would argue that blogs and websites are open, few would argue that *Google* is open. So this is a curious place to begin thinking, and yet structually, it is actually quite apt.
PDS'es are like blogs, the rest is like Google. But relays/appviews/etc do a lot *more* than Google.
Christine Lemmer-Webber
in reply to Christine Lemmer-Webber • • •Christine Lemmer-Webber
in reply to Christine Lemmer-Webber • • •But let's stay on this blog/search engine analogy for a while before we unpack what it means on a *technical* level, which is interesting. Let's analyze for the moment from a power dynamics level.
Building a web search engine is actually pretty easy these days, you can do so with off-the-shelf tools. And yet there are only a couple of search engines *really*, Google and Bing (DDG mostly uses Bing). And yet the information is right there. *Anyone* could run their own engine. Why don't they?
Christine Lemmer-Webber
in reply to Christine Lemmer-Webber • • •Furthermore there is an interesting connection between blogs and social media: the death of blogs + feed aggregation directly aligns with the death of social media.
How many of you were around for the birth and awkward death of blog engine feeds? Because I was! Oh, remember Google Reader?
Christine Lemmer-Webber
in reply to Christine Lemmer-Webber • • •Feed readers are also simple, and in fact they were even easy to self host, even on the desktop! But Google Reader came in and was such a good design that everyone used it.
When it went away, blogs were still *there*. But blogging as a *syndication medium* died. One big player left, and it's gone.
reshared this
Michał "rysiek" Woźniak · 🇺🇦 e Oblomov reshared this.
Christine Lemmer-Webber
in reply to Christine Lemmer-Webber • • •This was sad for me especially; my favorite medium on the internet ever was webcomics. Webcomics still exist, sort of, but the loss of independent publishing and aggregation meant that they had to change to survive.
The shape of webcomics started to get shaped to the shape of Twitter's image box.
Christine Lemmer-Webber
in reply to Christine Lemmer-Webber • • •Christine Lemmer-Webber
in reply to Christine Lemmer-Webber • • •So. It isn't enough to self-host your own PDS. Whether or not people can run their own relays/appviews/etc actually matters *a lot* if we want this stuff to survive.
So, can we? How hard is it to run your own AppView/Relay/etc?
Christine Lemmer-Webber
in reply to Christine Lemmer-Webber • • •Today, there is only one real organization running a Relay that really matters or an AppView that people use for anything other than fun aggregation of statistics. Nothing that resembles meaningful decentralization of the network. It's all run by one company: Bluesky.
But could we change that?
Christine Lemmer-Webber
in reply to Christine Lemmer-Webber • • •People are trying; most notably alice has done some great work recently: alice.bsky.sh/post/3laega7icmi…
So now someone *can* run their own Relay (not the AppView yet, but maybe soon), and we're getting a sense of the cost and scale. This is good news; we didn't know before.
How to self-host all of Bluesky except the AppView (for now) — alice.bsky.sh
alice.bsky.shChristine Lemmer-Webber
in reply to Christine Lemmer-Webber • • •In fact we also have an idea of the rate of growth. Approximately 4 months prior, @bnewbold.net posted an article detailing how to run a Bluesky relay: whtwnd.com/bnewbold.net/entrie…
This is great. We need more people trying to do so to get a sense of how decentralized things can be.
Notes on Running a Full-Network atproto Relay (July 2024) | bryan newbold
whtwnd.comChristine Lemmer-Webber
in reply to Christine Lemmer-Webber • • •Just focusing on storage, in July @bnewbold.net estimated the amount of storage expected to run a Bluesky relay is approx 1 terabyte. In just 4 months at start of this month (November), alice estimates nearly 5 terabytes.
This is a fast growth rate and this is *before* the big post-election influx.
Christine Lemmer-Webber
in reply to Christine Lemmer-Webber • • •I tried estimating how much this would cost; as a lazy approximation I dumped a 5 terabyte machine into seeing what Linode would cost to self-host, and it was approximately 55k a year: bsky.app/profile/dustyweb.bsky…
That's a lazy estimate, but that's also what many people make in the US every year
Christine Lemmer-Webber
in reply to Christine Lemmer-Webber • • •Christine Lemmer-Webber
in reply to Christine Lemmer-Webber • • •In fact @bnewbold and alice had gotten the server down to just close to $200/month in their estimate, much much cheaper than I had, by choosing a dedicated server plan. Much cheaper!
But there's a problem though; that's cheap because you've got a server that has a dedicated disk...
Christine Lemmer-Webber
in reply to Christine Lemmer-Webber • • •Christine Lemmer-Webber
in reply to Christine Lemmer-Webber • • •Christine Lemmer-Webber
in reply to Christine Lemmer-Webber • • •I have spent a lot of time focusing on the cost of storage, but storage is only one cost required. These estimates have been done so far against servers that *nobody is actually using*. The cost of servers that people are using will be much higher, because more needs to happen than just store things.
And that is not even to mention the challenges with administrating, dealing with takedown requests, illegal content, etc, which are probably much more serious.
Christine Lemmer-Webber
in reply to Christine Lemmer-Webber • • •Let's take a break, the analysis of server costs is boring and I don't like doing it, and I'm sure people will throw numbers at me of the absolute race-to-the-bottom hosting numbers they can find to store and run all this stuff, but really that's not interesting to me.
Let's do a comparison.
Christine Lemmer-Webber
in reply to Christine Lemmer-Webber • • •Christine Lemmer-Webber
in reply to Christine Lemmer-Webber • • •As said, tens of thousands of people are self-hosting *today*. Fediverse software doesn't just scale up, it scales *down*.
GotoSocial is cheap enough on resources where you can run it for family and friends on a raspberry pi or spare laptop you have sitting around.
Christine Lemmer-Webber
in reply to Christine Lemmer-Webber • • •Now you're hitting the point in this thread where some of you may be thinking "aha! this is where Christine is saying that the fediverse/activitypub are awesome and atproto is terrible!"
you have NO IDEA HOW MUCH I CRITICIZE THE FEDIVERSE ALL THE TIME, I do it all the time, and will later here
Christine Lemmer-Webber
in reply to 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.
marcelcosta likes this.
Christine Lemmer-Webber
in reply to Christine Lemmer-Webber • • •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
reshared this
william.maggos reshared this.
Christine Lemmer-Webber
in reply to Christine Lemmer-Webber • • •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 =======
Christine Lemmer-Webber
in reply to Christine Lemmer-Webber • • •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
How decentralized is Bluesky really? -- Dustycloud Brainstorms
dustycloud.orgChristine Lemmer-Webber
in reply to Christine Lemmer-Webber • • •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
- YouTube
www.youtube.comChristine Lemmer-Webber
in reply to Christine Lemmer-Webber • • •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
in reply to Christine Lemmer-Webber • • •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
in reply to Christine Lemmer-Webber • • •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
in reply to Christine Lemmer-Webber • • •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
in reply to Christine Lemmer-Webber • • •- 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
in reply to Christine Lemmer-Webber • • •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
in reply to Christine Lemmer-Webber • • •Christine Lemmer-Webber
in reply to Christine Lemmer-Webber • • •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.
Andreas Kilgus likes this.
reshared this
Oblomov, Mastodon Migration e Dan Gillmor reshared this.
Christine Lemmer-Webber
in reply to Christine Lemmer-Webber • • •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
in reply to Christine Lemmer-Webber • • •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
in reply to Christine Lemmer-Webber • • •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.
reshared this
Oblomov reshared this.
Christine Lemmer-Webber
in reply to Christine Lemmer-Webber • • •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.
reshared this
Oblomov reshared this.
Christine Lemmer-Webber
in reply to Christine Lemmer-Webber • • •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
in reply to Christine Lemmer-Webber • • •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!
Oblomov reshared this.
Christine Lemmer-Webber
in reply to Christine Lemmer-Webber • • •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!
Oblomov reshared this.
Christine Lemmer-Webber
in reply to Christine Lemmer-Webber • • •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.
reshared this
Oblomov reshared this.
Christine Lemmer-Webber
in reply to Christine Lemmer-Webber • • •Christine Lemmer-Webber
in reply to Christine Lemmer-Webber • • •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
in reply to Christine Lemmer-Webber • • •Oblomov reshared this.
Jeremiah Lee
in reply to Christine Lemmer-Webber • • •Christine Lemmer-Webber
in reply to Christine Lemmer-Webber • • •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
in reply to Christine Lemmer-Webber • • •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!
reshared this
Oblomov e myrmepropagandist reshared this.
Darius Kazemi
in reply to Christine Lemmer-Webber • • •Christine Lemmer-Webber
in reply to Christine Lemmer-Webber • • •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
myrmepropagandist
in reply to Christine Lemmer-Webber • • •Oblomov
in reply to Christine Lemmer-Webber • • •A credible threat to (and from) commercial social network silos/2
wokEvan Prodromou
in reply to Christine Lemmer-Webber • • •Hey, Christine.
I do not like the framing of the difference between ActivityPub and AT Proto as one of technology and not of governance.
I also think there are problems with examining ATProto since it is a proprietary protocol and Bluesky has not made a patent license statement about it.
UPDATE: Changed from questions to statements to make it less confrontational.
Evan Prodromou
in reply to Evan Prodromou • • •I hope Bluesky Inc. will make a big donation to the Spritely Institute. You did a huge amount of work.
UPDATE: a lot of people seem to think I'm calling my friend Christine a sellout here. There are few if any people in the world whose integrity and ethics I respect more than Christine's. I apologize that my wording made it seem otherwise.
Evan Prodromou
in reply to Evan Prodromou • • •omg, I skipped all the way to the end and OBVIOUSLY you look at this situation from every conceivable angle, including governance, because it wouldn't be a Christine Lemmer-Webber post without it.
I appreciate the depth of analysis. I do still think that Bluesky should make a donation to Spritely if @bnewbold asked you to make a 25-page report, though.
Evan Prodromou
in reply to Evan Prodromou • • •I also don't share your optimism about cross-pollination. There's a reason that W3C specifications have to only have normative dependencies on specs from recognized standards bodies. Too many minefields unless you have a clear license.
I'm glad that @bnewbold is in the SocialCG and I hope we can find some opportunities to publish reports with some or all parts of the AT Proto stack.
Christine Lemmer-Webber
in reply to Evan Prodromou • • •@evan I am glad you liked it after reading the whole thing 😀
I absolutely would not turn down a donation from Bluesky to Spritely should they want to ;P but also @bnewbold welcomed and said he would be "honored" to see me write something, but absolutely did not ask me to write a 25 page document, that's just me lol
But there was too much to cover, and I felt I really could not do the issue justice without covering it from every important angle, so I did. Glad it was well received. ❤
Evan Prodromou
in reply to Christine Lemmer-Webber • • •@bnewbold I didn't read the whole thing. ☹️
Since I actively work on ActivityPub, I can't afford to introduce patented ideas into our specs or extensions, even accidentally or unconsciously.
So, I avoid reading any technical discussions of the BS protocol. I've asked Brian and Mike to offer a public patent license or to release their work through W3C or IETF which also uses a patent license. No luck so far.
Anyway, I'm glad you had fun.
Evan Prodromou
in reply to Evan Prodromou • • •Evan Prodromou
in reply to Evan Prodromou • • •@bnewbold a link for those who need it!
every.org/spritely/donate
Every.org
Every.orgamd
in reply to Evan Prodromou • • •I’d be curious to hear more about your thoughts here.
I have worked in extremely patent laden spaces and I have never shied away from reading them as ignorance doesn’t offer a defense (in the US at least). I would read everything I could with the intention to be aware of the shape of the field and force my inventions to be developed to avoid them.
Is there something different about your space that allows you to be willfully unaware and somehow insulates your work?
@cwebber @bnewbold
Evan Prodromou
in reply to amd • • •@amd @bnewbold I don't know.
I wish that Bluesky would publish an open, royalty-free patent license on AT so this wasn't a problem for anyone else in the space.
In the open standards world, we typically only consider work from other open standards, specifically for this reason. So, basing a W3C spec on an IETF RFC.
So my experience here is slim.
Evan Prodromou
in reply to Evan Prodromou • • •@amd @bnewbold my understanding is that AT Proto is significantly different enough from ActivityPub in its architecture that it's unlikely we'll stumble across some technique it uses by mistake.
So I think it's a better idea to just steer clear and follow our own path.
Evan Prodromou
in reply to Evan Prodromou • • •@amd @bnewbold Brian is in the SocialCG at W3C, so if he thinks some ideas from AT should be used by others, he has the opportunity to publish them as CG reports. These are an extremely lightweight way to give assurance to the community.
w3.org/community/reports/reqs/
Report Requirements | Community and Business Groups
www.w3.orgEvan Prodromou
in reply to Evan Prodromou • • •Evan Prodromou
in reply to Evan Prodromou • • •I do think if someone at a commercial startup asks the director of a nonprofit to write a 24-page report including extensive technical research, they should help offset that work.
But Christine assured me that it's not the case; the level of effort was not requested and is entirely up to her. She's a grown woman, a professional, and knows how to allocate her own time.
Evan Prodromou
in reply to Evan Prodromou • • •@bnewbold I will leave it up to Brian to decide what Bluesky wants to do to support Christine's work.
For the rest of us who appreciate this and other research she does, I highly recommend making a contribution to the Spritely Institute.
every.org/spritely
Every.org
Every.orgChristine Lemmer-Webber
in reply to Evan Prodromou • • •@evan I am reading backwards in time but @bnewbold encouraged me to speak after I had expressed frustration about biting my tongue about things. I don't think this was for Bluesky's benefit at all and, I think you recognize this later but, tbh my article was *extremely* critical, even if polite
Bluesky folks have received it very thoughtfully but trust me I did *not* take that as a given and it could have very much so have not gone that way. I'm glad it did tho
Evan Prodromou
in reply to Christine Lemmer-Webber • • •@bnewbold it's like living in the movie Memento!
Anyway, good work.
Tommi 🤯
in reply to Christine Lemmer-Webber • • •This is invaluable, incredibly insightful, and compelling work. Thank you so much @cwebber!
Cc: @jsparber
ティージェーグレェ
in reply to Christine Lemmer-Webber • • •"In July 2024, running a Relay on ATProto already required 1 terabyte of storage. But more alarmingly, just a four months later in November 2024, running a relay now requires approximately 5 terabytes of storage. That is a nearly 5x increase in just four months"
wtfh?!
Are they hiding a blockchain or some other idiotic data "structure" in there!? I know warezlords who had hidden directories for IRC DCC bots on compromised servers which weren't such disk hogs.
gnu/m43
in reply to ティージェーグレェ • • •ティージェーグレェ
in reply to gnu/m43 • • •/me tries to imagine DNS requiring everyone who operates a DNS server, or UUCP/SMTP server, or IRC server or SILC server to maintain the "entire universe" and still claim that it is somehow "distributed" or "federated" or "decentralized" in the same sentence.
Distributed/federated/decentralized systems aren't new. They were pretty well established by the end of the 20th century. p2p implementations to improve upon some of the known weaknesses/disadvantages of such things were starting to making inroads by the late 20th century too.
Bluesky, apparently hasn't caught up to them? That isn't surprising to me even slightly.
What is surprising to me, is how easily people are still misled when there is a web of information to help them know better.
Regardless, thanks to Christine for doing a deeper dive into Bluesky than I would care to do personally. I had a lot of reasons to avoid it already. It never "moved the needle forward" from my vantage and this world is already littered with too many NIH Syndrome/"Reinventing the flat tire" (as Alan Kay would phrase it) tech dumpster fires.
Bonus: also gave me some reading references into Golem that I had somehow missed.
Meanwhile: in the less technical world as Last Week Tonight with John Oliver, no one is talking about Bluesky anyway, my favorite excerpt is John Oliver highlighting a cowboy (literally, a guy who sells cows) talking about how "Facebook is archaic it's dead, Instagram's prime was more than seven years ago " and Tik Tok is apparently the go to place for the technically inept (which means the bulk of users), in spades: youtu.be/5CZNlaeZAtw?t=1221 ;)
CC: @cwebber@social.coop
- YouTube
youtu.beChristine Lemmer-Webber
Unknown parent • • •The Bluesky approach to the "shared heap" is that *everything* goes into the big, centralized shared heap. Bluesky takes a "god's eye" view: it knows everything, and so knows what all your replies are, and can give you perfect search.
Secure Scuttlebutt / Nostr... well long story. Lossier, I'll say
Christine Lemmer-Webber
Unknown parent • • •That's exactly why running a Relay or AppView is expensive: you're building an addition to your house for all the world's mail.
Eeep! That ain't cheap. That's why I'm saying: decentralization also means the ability to *scale down*.
Christine Lemmer-Webber
in reply to Christine Lemmer-Webber • • •You can imagine the physical world version of "message passing" already because you already live in this world. Messages come to your house or apartment building or whatever
For Bluesky's "shared heap" architecture, you'd have to build a whole addition to your house for everyone's mail
Christine Lemmer-Webber
Unknown parent • • •Christine Lemmer-Webber
Unknown parent • • •If "message passing" is like "mail comes to your house", a "shared heap" system works differently
In a "shared heap" system, all the mail gets dumped at the post office, and in the most naive version, you go over there and read through every single piece of mail to see which one is relevant to you
Christine Lemmer-Webber
Unknown parent • • •Blocking first. Bluesky's decision to have *everything* public means that it is expected that every participating node knows *everything* about who's blocking *everyone*.
"This is consistent with how blocking works on Twitter/X" their paper says
But wait, I'm pretty sure that one's not true though
Christine Lemmer-Webber
Unknown parent • • •So okay, the federation is "message passing" and like email, or physical mail. You have an idea how it works.
Now we need to get to that other thing, a "shared heap" architecture. What on earth does that mean?
Christine Lemmer-Webber
in reply to Christine Lemmer-Webber • • •It is ONE thing to be able to block JK Rowling and for you to see that JK Rowling is blocking you.
It is an ENTIRELY DIFFERENT THING for ANYONE to see who is blocking JK Rowling and who JK Rowling is blocking
This one is shocking to me: this seems like a vector for abusive actors
reshared this
The Nexus of Privacy reshared this.
Christine Lemmer-Webber
Unknown parent • • •I actually think this is improvable but I mostly don't care because this isn't as big a complaint as people tend to think it is on the fediverse, the other concerns like "what instance do I pick" tend to be bigger and "oh no my server went down"
That can be improved, we'll talk about that later
Christine Lemmer-Webber
Unknown parent • • •reshared this
Michał "rysiek" Woźniak · 🇺🇦 reshared this.
Christine Lemmer-Webber
Unknown parent • • •Christine Lemmer-Webber
Unknown parent • • •"Oh Christine you're being sensitive"
Maybe, but there are real consequences to this. What if Bluesky/ATProto fails? "Oh well we tried decentralization and that didn't work." If people think something is something that it isn't, then that's a real problem.
Christine Lemmer-Webber
Unknown parent • • •If what your *goal* is to get off Twitter, then Bluesky has solved it. They solved it by building another Twitter, and this time it's open source, which is cool! And it might have this "credible exit" thing.
But god damnit it's not decentralized and it's not federated stop TELLING people that
reshared this
Sam D, Dan Gillmor, Eric Lathrop e Mastodon Migration reshared this.
Christine Lemmer-Webber
Unknown parent • • •Now as I have said, this is a *design decision*. And remember: most users of Bluesky really *don't care*. Decentralization is not their focus, they're trying to get the hell off the nazi hellscape that Musk's toxic reign of Twitter has become.
Bluesky's architecture, actually, is great for them.
Christine Lemmer-Webber
in reply to Christine Lemmer-Webber • • •Look, I know that I've been hitting this nail on the head for a while but: the web is open, blogs are open, but Google isn't open
But you could run your own Google, in theory. You could index the web. So why aren't you?
Ah yeah. Same thing here. That's what I mean, that's why it's centralized
Christine Lemmer-Webber
Unknown parent • • •Confusion, on its own, is one thing. But the problem is when confusion turns into decentralization-washing.
"This is going to turn into decentralization-washing!"
"It's just to pass the test suite!"
[... time passes ...]
"Actually we like did:web now, it's a DID method everyone can implement!"
Christine Lemmer-Webber
Unknown parent • • •I was kind of exiting that particular area of standards when this happened but colleagues will tell you that I, and some others, were deeply upset and troubled by this
"Sure having a nearly no-op DID to pass the test suite is helpful but it shouldn't be labeled as a DID, people will get confused!"
Christine Lemmer-Webber
Unknown parent • • •Everyone in the DID standards space KNEW that did:web was centralized, so why on earth was a centralized identifier permitted for something named "Decentralized Identifiers"?
The answer is easy. did:web is easy to implement, many DID methods were not.
did:web existed for test suites.
Christine Lemmer-Webber
Unknown parent • • •"Now wait Christine, didn't you say earlier that the web is decentralized and open? So therefore, did:web is decentralized and open"
Yeah but the naming system of the web is CENTRALIZED
We use DNS and ICANN (and then we add another centralization layer with TLS/SSL CAs)!
Christine Lemmer-Webber
Unknown parent • • •The reason actually stems from the first centralized DID method that Bluesky supports: did:web.
did:web is centralized, and kinda useless. It just works by a regex rewrite of the DID's name to an https URI and then it's retrieved. Anywhere you use did:web, you could have just used an https: URI
Christine Lemmer-Webber
Unknown parent • • •The other requirement you would expect, based on the name, is that Decentralized Identifiers are *actually decentralized*.
When I got involved in DID work, that was actually the expectation of everyone. Then it was loosened. What? Why on earth?!
Christine Lemmer-Webber
Unknown parent • • •Before we get there, let's talk about what the DID spec was and what DIDs are. The core DID spec is an *abstract interface* for key management which provides a way of representing keys (and some other metadata) which can be created, retrieved, and updated/rotated.
So far so good...
Christine Lemmer-Webber
Unknown parent • • •In that sense, I am really glad Bluesky is taking on decentralized identity, as a concept! And DIDs, in a way, are a good signal.
But there are several problems, the first of which is: Bluesky supports two kinds of Decentralized Identifiers and they're both -- you guessed it -- centralized!
Christine Lemmer-Webber
Unknown parent • • •Back in 2017 I wrote a whitepaper: "ActivityPub: from decentralized to distributed social networks" and it also suggested using DIDs github.com/WebOfTrustInfo/rwot…
I no longer think DIDs are necessary to solve this, but then and now I think *decentralized identity is important*
rwot5-boston/final-documents/activitypub-decentralized-distributed.md at master · WebOfTrustInfo/rwot5-boston
GitHubChristine Lemmer-Webber
Unknown parent • • •A lot of data modeling I did in that time was in the W3C Verifiable Credentials group that was working on Verifiable Credentials, zcap-ld (my spec), and, oh hey, Decentralized Identifiers (DIDs, the name is not my fault)
So actually I was pretty excited when I heard that Bluesky was gonna use DIDs!
Christine Lemmer-Webber
Unknown parent • • •I am also sad about the US House of Representatives being shitty to trans people who work there and are just trying to make it through the day
I used to do data modeling contracting for the US HoR on our legal system, true story, which sends me back to a time when I did a lot of data modeling
Christine Lemmer-Webber
Unknown parent • • •Okay, I am back and I am back with tea! I made "black tea with ginger" and I put some whipped honey in it. I also made tea for my spouse
I am drinking out of an oversized mug from @baconandcoconut that says "I'm that person who likes to serve on open source program committees", which is not actually accurate but I do anyway
Christine Lemmer-Webber
Unknown parent • • •And so, it is TEA TIME
Go get yourself a hot beverage. Put honey or agave in it, if you like. Dairy, or perhaps, non-dairy, if you prefer.
=== BREAK TIME! Time for tea! ===
Christine Lemmer-Webber
Unknown parent • • •I said we are about halfway through and criminy we're halfway through the afternoon, I need a break to get some tea
We have a few big topics left:
- Decentralized identity, how does it work (magnets too, yes)
- The Org is a Future Adversary
- Christine critiques the fediverse
- Wrap up
Christine Lemmer-Webber
Unknown parent • • •On that note, again, I am not reading the replies right now because I am (a) afraid to and (b) I'm never gonna finish this and we are a bit over HALFWAY THROUGH the analysis but I have this fear that EVERYONE is mad at me, Bluesky fans, fediverse fans
I am trying to be analytical. I am trying!!!
Christine Lemmer-Webber
Unknown parent • • •But to Bluesky's credit, Twitter's DMs aren't decentralized either! And getting and shipping something that works, now for the influx of Twitter users, again... I am sympathetic
Bluesky's team is doing an INCREDIBLE JOB in that way of scaling to meet the incoming stream of Twitter refugees
Christine Lemmer-Webber
Unknown parent • • •The point is that I have *seen in the wild* people saying "Oh yeah Bluesky added DMs to their decentralized protocol" and augh
I know they aren't claiming this but it's very clear to me that people are reading things as being completely different architecture than it is
Christine Lemmer-Webber
Unknown parent • • •Christine Lemmer-Webber
Unknown parent • • •marcelcosta likes this.
Christine Lemmer-Webber
Unknown parent • • •You know what, we'll come back to "bidirectional Conway's Law", let's talk about Direct Messages for a minute because I think those are telling
Direct Messages in Bluesky, wait how do they work if ATProto is public?
Did you guess?
DMs are centralized! All DMs flow through Bluesky
Christine Lemmer-Webber
Unknown parent • • •Yes, I may sometimes seem silly over here, SICP-hugging fangirl, come on we're just trying to build things that *work* over here
Look I'm a lisp lady, I know the realities of "Worse Is Better" more than most, I now the right CS designs don't win
But Conway's Law flows in two directions!
Christine Lemmer-Webber
in reply to Christine Lemmer-Webber • • •Now to be completely fair this is something that Bluesky's devs are interested in potentially changing: there is an open issue to discuss the possibility of private blocks github.com/bluesky-social/atpr…
What I am saying is there are architectural consequences to fundamental design abstractions
Mechanisms for private "block" relationships between Bluesky accounts · bluesky-social atproto · Discussion #1131
GitHubChristine Lemmer-Webber
Unknown parent • • •Aside from being irritated about the name misleading, I don't mind the centralization of did:plc too much (other things, I am more concerned about, we'll get there)
There's one organization that can be queried via their API that keeps a definitive list of certificate and their updates
Christine Lemmer-Webber
Unknown parent • • •Christine Lemmer-Webber
Unknown parent • • •Christine Lemmer-Webber
Unknown parent • • •did:plc is centralized, and that bothers me because once again, users think something is more decentralized than it is, because they're being *told* it's decentralized
The particular way in which did:plc is centralized doesn't bug me too much but once again, few users have read into this
Oblomov reshared this.
Christine Lemmer-Webber
Unknown parent • • •For that matter, where did the term did:plc come from? Early versions of "did:plc" documentation called it the "Placeholder" DID method, that's what it stands for, to motivate changing it later
Well the docs no longer say that, it now says "Public Ledger of Credentials"
Good backronymn, but...
Christine Lemmer-Webber
Unknown parent • • •So did:web is not only useless, it misleads people about the problem domain entirely, but hey it's now the most broadly deployed DID method in the world, congrats everyone!
Speaking of centralized Decentralized Identifiers, did I mention that did:plc is centralized?
Christine Lemmer-Webber
Unknown parent • • •But it's ONLY EXPERTS IN DIDs WHO UNDERSTOOD THIS
Most users hear "Decentralized Identifiers" and they think they know what's being delivered, the distinction between the *spec* being called that and the *mechanism used* being centralized... you have to go digging to find that out
Christine Lemmer-Webber
in reply to Christine Lemmer-Webber • • •Christine Lemmer-Webber
Unknown parent • • •It is time for TEA BREAK 2: THE REHEATENING
I will also go to the bathroom
TMI? If you've read this far into this weird thread I am already giving you too much info
=== TEA BREAK 2 ===
Christine Lemmer-Webber
Unknown parent • • •Christine Lemmer-Webber
Unknown parent • • •tl;dr on that UX part:
- users only know domains, they don't know the DIDs
- turns out that's a phishing attack when those can change at any time
- if bsky.app ever goes down how do you actually know I *really* mapped to that name
- and a whole lot of "liveness" problems that enter there
Christine Lemmer-Webber
Unknown parent • • •Regardless, Bluesky has this "your domain is your id!" thing, and that's pretty cool, the domain maps to your DID and your DID maps to your domain
Well, I'm not gonna get into this in detail here, I do on the blogpost if you wanna read it but, the cyclic dependency might be an actual cycle
Christine Lemmer-Webber
Unknown parent • • •The big promise here, the "credible exit" side of things is that for most users, the vision they have is that if Bluesky gets bought by a big evil company, no problem, move somewhere else
But for those same users, Bluesky still *controls their keys* and thus *controls their destiny*
Christine Lemmer-Webber
Unknown parent • • •I am, once again, kinda sympathetic and kinda unsettled simultaneously.
- Sympathetic: key management *is* hard and we just don't have the UX answers to solve that, and Bluesky is once again trying to deliver to Twitter refugees
- Unsettled: it's centralized, but... there's something *more* troubling
Christine Lemmer-Webber
Unknown parent • • •Bluesky has identified, I'd say correctly even, that key management for users is an *incredibly* hard thing to do.
But the solution, once again, ends up pretty centralized: for all users on Bluesky's main servers at least, Bluesky generates and manages the keys for them.
Christine Lemmer-Webber
Unknown parent • • •At any rate, one way or another, you can presumably use did:plc to move yourself from one server to another so in the interest of "credible exit" this is a good choice
Though, one might take a moment to ask: who controls the keys if you *do* want to move?
Christine Lemmer-Webber
Unknown parent • • •Christine Lemmer-Webber
Unknown parent • • •Christine Lemmer-Webber
Unknown parent • • •There's another thing about that blogpost that caught my attention. I will just quote it:
> However, there's one other factor that raises this from "a curiosity" to "a big problem": bsky.social uses the same rotationKeys for every account.
Christine Lemmer-Webber
Unknown parent • • •One way in which the truncation shows up in that blogpost which I thought was curious is that the attack involved generating a *longer* truncated hash
The fix ended up resulting in codifying the hash length: 24 characters, and no longer github.com/did-method-plc/did-…
Constant identifier len of 24 by dholms · Pull Request #31 · did-method-plc/did-method-plc
GitHubChristine Lemmer-Webber
Unknown parent • • •At any rate, I continue to not understand it, maybe it's fine, but it did play a part in that "Hijacking Bluesky Identities with a Malleable Deputy" blogpost, which is fascinating and, unlike me, is written by a Real Cryptographer (TM) da.vidbuchanan.co.uk/blog/hack…
Good post btw
Hijacking Bluesky Identities with a Malleable Deputy | Blog
www.da.vidbuchanan.co.ukChristine Lemmer-Webber
Unknown parent • • •DIDs weren't meant to be seen by the user; cryptographic identifiers in general *shouldn't be*, they should be encapsulated in the UI.
We'll get to UI stuff in a bit.
I just don't understand this decision though, it just seems weird to me but maybe a cryptographer will tell me it's fine, actually
Christine Lemmer-Webber
Unknown parent • • •This is public information, I don't need to file a CVE to tell you about the truncation of entropy. I am, again, not a cryptographer. Maybe it's fine?
I do remember the Debian short IDs fiasco tho gwolf.org/2016/06/stop-it-with…
Why not hold onto all the entropy you can get?
Gunnar Wolf• Stop it with those short PGP key IDs!
gwolf.orgChristine Lemmer-Webber
Unknown parent • • •The next concerning thing is that did:plc truncates the hash to just *15 bytes* of entropy.
I'm... again I'm not a cryptographer, but why throw away all that delicious entropy? So the did fits in 32 characters? Weird choice, and it means collisions are cheaper
Christine Lemmer-Webber
Unknown parent • • •The first strange thing to me is that did:plc uses sha256 and, AFAICT, not sha256d (which is really just running sha256 again over the hash). Unless I am missing something? Am I wrong?
Maybe it's not a concern because of doc parsing but it's best practice to protect against length extension attacks
Christine Lemmer-Webber
Unknown parent • • •There are some strange, strange things about did:plc that heightens the centralization concerns and, well
I'm not a cryptographer, but some of my good friends are cryptographers, etc etc. I got some... reactions to what is to follow
Christine Lemmer-Webber
Unknown parent • • •This is pretty good tbh, it lowers the stakes a lot to have certificate chains
I love certificate chains, certificate chains are great
Honestly, having a centralized registry for them, it's not the best but it's not the worst (aside from that damn naming thing)
However...
Christine Lemmer-Webber
in reply to Christine Lemmer-Webber • • •In theory, once a DID is registered with Bluesky, it cannot be altered by Bluesky, because a cryptographic update from the original key is necessary; it's a certificate chain, a good design
Bluesky can refuse to share did:plc documents or their updates, but it can't manufacture updates
Amin Hollon 🏳
Unknown parent • • •Christine Lemmer-Webber
Unknown parent • • •Alright you've heard enough critiques of Bluesky for a bit and I SAID I was gonna critique the fediverse and I am a WOMAN OF MY WORD
So let's get into it!
Christine Lemmer-Webber
Unknown parent • • •Before we get into the next section, earlier I left an easter egg, which you could reply to and say "I found the easter egg" or something
Now you can put 2 eggs
I 2 was once an egg
(Look I specifically transitioned so I could never be accused of making dad jokes again so that does not qualify)
marcelcosta likes this.
Christine Lemmer-Webber
Unknown parent • • •Yes, I changed the order of the remaining sections, not from the blogpost but from the last time I said what was left on this thread
pray I do not reorder them again
Christine Lemmer-Webber
Unknown parent • • •"Where are we going with this Christine?"
Well you could have just read the blogpost but 3 more sections remain, we are approximately 2/3 there
I know, bear with me, what is left is:
- What should the fediverse do?
- Preparing for the organization as a future adversary
- Conclusions
Christine Lemmer-Webber
in reply to Christine Lemmer-Webber • • •I have returned, with tea
I am still not reading notifications. Well, I have seen a few fly by on the fediverse which is blipping and blooping nonstop in the Mastodon UI so people are clearly reading it there
Bluesky says "30+". How big is the +?? I will resist temptation to look and assume "31"
Chartodon
Unknown parent • • •@smallcircles
Your chart is ready, and can be found here:
solipsys.co.uk/Chartodon/11352…
Things may have changed since I started compiling that, and some things may have been inaccessible.
In particular, the very nature of the fediverse means some toots may never have made it to my instance, in which case I can't see them, and can't include them.
The chart will eventually be deleted, so if you'd like to keep it, make sure you download a copy.
Christine Lemmer-Webber
Unknown parent • • •Conway's Law says that a technical architecture reflects the social structure under which it was built. But the reverse is also true. The social structures *we can have* are made possible by the affordances of the tools we have available.
"Tech problems/social problems": false dichotomy.
Christine Lemmer-Webber
Unknown parent • • •When I laid out the ideas of OCapPub to various fediverse developers, the response was "this sounds cool but I have *no idea* how to retrofit a Rails/Django app for this kind of actor-oriented design".
And they were right.
Remember when I said Conway's Law flows in both directions?
Christine Lemmer-Webber
Unknown parent • • •The fediverse and Bluesky, at great effort, could learn a lot from each other in the immediate term.
In the longer term, neither is implementing the ocap vision I think is critical for the big vision, and in a way, I think maybe neither can be easily rearchitected to achieve it. Well, not yet.
Christine Lemmer-Webber
Unknown parent • • •To the end of the fediverse, perhaps I sound bitter, "they didn't adopt ActivityPub the way *I* saw it!"
The truth is that Mastodon didn't, but Mastodon also saved ActivityPub. It then painted a vision of the future that wasn't, at least, what Jessica Tallon and I expected of it. But it saved AP.
Oblomov reshared this.
Christine Lemmer-Webber
Unknown parent • • •Of course, adapting an existing system as deployed isn't easy.
I will say though that I think if Bluesky were to become *actually decentralized* it would look a lot like ActivityPub in terms of having directed messaging. This will also introduce similar challenges around eg replies, etc.
Christine Lemmer-Webber
Unknown parent • • •For this reason @blaine says of both ActivityPub done right and Bluesky done right, "they're the same picture" (The Office meme goes here, yes)
To a large degree, I think @blaine is right
Christine Lemmer-Webber
Unknown parent • • •Let's leave the ocap stuff to the side for now, then. Let's focus on what Bluesky and the fediverse have to learn from each other.
- The fediverse should adopt content-addressed storage and decentralized identity
- Bluesky should adopt real, actual federation and decentralization
Christine Lemmer-Webber
Unknown parent • • •For this reason, @spritely's tech looks like it's very focused on computer science'y low-level BS, but that's actually because it's *too hard to build the systems I want right now on top of current technology*, we need stronger foundations
But people have to build for today too
L. Rhodes
in reply to Christine Lemmer-Webber • • •Christine Lemmer-Webber
Unknown parent • • •The ocap stuff, I tried getting fediverse implementers excited about this and tbh, it's pretty hard to design into a Ruby on Rails or Django style framework and mindset. Backporting the right designs to existing systems is a real challenge.
Especially ocaps need to go bottom-up.
Christine Lemmer-Webber
Unknown parent • • •Christine Lemmer-Webber
Unknown parent • • •(cotd ...)
- Better anti-spam / anti-harassment using OCapPub ideas
- Improved privacy with E2EE ("encrypted p2p" even a better goal)
Whew! An improved fediverse?
"Uh, Christine, this sounds like a lot, do you think the fediverse can take this on?"
Christine Lemmer-Webber
Unknown parent • • •Here is your recipe for making the "Correct Fediverse IMO (TM)":
- Integrate ocaps, which is possible because actor model + ocaps compose
- Content addressed storage!
- Decentralized identity (notice the *y*, I did not say DIDs) on top of ~mutable CAS storage
- Petname system UX
(cotd...)
Christine Lemmer-Webber
Unknown parent • • •The reason I bring up the proposal here is that I think it has all the right analysis of *what the fediverse should do*, if it was going to rise to the challenge of fulfilling its true potential
So let me lay out what the things in that proposal were:
Christine Lemmer-Webber
Unknown parent • • •Now I want to be clear here that I *don't* think that proposal was necessarily the right one for Bluesky, and I *do* think Jay Graber *was* the right person to lead Bluesky
What I wanted to do required a lot more research, and we have done that over at @spritely instead
Christine Lemmer-Webber
Unknown parent • • •The other time I wrote about ActivityPub + ocaps was in a proposal to, yes, Twitter's Bluesky process in 2020 with Jay Graber titled... "ActivityPub + OCaps"! gitlab.com/-/snippets/2535398
I think that document laid out all the right ideas for *the fediverse* (not saying bsky, the fediverse)
Bluesky proposal submitted by Christine Lemmer-Webber and Jay Graber, 2020-07-29 ($2535398) · Snippets · GitLab
GitLabChristine Lemmer-Webber
Unknown parent • • •Anyway, if you know *anything* about me, you know I am a big fan of capability security (ocaps) and that's the foundation of our work over at @spritely
But we will come back to ocaps in a second because it turns out OCapPub is not the only time I proposed AP + ocaps!
Christine Lemmer-Webber
Unknown parent • • •ActivityPub left giant holes in the spec around two things which sound the same but which are not the same: Authentication and Authorization
Trying to mix these two, you accidentally get ACLs, and then you get confused deputies and ambient authority, plagues of the security world
Christine Lemmer-Webber
Unknown parent • • •This isn't the only time I left a critique of ActivityPub-as-Deployed as opposed to ActivityPub-as-it-could-be: see also OCapPub, which critiques the anti-abuse tools of AP as inadequate and leading to "the nation-state'ification of the fediverse" gitlab.com/spritely/ocappub/bl…
Oh, and ocaps!!!
README.org · master · spritely / OcapPub · GitLab
GitLabChristine Lemmer-Webber
Unknown parent • • •Actually with this and several other things I am going to bring up, I actually made sure there was space to do things right: there was a push to make ActivityPub "https-only"
I pushed back on that, I didn't want that requirement, and it was exactly for this reason: enabling content addressing
Christine Lemmer-Webber
Unknown parent • • •Content addressing is important. It should not matter where content "lives". It should be able to live anywhere.
A server should be able to go down, and content should survive.
Go content addressing!
Christine Lemmer-Webber
Unknown parent • • •Actually something that is funny about ActivityPub is that there's "ActivityPub the spec", which I think is pretty solid for the most part, and "ActivityPub-as-deployed"
Many of the critiques I'm about to lay out we left holes in the spec for which I hoped would be filled with the right answers
Christine Lemmer-Webber
in reply to Christine Lemmer-Webber • • •I have actually critiqued ActivityPub and the fediverse a lot! I have kind of never stopped critiquing it, ever since the spec was released. There's a lot that can be improved!
I have even gotten criticism from AT LEAST ONE ActivityPub spec author for critiquing AP-as-deployed but I do anyway
Christine Lemmer-Webber
in reply to Christine Lemmer-Webber • • •One thing we have already discussed so, before I will say anything else, I will repeat: content addressing is really good, and I'd like to see it happen in ActivityPub, and it's *possible to do*, I even wrote a demo of it gitlab.com/spritely/golem/blob…
Bluesky does the right thing here, AP should too
README.org · master · spritely / golem · GitLab
GitLabChristine Lemmer-Webber
Unknown parent • • •It was *at least* good insofar as the moment Google retired the phrase as never really meaning anything anyway, as evil as Google may have been before, Google got *noticably* worse.
To Bluesky people internally: keep that phrase going as long as you can, and use it reflectively.
Christine Lemmer-Webber
Unknown parent • • •Occasionally an org creates a phrase like this, and back in the day Google had "Don't be evil"
And yeah, people criticize Google for never having been sincere but it gave an opportunity for people inside and outside the organization to critique Google on its own stated values. That was good.
Christine Lemmer-Webber
Unknown parent • • •Also you have reached it: the third secret egg
You have now collected the egg triforce and can defeat Gender Ganon
If you want to
The power was in you all along
But let's continue.
marcelcosta likes this.
Christine Lemmer-Webber
in reply to Christine Lemmer-Webber • • •It's time, we have reached the second to last section: "Preparing for the organization as a future adversary."
I love this one because I love that phrase, and the best part is that the Bluesky team came up with it, "the organization is a future adversary". It's genuinely good and self reflective
Christine Lemmer-Webber
Unknown parent • • •What I am trying to say is I don't have many heroes but @evangreer is absolutely a heroine of mine
You should donate to @fight they are some of the only people doing sensible advocacy against terrible internet laws
Also fuck TERFs
But anyway
Christine Lemmer-Webber
Unknown parent • • •Sensitive content
Before we go any further, earlier I mentioned the US House of Representatives, and here I am giving a MASSIVE content warning for transphobia
But @evangreer is the coolest fucking person for standing up to Rep. Mace at the Project Libery summit fightforthefuture.org/news/202…
Transgender digital rights activist confronts hate-monger Rep. Nancy Mace at Internet summit
Fight for the FutureChristine Lemmer-Webber
Unknown parent • • •Hello, I am back again. Did you miss me? I still am not reading notifications.
Help I started writing this summary at 11am and it is now 6pm here I have wasted a whole day of work
But I have tea, and I also flossed my teeth, and it is time to resume this thread. If you are here, you know why.
Christine Lemmer-Webber
Unknown parent • • •Let's take another tea break. (And another bathroom break. This teacup is massive.) We're getting close to done, I promise. Just two sections left, they're both much shorter.
Then I can finally brave reading my notifications.
Maybe.
== TEA BREAK THE THIRD: BEVERAGE TRIFORCE ==
Christine Lemmer-Webber
Unknown parent • • •And perhaps this is all my *massive* Cassandra complex speaking. I won't deny that I have one, for better or worse
Still, despite all I have said about both Bluesky and the fediverse technically, it is because I want a hopeful direction for all of us. Secure collaboration. More important than ever.
Christine Lemmer-Webber
Unknown parent • • •The vision laid out for the fediverse, both independently in my writings and even in Jay Graber and I's joint proposal... well, it's a big lift.
@spritely would like to see if we can retrofit our version onto ActivityPub. Time will tell if that's a separate thing.
Christine Lemmer-Webber
Unknown parent • • •So too does the social structure flow from the tech. It does on Bluesky, and it does on the fediverse.
I won't elaborate further on this, I actually would like you to pause and think about it. In which ways are tech and social systems bidirectional, here and otherwise? It's important.
Christine Lemmer-Webber
Unknown parent • • •Remember when I said that IMO @jay.bsky.team is the right person to lead Bluesky and that I am sympathetic with many design decisions of Bluesky (even if critical of them for being non-decentralized)?
Bluesky is building what they can for a scale big objective. The tech flows from goals.
Christine Lemmer-Webber
in reply to Christine Lemmer-Webber • • •It's for that reason that @spritely, while aiming for a *socially collaborative* revolution, is first focusing on a *technical* revolution.
It's too hard to build massively, securely collaborative tools right now. With Spritely's tools, p2p ocap secure tech is the *default output*.
Christine Lemmer-Webber
Unknown parent • • •What I will *not* accept is the goalposts being moved on decentralization and federation. Bluesky is neither decentralized nor federated.
If Bluesky wants to become so, it has an enormous amount of work to do, particularly in terms of architectural design.
Blogs are decentralized, Google is not.
Christine Lemmer-Webber
Unknown parent • • •There will be a lot of pressure soon from investors: run ads, make premium accounts that do not actually make sense in a decentralized way, so on and so on.
In this way, "credible exit" is the most important thing for Bluesky the organization and its community to push on *today*
Christine Lemmer-Webber
Unknown parent • • •Christine Lemmer-Webber
Unknown parent • • •Again, this is all tuned to "What is Bluesky trying to build?"
Bluesky might not be a good "decentralized Twitter replacement", but it is a good "Twitter replacement" with the possibility of "credible exit"
Christine Lemmer-Webber
Unknown parent • • •The structure of an organization does matter. There's a reason that @spritely is a 501(c)(3) in the US. Any money we take in is a donation: we aren't "delivering on an investment" (though we must deliver on *results*)
Bluesky is a Public Benefit Corporation, also interesting
Christine Lemmer-Webber
in reply to Christine Lemmer-Webber • • •Christine Lemmer-Webber
Unknown parent • • •This happens despite the very best people with the very best intentions. Talk to early Twitter co-founders and they will tell you the org that things became was not the org that they envisioned.
A future adversary indeed. So we should plan for it today.
Christine Lemmer-Webber
in reply to Christine Lemmer-Webber • • •Before we continue further, I have done about every job imaginable in a FOSS project/organization. Fundraising, by far, is the worst, and the most stressful.
It's incredibly hard to raise anything to do anything. I think that's worth acknowledging.
Christine Lemmer-Webber
Unknown parent • • •To this end, Bluesky's goals of "credible exit" are actually very important. It creates a similar pressure for the organization itself to stay true as long as it can, even acknowledging the organization as a future adversary, and actually preparing for it.
I am pro-Bluesky-credible-exit.
Christine Lemmer-Webber
in reply to Christine Lemmer-Webber • • •And there *will* be a lot of pressure: Bluesky has taken VC money as investments; the pattern of such is that early on, things are very good and flexible, and after some time, the investors start placing pressure to enshittify.
I have seen good peoples' orgs clawed from their hands. It happens.
Christine Lemmer-Webber
in reply to Christine Lemmer-Webber • • •Christine Lemmer-Webber
in reply to Christine Lemmer-Webber • • •Joel reshared this.
Steffo (moving)
in reply to Christine Lemmer-Webber • • •Rocketman
in reply to Christine Lemmer-Webber • • •reshared this
Tommi 🤯 reshared this.
find you on :butterfedy1: fediverse
Unknown parent • • •i had a looksy at that and the webassembly part for one of the technologies was the only turn-off i could see at a glance.
i realize that the addon system for browsers is tivo-isation by #mozilla (terrible) and that addons aren't harnessing an efficient language/codebase and addons might not be able to do everything in a browser. but by the same token, i dont believe we ought to EXPECT everything to be able to be done in a broser.
Ed Summers
in reply to L. Rhodes • • •𝓼𝓮𝓻𝓪𝓹𝓪𝓽𝓱【ツ】☮(📍🇬🇧)
Unknown parent • • •@smallcircles
how about nostr?
how about the pear runtime?
how about dat ecosystem?
the runtime works now.
a p2p messenger like keet works now.
nostr works now.
to me that is way more inspiring than the more academic work of klepmann.
it is also unlikely the next decentralized social media will come from academia
𝓼𝓮𝓻𝓪𝓹𝓪𝓽𝓱【ツ】☮(📍🇬🇧)
Unknown parent • • •@smallcircles
you shpuld try keet messenger.
it has thousands of peers in rooms.
you coupd look at autobase.
its more building material to make it easy to define and design your CRDTs and related mechanisms for your app 🙂
if you ever used nodejs, just use the pear runtime to get started.
`npx pear run pear://runtime`
and follow the tutorial 🙂
𝓼𝓮𝓻𝓪𝓹𝓪𝓽𝓱【ツ】☮(📍🇬🇧)
Unknown parent • • •IETF and all big standard bodies are the old way of doing things. its the wrong place to look
𝓼𝓮𝓻𝓪𝓹𝓪𝓽𝓱【ツ】☮(📍🇬🇧)
Unknown parent • • •𝓼𝓮𝓻𝓪𝓹𝓪𝓽𝓱【ツ】☮(📍🇬🇧)
Unknown parent • • •@smallcircles
yeah.
affiliation.
viral marketing.
we need to do that p2p too.
sadly too littpe knowledge and attention seem to be channeled into that yet and i hope this changes in the future.
𝓼𝓮𝓻𝓪𝓹𝓪𝓽𝓱【ツ】☮(📍🇬🇧)
Unknown parent • • •@smallcircles
@dat_ecosystem
The pear runtime is documented at docs.pears.com
Pear by Holepunch | Pears.com
docs.pears.com𝓼𝓮𝓻𝓪𝓹𝓪𝓽𝓱【ツ】☮(📍🇬🇧)
Unknown parent • • •@smallcircles
i'd prefer to burn down all those temples. fuck them tbh. we need to make it work grassroots.
the most recent impactful movement that was successfully torpedoed by microsoft was nodejs and npm growth.
the reason they were successful was money.
The nodejs ecosystem grew up and figured its not sustainable for them.
Every used open source repo must be part of supply chains automatically and receive funds to make it sustainable. Without, any movement will fail again imho
𝓼𝓮𝓻𝓪𝓹𝓪𝓽𝓱【ツ】☮(📍🇬🇧)
Unknown parent • • •@smallcircles
theblast word hasnt been spoken.
dat still survives and everyone learns.
it is easy to make a standard body or to create a foundation for funding or marketing.
The centralized answers are well known, but they have the inherent risk of degenerating the novel solution back to the status quo they tried to escape from.
Finding new decentralized answers on the organizational layer of the stack as well is a lot of work - not just research into the unknown, but implementing
𝓼𝓮𝓻𝓪𝓹𝓪𝓽𝓱【ツ】☮(📍🇬🇧)
in reply to 𝓼𝓮𝓻𝓪𝓹𝓪𝓽𝓱【ツ】☮(📍🇬🇧) • • •might be that something can be learned here when looking at bitcoin 🙂
bhaugen
Unknown parent • • •@serapath
> Every such network was at some point started using option (2.) ...but what modalities would you choose when setting it up? what are the options?
Don't know yet. With luck, I may find out.
@smallcircles @cwebber
bhaugen
Unknown parent • • •@serapath @smallcircles
I can think of two ways to approach software that wants to be part of, and supported by, an economic network:
1. find an economic network and create some software that the network will like and use,
or,
2. create an economic network at (roughly) the same time as creating the software.
We're trying both approaches and we'll see which (or both) works for us.
𝓼𝓮𝓻𝓪𝓹𝓪𝓽𝓱【ツ】☮(📍🇬🇧)
in reply to bhaugen • • •@bhaugen @smallcircles
Of course, but what are all the modalities you might opt into. How exactly does the support look like?
That's more what i meant - of course, the choices (1.) and (2.) you mention seem obvious. If (1.) exists and you like it, join it. If not, you can only choose (2.) or waiting longer for somebody else to choose (2.)
Every such network was at some point started using option (2.) ...but what modalities would you choose when setting it up? what are the options?
bhaugen
in reply to 𝓼𝓮𝓻𝓪𝓹𝓪𝓽𝓱【ツ】☮(📍🇬🇧) • • •@serapath @smallcircles
> Every used open source repo must be part of supply chains automatically and receive funds to make it sustainable.
Agreed. Better yet, or maybe this is part of what you meant, create the repo as part of an economic network that also provides for its own material and other needs.
𝓼𝓮𝓻𝓪𝓹𝓪𝓽𝓱【ツ】☮(📍🇬🇧)
in reply to bhaugen • • •@bhaugen @smallcircles
I agree here as well.
Of course - i wanted to leave open how one might tackle the issue, but I do think that direction is the right direction.
The issue is probalby by starting it in this way, a lot more opinions are baked in, thus - what is the least opinionated way of approaching this? 🙂
That is a tough one
𝓼𝓮𝓻𝓪𝓹𝓪𝓽𝓱【ツ】☮(📍🇬🇧)
Unknown parent • • •@smallcircles
It's not entirely true though.
Open source is everywhere and won already and it started with linux
How is it possible that linux as the biggest and most popular example is so stable and contains so many packages and contributors and maintainers?
How is it possible that the entire web runs on bundled npm packages and the deep node_modules folders behind that are again having so many contributors and maintainers?
Its obviously possible and happening, but no compensation
𝓼𝓮𝓻𝓪𝓹𝓪𝓽𝓱【ツ】☮(📍🇬🇧)
Unknown parent • • •@smallcircles @bhaugen thx. i wont.
btw. i remember the huge effort you did put into dat to improve marketing for quite a while some long time ago.
thanks 🙂
i know that dat was and is an interesting unconventional, some would say difficupt project 😜
in regard to your invitation.
i am ot a fan of fediverse. i am on mastodon because of the ppl and because it was ready at a time when alternatives where needed quickly.
now it is better and worse than bsky, depending on how you look
𝓼𝓮𝓻𝓪𝓹𝓪𝓽𝓱【ツ】☮(📍🇬🇧)
Unknown parent • • •100% agree, but that means open source is in the best position to negotiate one can possibly be in. All we need to figure out is what or how do we want this situation to improve 😁
teledyn 𓂀
in reply to bhaugen • • •@bhaugen @smallcircles @serapath
A third choice has ample precedent:
3. find several competing economic networks working on the same solution, convince them to cooperate, pool resources and share the burden. This was the motivation and support for X-Window, the backers backed BECAUSE they didn't trust each other!
Consider for example, municipal public Works tracking. No one community would have the resources, but together, internationally, all it needs is coordination 😊
𝓼𝓮𝓻𝓪𝓹𝓪𝓽𝓱【ツ】☮(📍🇬🇧)
in reply to teledyn 𓂀 • • •@teledyn @bhaugen @smallcircles
i think this is a grwat suggestion.
But the way you describe it sounds like:
1. networking, politics ans bureaucracy, so not the path of least resitance open to the masses.
2. wouldnt work for a codec or parser or sort algorithm or any of the myriads of little open source modules individuals couplld create
I do believe (3.) as you say IS the answer, but absolutely not in its current form. This has to become as easy as a pull request and merge
𝓼𝓮𝓻𝓪𝓹𝓪𝓽𝓱【ツ】☮(📍🇬🇧)
Unknown parent • • •@smallcircles @teledyn @bhaugen
i disagree.
git is a good example and nom as well.
git the tool and npm the tool was enough to create enormous open source supply chains, a.k.a dependency trees
𝓼𝓮𝓻𝓪𝓹𝓪𝓽𝓱【ツ】☮(📍🇬🇧)
Unknown parent • • •@smallcircles @teledyn @bhaugen sounds interesting
git and npm might be what we need to take inspiration from, but imho to make this sustainable we need payments.
maybe bitcoin can help here and join in
npm growth shows nobody needs immediate payment, but if there is revenue, it needs to get distributed to everyone, which need some sort of programmable open source compatible "money" imho
not having it caused severe issues to sustaining the movement that existed in the past around npm
𝓼𝓮𝓻𝓪𝓹𝓪𝓽𝓱【ツ】☮(📍🇬🇧)
Unknown parent • • •i think it needs tonbe around work, but agree 🙂
𝓼𝓮𝓻𝓪𝓹𝓪𝓽𝓱【ツ】☮(📍🇬🇧)
Unknown parent • • •@smallcircles @teledyn @bhaugen yes. traditional biz practices are not a match at all. agree.
i do think we need a tool like git for "github issues" to solve this.
basically taking inspiration from GANTT charts or PERT charts (kinda the same)
a command line tool, peer to peer, where peer add their payment address rather than email address to the confit and in sync with git commits or rather guiding the work and by version controlled recording it, allowing payments to dependency trees