Bluesky has just released their server code!

https://github.com/bluesky-social/social-app

expect it to be a frickin' mess, but they're putting it out there live

EDIT: d'oh, this is the client code! (and even says so.) server code is at: https://github.com/bluesky-social

Comparing main...1.120.0-ota-1 · bluesky-social/social-app

The Bluesky Social application for Web, iOS, and Android - Comparing main...1.120.0-ota-1 · bluesky-social/social-app

GitHub

@davidgerard Hm OK

My questions:

- How long until the first server-to-server link / federation K-clique with Bluesky itself not involved

- The (very vague, executive-level) summary they posted of their model seemed to imply a single server-like entity called the BGS had to spider the *entire* network for anyone to read follows in a coherent way at all. Is this actually true, or could an independent k-clique work with just point-to-point connections?

@mcc

i have no actual idea, but i think this is literally the codebase for the one instance that exists, dunno if it includes the phone apps

i expect even setting up a second one would involve a journey of discovery into just how many bits they hastily hardcoded.

(i haven't even looked, but you know what this manner of code dump is like.)

their plan does indeed involve solving the problem of a decentralised network with a centralised entity, yes. also, bluesky is presently the only issuer of AT protocol DIDs.

@davidgerard Sure, but unless code was held back surely an independent DID issuer could exist?

@mcc oh of course

their "DID" is really a hash. i mean, generate freely. maybe the flagship instance will talk to you!

@davidgerard @mcc preliminary support for did:web exists in some parts already

@davidgerard @mcc Unless the phone app is either a wrapped web app or React Native, it’s not in there, as the code is 99% (Java|Type)script.

If the phone app is wrapped Javascript, the user experience will be far below what one expects of a mass-market mobile app.

@acb @mcc i 'd be entirely unsurprised, speed was of the essence, and the webapp is literally staging.bsky.app
@davidgerard @acb They also have an "indigo" repo up that might contain the server. I don't know what the difference is between the "atproto" and "indigo" repos.
@mcc @davidgerard there doesn't need to be *one* BGS. there can be as many as people want. the problem is running a BGS is much more onerous than running a homeserver, so they expect there to be fewer of them
@jesopo @davidgerard but you need a BGS? Like, you either need to use bluesky's BGS or you need to set up your own? What happens without the BGS? Can you even access a post without a BGS retaining it? What's the downside of having a smaller BGS than Bluesky's?
@mcc @davidgerard without a BGS you have how mastodon currently functions. like counts, follow counts, etc are unreliable numbers
@mcc @davidgerard you can easily retrieve a specific post or all of a given user's posts without a BGS. you can resolve a handle to which PDS is responsible for their repository
@mcc @davidgerard BGSes are for aggregating data that isnt typically federated widely due to sheer volume. if you liked my post, you'd need to send the fact that you liked my post to every homeserver on the fediverse for every homeserver to be able to accurately display like counts on my post
@davidgerard this isnt the server code, this is the client code. the server code has been public for much longer
@davidgerard Can anyone take this and create their own server? (I believe I saw a message saying don’t build with it)
@peterbutler in theory, but this is absolutely not a product yet
@peterbutler @davidgerard you absolutely can, and some have. the missing piece is if you set up your own server, it will not yet federate with all the other servers
@peterbutler @davidgerard they say they're working on this as a priority. given actions thus far im willing to believe they're not lying about that