News for hackers. Stuff that matters.
Re:Bluesky and the at Protocol by shadowgovt on Tuesday February 06, 2024 @01:46PM (#39278635)
Question is: when BSKY goes belly-up, will all those users have somewhere they can turn to?

The death of a Mastodon node is inconvenient, but not identity-ending (especially if one uses static indirection to link your abstract Mastodon ID to a concrete instance).

Re:Bluesky and the at Protocol by CharlesW on Tuesday February 06, 2024 @02:06PM (#39278962)
> The death of a Mastodon node is inconvenient, but not identity-ending (especially if one uses static indirection to link your abstract Mastodon ID to a concrete instance).

Can you tell me more about that? If you just redirect webfinger requests, don't you still lose everything if your current instance disappears or you move to a new instance?

Re:Bluesky and the at Protocol by apitman on Tuesday February 06, 2024 @02:33PM (#39279351)
I would also like to hear more about this. AFAIK there's no way to keep your ActivityPub identity if you (or the instance owner) loses access to the domain it's hosted on.
Re:Bluesky and the at Protocol by vidarh on Wednesday February 07, 2024 @09:45AM (#39289174)
It's more complex and depends on what you consider your identity.

Webfinger redirects control what people look you up by.

The domain of the URL of the actor webfinger resolved to defines how clients access your profile.

They are usually the same domain, but don't need to be. Effectively your webfinger address functions as an alias (and you redirect multiple URLs to the same actor)

Follows follow the actor, so your webfinger may break and follow relationships will continue.

If the actor url becomes unavailable, however, your profile is inaccessible whether or not you redirect the webfinger.

To get Bluesky like portability we'd need either for that actor url to be possible to point to a DID or other means of decentralized lookup mechanism, and/or for servers to store the webfinger handle and recheck that regularly, and a way for clients to control a key that can be used to sign claims to say "this new instance key is also mine".

It's very much doable, but not done, nor is there consensus about exactly how.

Best current option if you don't want to host your own instance is to control your webfinger domain; if your instance goes without warning so you can't use the normal migration, you'd still need to manually get people to follow you again, but at least you can point them to the same id.

Re:Bluesky and the at Protocol by apitman on Wednesday February 07, 2024 @11:18AM (#39290381)
The complexity of your answer illustrates my frustration. Identities should be URIs (a la IndieWeb).

IMO WebFinger was a bad idea for ActivityPub in the first place (and it's not in the spec). It makes it a lot more hacky to statically host your profile, and the indirection is confusing. As far as I know the presupposition that users would find URIs as IDs confusing is just an assumption that was made early on.

> To get Bluesky like portability we'd need either for that actor url to be possible to point to a DID or other means of decentralized lookup mechanism, and/or for servers to store the webfinger handle and recheck that regularly, and a way for clients to control a key that can be used to sign claims to say "this new instance key is also mine".

Or just eschew this complexity entirely and use URIs as IDs. Make permanent personal domains much easier to buy and use.

Re:Bluesky and the at Protocol by vidarh on Wednesday February 07, 2024 @01:47PM (#39292530)
> Identities should be URIs (a la IndieWeb). IMO WebFinger was a bad idea for ActivityPub in the first place (and it's not in the spec).

ActivityPub only deals with URIs. Including in Mastodon. Mastodon then layers WebFinger on top, but you can still give Mastodon the actor URI and it works just fine, and all underlying interactions use the actor URIs. E.g. follows are between actors by URI, not between webfinger IDs. If you want to pretend Webfinger isn't involved, you can choose to do so.

> It makes it a lot more hacky to statically host your profile, and the indirection is confusing. As far as I know the presupposition that users would find URIs as IDs confusing is just an assumption that was made early on.

I wish WebFinger specified a URI format that made it possible to do fully statically without breaking the spec -, but the minimal "implementation" using an otherwise static file takes a URL rewrite with a single small regexp. It's not an issue for anyone who understands what's going on well enough to need/want to decouple their webfinger response from their ActivityPub actor. If you just want to point at an instance you can just do a static redirect.

However, that is mostly orthogonal to the portability issue.

> Or just eschew this complexity entirely and use URIs as IDs. Make permanent personal domains much easier to buy and use.

Then you've traded one kind of complexity that provides decentralization as an option, for a massively larger complexity problem that involves navigating a lot of government bodies, a highly self-interested bureaucracy, and a number of major multinational companies. I co-founded the company that launched ".name" - the bureaucracy may have tapered off a bit, but it's still a nightmare. Reforming that space in any kind of meaningful way that wouldn't leave your identity beholden to an intersection of centralized government and corporate interests in not likely to happen anytime over the next decade or three.

The portability matters to some of us. It just doesn't require ditching ActivityPub. And it doesn't require all that much complexity - all it requires is to allow DIDs to be used as an alternative means to identify or update the actor URL in a relationship. You can keep backwards compatibility by allowing resolved actor URLs to keep working, and just add a signed reference to the DID in the profile and the webfinger response. Then clients and servers that supports it can use the DIDs to allow discovering a moved profile, while clients and servers that don't support it will behave just as before (work as long as the actor URL works; fail if it stops working without a preceding move).

Because of federation, it's even fairly trivial to sort out a simple DID method that needs no central authority: Spread the DID document to all the instances you have followers on, and allow rediscovery by pinging those servers from a new instance with a request to use the keys to validate an updated DID document at a provided new instance. Let every instance act as a first resort to bootstrap recovery, and every instance you interact with act as fallbacks to help you recover control, as long as your clients keep backups of the relevant private keys.

And if you include those DID references in the profile as well, then just as now you can choose to ignore webfinger if you prefer.

Yes, this will take time to get right, but some variant of proper portability is just a question of time.

Re:Bluesky and the at Protocol by shadowgovt on Tuesday February 06, 2024 @03:01PM (#39279737)
You lose your history, but that's the same story as every situation where someone else is hosting your content ("there is no cloud, there's just someone else's computer"). But once you set up on a new instance, you can redirect your webfinger and everyone following that will know where to find you.

It's a good point, though not one I'd really considered because I never consider microblogging to be anything but ephemeral data (note the lack of a robust search solution also; this is not a place to chisel the words for which countless generations will remember you).

I'd love to see the ability to import a timeline. Sadly, that's not a feature of Mastodon right now AFAIK (though an admin handed a SQL dump and relevant image blobs could probably merge it into their node, but it'd be a hassle).

Re:Bluesky and the at Protocol by CharlesW on Tuesday February 06, 2024 @03:41PM (#39280267)
Thanks, I appreciate the additional detail!
Re:Bluesky and the at Protocol by snarfed on Tuesday February 06, 2024 @04:52PM (#39281214)
The other key thing you lose is your identity. In the fediverse, your identity is your Webfinger handle, ie @[email protected]. Your server is literally part of it. Sure, you can migrate to @[email protected], and keep the username part, but your identity still changes.

Truly portable identity via DIDs, ie you can keep your underlying identity even if you migrate servers, is one of the key reasons the Bluesky team made their own protocol. https://atproto.com/guides/faq#why-not-use-activitypub

Re:Bluesky and the at Protocol by shadowgovt on Tuesday February 06, 2024 @05:13PM (#39281492)
You can indirect webfingers, so @you@site-you-own points to @you@someone-else-owns-this-server.

It's not ideal because there isn't a reverse link; if someone-else-owns-this-server dies, people who were following you on it will see you evaporate. But you can edit @you@site-you-own to point to @you@your-new-site so that at least people holding your ur-name can find you.

But unfortunately, there are few better solutions when someone else owns the data. One nice thing about the Fediverse is you can ameliorate most of this by setting up your own server (though I won't pretend that's going to be the solution that replaces everyone using Twitter; I maintain my own server and it is the same pain in the ass that self-hosting has always been).

Re:Bluesky and the at Protocol by apitman on Tuesday February 06, 2024 @06:34PM (#39282436)
The better solution is for implementations like Mastodon and Lemmy to let users bring their own custom domains, and have robust data export APIs. Then even if your home instance disappears overnight you can migrate to a different instance.
Re:Bluesky and the at Protocol by vidarh on Wednesday February 07, 2024 @04:14AM (#39286305)
The webfinger handle does not need to be on the same domain/hostname as the Mastodon server. E.g. not on completely different domains, but for Mastodon it makes no difference, but my personal Mastodon install is on m.galaxybound.com but my webfinger handle is on galaxybound.com.

And there was no need to make a new protocol for a portable identity - a change to ActivityPub to support did's as actor urns would be sufficient, and would also open the door to unilateral account migration fairly easily.

This is my big problem with Bluesky - all of their gripes about ActivityPub would be easily solved in ways that'd make interop a temporary problem of getting people to buy into protocol tweaks, instead of inventing something from scratch.

Their claim that it's not easily possible to retrofit e.g. did's and signed repositories onto ActivityPub makes me question whether they understand ActivityPub at all, because there's nothing about it that would be problematic. E.g. objects are already signed - their mechanism for migration would require some changes to the signing mechanism to allow users to make a unilateral assertion that the key on their new instance belongs to them, but not much more. DID's is down to how ActivityPub clients and servers resolve URLs, nothing more.

You wouldn't even need everyone to buy into these changes - the worst case would be lack of federation w/instances that fail to support it - in other words no worse than starting your own network.

Even then it'd be possible to maintain fairly broad interop by announcing the did's in ways that'd allow also specifying resolvable urls to a proxy.

Re:Bluesky and the at Protocol by dylan-m on Wednesday February 07, 2024 @01:34PM (#39292351)
So, the thing that made Mastodon click for me was when I reminded myself social media doesn't matter. That's really the whole point of this stuff to me. Twitter's long failure began when people were convinced they should make it more important in their lives than it ever deserved to be. When the daily news started to earnestly read nonsense like "X tweeted in response …" for minutes on end, or when the RCMP used Twitter to communicate important public safety information, I felt it in my bones (though I might not have understood exactly why): this was wrong.

I set my Mastodon posts to auto-delete after 6 months so I don't care if I lose them, and I made sure to have some "me" links in the appropriate places pointing at my profile. Even if I were to lose that paper trail from doing proper account migrations, it's pretty easy to say which profile is mine. And if I lose followers, so be it. I'll follow people when I remember who they are. I'll make new posts. If I don't, that's fine. Life happens.

Re:Bluesky and the at Protocol by bastawhiz on Tuesday February 06, 2024 @05:24PM (#39281638)
Was the death of MySpace identity-ending? Or bebo or Orkut or pownce or friendfeed or any other service? Users will move on regardless, and it won't be identity-ending.
Re:Bluesky and the at Protocol by lxgr on Tuesday February 06, 2024 @07:28PM (#39282923)
I just looked into this (I didn't know it was possible!), and like much of the Fediverse, it seems more complicated than necessary:

Why do I need to run a webserver for this redirection? I don't have one; my TLD is essentially for email only.

AT proto lets me achieve the same goal using just a TXT DNS record.

Re:Bluesky and the at Protocol by shadowgovt on Wednesday February 07, 2024 @10:30AM (#39289728)
There are not many people on this planet that would consider messing with DNS records less complicated than running their own webserver.