I have a Bluesky identity that I registered primarily to follow someone that I happened to meet in person while stumping for the Rio Grande Plan[0]. I only have like five posts on it, but I would like to migrate that over to the same domain I already self-host Mastodon on. Bluesky has an option to have your handle on a custom domain, but that involves publishing a DNS record containing a did:plc whose keys are custodially owned by Bluesky. This is not so much an exit as it is an overcomplicated verification scheme.
My assumption is that if Bluesky wanted a better credible exit than ActivityPub, then we would need some way to rotate keys so that I could have my own PDS publish new posts on my existing identity and have other AppViews recognize that as the same kmeisthax that was previously using Bluesky as a PDS. The Mastodon exit is woefully inadequate, but at least if the admin cooperates, you can redirect your account and export your data. Everyone else on any other ActivityPub instance will see the same thing. As it currently stands, ATProto has a great way to migrate between AppViews[1], but no way to migrate off an uncompliant PDS.
[0] The Rio Grande Plan is a citizen-led movement calling for burying the heavy rail corridor going through Salt Lake City.
[1] ActivityPub is actually really lousy at cross-app interaction. If you're on a Mastodon instance, there is no way to participate in a Lemmy forum. Mastodon does not understand how to send the correct ActivityPub messages that Lemmy expects; and there's no protocol for Lemmy to tell Mastodon to publish certain ActivityPub messages on its behalf.
Show me the ATProto server that can integrate with BlueSky.
Can you? The same Glitch that shut down last year? https://blog.glitch.com/post/goodbye-glitch
Regardless, ActivityPub and ATProto have different designs and goals. Your question is akin to comparing a helicopter and an airplane.
There's no such thing as a "ATProto server". How complicated it is, and the trade-offs it made are valid criticisms of it. It all depends on what exactly your goal is as a participant of a distributed social network.
If the thing you want to own is your identity and data, you can fairly easy run a PDS yourself. If the thing you care about is different moderation decisions, you can run your own labeller (moderation system) or subscribe to another someone else has made.
To 'own your data' you just need a PDS, which should be cheaper to run than an ActivityPub server
To build an app you need some of the more expensive parts
Honestly my main question here is "If you disagree with various ActivityPub instances' defederations, you can get around this by starting your own instance that federates with everything; is there an equivalent for bypassing Bluesky's moderation decisions?"
Want your own AppView so you can have nekusar.net and post your messages and people on BSky see it ? https://github.com/blacksky-algorithms/atproto
ActivityPub zealots would do well to calm down for one second, this can't be good for your heart man.
If you just want to post messages on your website that get syndicated to BlueSky (as blog post links or full threads or whatever) you could have your website server make API calls to your PDS (whether that's self-hosted or not).
If you're talking about building your own custom BlueSky app, "AppView" is not synonymous with "viewer app"; basically it's an "AppView" because it provides a "view" of the network necessary to power an end user "app". I.e. it holds a copy of every single post, repost, and like, so you don't have to. Your custom app would simply make requests to the logged-in user's PDS, which routes most of those requests to that user's preferred AppView.