I see a lot of misinformation about bluesky here, so I want to address a lot of the talking points against atproto/bluesky.

This is partially inspired by accounts like mastodon migration and feditips being really annoying about bluesky.

How Bluesky Works

I see a lot of people misunderstanding how it works.
The network has three main parts:

  1. A PDS – This stands for Personal Data Server. These store information in records, like who you are following, your posts, who you are blocking and your images.
  2. A relay – These crawl PDSes and keep a copy of all the records on them. They give a “Firehose” of all the data on the network (that they crawled).
  3. An AppView – These index and work through the data from the firehose. All interactions are handled through these, meaning if someone follows me on bluesky, that app.bsky.graph.follow record will be crawled by the relay, and recieved by the AppView. https://bsky.app/ is an Appview. Appviews don’t always have to use the relays, https://whtwnd.com/ connects to PDSes directly.

This is different to ActivityPub, where if I follow someone, my server sends that information directly to the other person’s server.

Common misconceptions

An atproto relay is too expensive to run.

https://atproto.africa/ is a second full-network relay run by the blacksky team. We already have a second relay, and they’re not even that expensive to run anymore, a lot of people run non-archival (meaning it doesn’t backfill every post) relays for less than $40 a month.

There is no instances available except for bsky.social

bsky.social isn’t actually an instance, its just the domain name assigned to users by default. This is explained here: https://app.wafrn.net/fediverse/post/f8fc8da8-cd7e-4fae-a895-ac59dc28088f

Wafrn has (opt-in) bluesky support, they act as a PDS and AppView, so if bluesky disappears tomorrow they can switch to the atproto.africa relay. (There is DID:PLC which is a problem, but I’ll get to that later.)

You can’t defederate bsky.social, this proves atproto is centralised!

https://app.wafrn.net/fediverse/post/f8fc8da8-cd7e-4fae-a895-ac59dc28088f also explains this, bsky.social is just the name assigned to users, each PDS has names like https://brittlegill.us-west.host.bsky.network/ (where my account is).

While you could ignore records from a specific PDS on the App layer, its pretty pointless, since atproto is portable/content addressed, meaning a user could seamlessly move to another PDS. (AP does support moving, but its pretty seamful.)

(While I was writing this someone posted a pretty good blogpost about this: https://blog.cyrneko.eu/there-is-no-bsky-social-instance)

Bluesky can censor people in turkey, this proves they’re centralised!

Those posts weren’t removed, people on third party bluesky apps in turkey could still see them.
People in Turkey are automatically subscribed to a Moderation Service which hides those posts, as the government requires it.
If a person unsubscribes, or uses a third party app/server the posts are still there.

Bluesky isn’t decentralised as someone was banned for pointing out the head of T&S liked jailbait porn.

That person came back on a different PDS. They literally are still on bluesky because they joined a different server.

Bluesky went down due to a DDoS, this proves they are centralised!

The DDoS only crashed the Bluesky PDSes. People self hosting were fine.


Wafrn

Wafrn is a federated tumblr alternative. It started off as a tumblr clone, the dev added AP support, and eventually, Atproto support.
Its a great example of how bluesky can be built on.
If bluesky disappeared tomorrow, Wafrn could switch relays to atproto.africa, and still interact with people on other PDSes.


AppViewLite

appviewlite is a cool project I forgot to mention in the original post. It lets you self host an extremely lightweight Appview.
You can crawl PDSes yourself, eliminating the need for a relay.
https://github.com/alnkesq/AppViewLite

The main reason I made this post is because so many people are blindly anti-atproto, without fully understanding how it works and how it can be improved.

There is obviously problems with it, but it does a lot right. (There’s a lot ActivityPub should do, like content addressing, DIDs and composable moderation).

I also think we could do with a better bridge. bridgy isn’t really cutting it right now.


Note on did:plc, its the only centralised part of the network as of now, its essentially the underlying ID every account has. It is possible to use a did:web id instead, which is tied to a website name.


      • poVoq@slrpnk.net
        link
        fedilink
        English
        arrow-up
        0
        ·
        11 months ago

        Well, if you have read it then your cherry picking of minor ways Bluesky is slighly less closed comes accross as pretty bad faith 🤷

  • BakedCatboy@lemmy.ml
    link
    fedilink
    English
    arrow-up
    0
    ·
    11 months ago

    Is there any way to connect the bsky android app to the atproto.africa relay or a third party appview that uses the atproto.africa relay? I wouldn’t mind using bsky more if there was a clone of the android app that doesn’t use the bsky relay/appview. Looking at whtwnd it appears to be just web and not native apps?

    I would like to host my own PDS and access bsky through a native app using third party relay+appview, but I haven’t seen a way to do this yet.

  • JubilantJaguar@lemmy.world
    link
    fedilink
    English
    arrow-up
    0
    ·
    11 months ago

    Very useful, thanks.

    As I see it, Bluesky is fundamentally different from Xitter and it is a major step in the right direction. It is short-sighted to reject it because of some technical imperfections.

    The fundamental question IMO is whether there is enough mindshare (i.e. users and attention) to allow ATSocial (AKA partial federation) and ActivityPub (AKA total federation) to both be successful. I’m thinking there is. After all, the vast majority of people are still on ad-fuelled corporate social media, with all its internal contradictions.

    • Fizz@lemmy.nz
      link
      fedilink
      English
      arrow-up
      0
      ·
      11 months ago

      I think the technical imperfections are not the real reason people are against it. In my opinion it just can’t be trusted to have a corp in control. It would be like having Microsoft own the activity pub repo.

  • suswrkr@discuss.tchncs.de
    link
    fedilink
    English
    arrow-up
    0
    ·
    11 months ago

    maybe open technically. but my impression of BlueSky is that it is full of neoliberal status quo apologists. would be happy to be wrong.

  • OpenStars@piefed.social
    link
    fedilink
    English
    arrow-up
    0
    ·
    11 months ago

    I hope I am not adding to the problem here as well. It seems that obviously Bluesky is neither fully centralized nor fully decentralized. Is there a statement about just how much of either it is?

    Although that might be complicated - like someone could say that Lemmy is fairly centralized, bc if you block Lemmy.World then you lose half the users and perhaps half the communities (and PieFed even more so, with PieFed.social representing an even higher fraction of users and communities on it).

    So there is a distinction between Bluesky the service as it currently is implemented and Bluesky the protocol, the former of which is fairly centralized but the latter is more expandable?

    • Ek-Hou-Van-Braai@piefed.social
      link
      fedilink
      English
      arrow-up
      0
      ·
      11 months ago

      ~99.96% of all Bluesky users and content is on Bluesky servers.

      Bluesky is decentralised in theory, but in reality it is not. Until one entity doesn’t own over 90% of the users and content, I really can’t see how it can be seen as decentralised.

    • irelephant [he/him]@lemmy.dbzer0.comOP
      link
      fedilink
      English
      arrow-up
      0
      ·
      11 months ago

      Decentralisation is not black and white, and depends on your defintion of the word.
      At this point, the problem is that everyone is on bluesky’s servers. There is little technical problems.

      • OpenStars@piefed.social
        link
        fedilink
        English
        arrow-up
        0
        ·
        11 months ago

        That seems a very good way to phrase it.

        The next issue then becomes cost. Which affects Lemmy as well: first there is the requisite effort to set up and self-host even a tiny instance (especially as it relates to potential spam and CSAM attacks), and second the network traffic costs. The latter may be tiny for a single user who only subscribes to a handful of communities, but someone trying to browse All and wanting everything to be available for their perusal (even if deleted soon-ish for storage reasons) will bear a much higher burden. Which depending on local costs may be trivially easy… or prohibitively expensive, but in either case the more data that someone wants to pull in the higher the cost.

        And I imagine that Bluesky is either similar, or significantly worse.

        • irelephant [he/him]@lemmy.dbzer0.comOP
          link
          fedilink
          English
          arrow-up
          0
          ·
          11 months ago

          Bluesky would work better for that, since everything would be on the AppView. Hosting multiple appviews would be intensive on the relays, but different ones could keep content for different amounts of time.

          I think AP works better when you don’t need or want all the information to be available at once.

    • MimicJar@lemmy.world
      link
      fedilink
      English
      arrow-up
      0
      ·
      11 months ago

      then you lose half the users and perhaps half the communities

      As a thought, do you really lose them?

      For example the “Television” community previously existed on the lemm.ee instance. The lemm.ee instance is scheduled for shutdown. The “Television” community is now hosted on the piefed.social instance.

      It has the same users and has the same topics of discussion. Were the users really lost? Did the community really go away?

      Let’s pretend Reddit decided it would no longer allow discussion on “Television”. What if BlueSky no longer allowed discussion on “Television”. You’d have to leave those platforms completely. You really would lose those communities. Those users (at least in part) really would be gone.

      Is Lemmy.World a big instance? Sure. Would the users and communities really be lost if it went away? I don’t think so.

  • 6nk06@sh.itjust.works
    link
    fedilink
    English
    arrow-up
    0
    ·
    11 months ago

    People in Turkey are automatically subscribed to a Moderation Service

    Sucking the dick of any government is censorship. That’s my opinion and it’s not the American version of free speech but I dont care because I’m not American.

    • cecilkorik@lemmy.ca
      link
      fedilink
      English
      arrow-up
      0
      ·
      11 months ago

      It is, but it’s also necessary sometimes. If governments didn’t have any power and could just be ignored or openly defied without consequences, we wouldn’t have to care about what they want to censor. But they do have power, despite all our wishing that they didn’t, and we can’t organize a resistance to them without careful maneuvering and sometimes at least making an appearance of playing by their rules. Government censorship you can unsubscribe from is objectively better than censorship you can’t. Don’t let perfect be the enemy of good.

  • Chozo@fedia.io
    link
    fedilink
    arrow-up
    0
    ·
    11 months ago

    PDSes and relays exist at the whim of Bluesky’s corporate entity. Having all of the endpoints on the network controlled by a single agent is what makes Bluesky centralized. If Bluesky decided so, your server can be removed from their network and is functionally useless at that point. They decide who is and is not allowed to be a part of Bluesky.

    For contrast, no such governing body exists with ActivityPub networks. Nobody can decide whether or not an instance should be removed from the network, they can only choose whether or not to federate with that instance. If you wanted to truly silence a Lemmy instance, for example, it would take the cooperation of all the major Lemmy admins to defederate, and is an entirely democratic process as a result.

    EDIT: To clarify, ATProto is not what is centralized, “Bluesky” the platform utilizing ATProto, is what’s centralized.