There is no good way to transfer already sent messages and written posts. Transfering all satabase entries connected to your user account may be possible, but depending on how active you've been, this would already cause a lot of traffic. The next issue is images. Do you transfer them also? That would mean even more traffic. How do you handle federated content? Your messages not only live on your home server, they are duplicated to all federated instances. You'd have to contact all instances to change owner of those posts. Alternatively, your old server would have to keep redirecting to your new account. All in all, there are so many edge cases to consider for so little gain, it doesn't make sense to invest dev time into it.
post
My guess would be because they're all independent instances, not a monolithic parent company like social media...but that's just an early morning, no coffee spitball.
Same reason it isn't easy to transfer your Apple account to Google.
They are completely separate sites, that just happen to talk to each other.
Nonsense/disinfo. Apple and google accounts are hard to transfer because of technical differences, whereas on the fediverse they use the same format and everything.
You can't do it on fedi because nobody's built a mechanism to update all your content to use the new account.
Sure, it might not be completely accurate, but, it's essentially the same idea, and should help basic understanding of the question asked.
To be fair, the blanket term of technical difficulties is the reason it doesn't happen on lemmy too, security and ownership wise
I'll take a stab at answering the titular question, which also requires answering the related question: "what really is federation?"
In my conception, federation makes the most sense if we rewind to a (almost) bygone era, in the early 21st Century where every specific communities hosted their own web forums, before a time when Facebook groups or Discord "servers" were mainstream. Of those, I think the ones which endured the longest are those related to automobile enthusiasts, usually about a specific model (eg Corvette), in order to exchange tips and servicing info.
What federation solves is the challenge of maintaining a different login -- aka identity -- on each web forum that someone frequents. Back then, it was a separate username and password for the car enthusiast forum, another for the regional gossip forum, yet another for the anarchist forum. And despite that, the underlying credential was usually the same: an email address.
So instead of managing an identity at each different web forum, federation is the idea of having a single identity that can travel to different domains. The open model of email is instructive, because sending an email necessarily interacts with the destination domain, which is usually not the same as one's own. Phrased another way, the postal system was the first federated communication system, where different states honored the single identity and allowed free* passage. One might compare this to one of the EU's four freedoms, the free movement of labor: a user may do work (ie write a post) on any instance in a federation, on equal standing whether they're local or not.
In the modern context in the 2020s, such a freedom is in stark contrast to the commercial alternatives: using a Facebook, Google, or Apple login to access any particular website more often than not puts oneself on a different (ie lower) standing than if they logged in with an untethered account. The usual problem is that such a common identity is tracked and sold to marketers, which explains why so many sites use these single sign-ons as a default, and only begrudgingly support "old school" account creation for that specific site.
And worse so, if Google decides you are unworthy of a Google Account, then you simultaneously lose your online identity and any semblance of access to those services which you were using. Federation solves the latter, because if your federated identity is banned from your home instance, the freedoms of federation means you can create an identity elsewhere and use that to access Fediverse services, apart from the one which originally had reason to ban you.
Nobody can deny you access to every instance, and that's what makes it powerful: there is no centralized arbiter for the network. Sure, this means there will be some very ugly parts of the Internet that get to exist and possibly interact with the rest of the decent web. But just like with the majors, the challenge of moderation still remains albeit different. Some segments are wholly an island unto themselves (eg certain right wing circles that also use Fediverse software) because nobody else will federate to their instance.
Going back to the original question, the central issue is that while the network is decentralized, a single identity necessarily is centralized on their home instance. And there's no real way around this, because having a single identity means it must be unambiguous to reference: if I @ you, there must be exactly one possible identity, or else everything breaks down. So the notion of "transferring" an identity would become a horrible routing kludge like how "portable telephone numbers" are implemented in the Telco space: the original exchange has to remain alive to forward to the new exchange. And that's basically unworkable in the decentralized Fediverse in general, because instances can come and go.
There is no way to guarantee that one's home instance stays alive forever, which limits the identity's lifetime. If we had it leave a note that you've moved, how to we retrieve the note after the original instance is down? Telco could do it because there's a centralized listing of all valid exchanges, but there is no such thing on the Fediverse. It's the sort of thing that requires a "dying message" ledger, and it's hard to imagine how something like DNS could solve that knowledge challenge issue.
At bottom, creating identity resilience is hard and we don't have it yet. But that's because federation was always going to be difficult, and in spite of that, we seek out the world we want, not compromise with the world we were given.
Only possible alternative i know of is what Bluesky is doing - separate out the identity part into another service. Changing the location of the identity can then be resolved by updating the id that a comment is attached to; this edit can then be lazily be federated to prevent long standing accounts from grinding smaller instances to a halt.
But that needs a lot of changes for a small payout - if you are on lemmy to establish a following, you probably haven't understood Lemmy.
My cursory understanding of the BlueSky/AT approach is that posts are not anchored to the identity, but to a value akin to a DOI like how research papers are referenced. And in that way, something like a BlueSky post can be hosted as a standalone document, whose provenance is through a linkage to the user identifier maintained by the separate identity infrastructure. I believe this is why hyperlinks to BlueSky posts do not -- and cannot -- include the author's handle, whereas Fediverse links often do (but aren't required to).
So yes, the server that hosts content is separate from the identity server. But the part I still don't see is how to update a document's associated identity if a user changes to a different identity server. It is indeed a separation of concern -- which is very healthy and I do follow developments in the AT space which could be used to drive improvements in the ActivityPub world -- but the same scenario is still doomed: if the identity server skips town suddenly, can former users restart with a new identity and reassociate to their prior documents? How can this be done securely?
But my original point remains: the challenge is nontrivial and no one should underestimate the complexity, whether it's in the ActivityPub or AT model. This federation thing is hard.
I would love if at least the block list and subscription list could be moved more easily.
I prefer it this way. The point of a new account is to lose the tail.
If you create a new account you always start fresh regardless.
OP is asking why there is no mechanism for migrating an account available for those who need this feature.
I think it's best not to get too attached to your profile, I've moved several times and if anything it's nice to throw off the weight occasionally. It's not like there's any karma to lose, it's not like your past posts and comments go anywhere. You can export/import all your settings, including subscriptions, blocks etc. I can't think of anything else you'd need.
ActivityPub (which is the protocol used by Lemmy, Mastodon, PixelFed, and other fediverse platforms) doesn't have a built-in system for account migrations. Accounts are tied to an instance. Any migration features are handled at the application level, like Mastodon's, and will be limited by the protocol.
ATProto, which the protocol used by Bluesky, has a more complex account system which does allow for migration. I'm not intimately familiar with the details, but the gist is that your DID is not tied to your instance, and your data store can be independent as well. I don't know how this works in practice, since the ATProto ecosystem is basically just Bluesky, and a few other things that piggyback on Bluesky accounts. It appears to be at least a little complicated: https://www.da.vidbuchanan.co.uk/blog/adversarial-pds-migration.html
Honestly, yes, this is a problem with the design. ActivityPub is not resilient against servers going offline or going rogue. It's a lot like email. If you change email providers, that means a new identity, and all you can do is point people to it as best you can.
I don't see how it could work.
If you copy all your posts and comments to your new account, do they just get duplicated? What about all the 3rd party comments/replies to your post, do they get duplicated, too? Or does your new account just exist with bunch of old duplicated posts that have no comments? It would be a total mess.
You can copy over all your settings, subscriptions and blocklists. That's more than enough.
You can migrate accounts over Mastodon instances, I don’t know why is not something similar implemented in Lemmy.
It seem you can transfer your followers to the new account, but I don't see anything about it actually transferring your past posts. So it seems to be quite similar to lemmy.
It would not be that hard. There just needs to be a way to federate the change.
-
Authenticate the new account. This could be as simple as an account admin code that is only available when logged in, or authenticated through the old server.
-
Scrape the old account for links and backlinks. Federate changes so that they link to the new account.
-
You might need a workaround for mentions and follows. Those would be spread across other users' accounts, so probably not fixable.
-
Copy any content that was not already federated to the new host.
If devs wanted to, they would. They don't want to. I guess you could ask them why.
For 1, there's no central authentication. Accounts prove themselves to other instances with a private/public key pair. I guess you could have some system where the old and new instance connect then transfer that private key so the new instance could prove it's really you nkt someone impersonating you.
For 2, we don't even backfill communities when they sync to an instance for the first time because of the volume. For a while, Lemmy instances would freeze (for everyone) when a user with a lot of content deleted their account, but if you wanted to achieve this I'm sure you could do some slow, async, progressive loading of the content that might happen over days, so volume alone wouldn't make this impossible. It would also have the potential for large storage requirements or a mismatch between what is allowed on different instances, e.g. you could create an instance, load it up with spam posts, then import it to a major instance to get thousands of views before they could ban you. So here you'd need some protection. Admin review from the new instance? Only allow import from trusted instances? What if someone faked dates or other metadata in their posts before the transfer?
- On Lemmy, a community owns the content. So an upvote or comment will get sent to the community's instance then that instance will federate it to other instances. If one instance transfers a user, there needs to be a way for the owners of the user's content to federate that update. For something like Mastodon people directly follow a user so their instance is the owner, but for Lemmy with communities you need the user to tell the community about the change then that community would need to trigger the update to it's own content. You'd have hundreds of communities each triggering updates to hundreds of instances. I see a big risk here of a user being in two states, e.g. one community federated updates ok but another didn't, and now some instance has two records of the same user. I'm sure smarter people could work out some redundancy here.
I honestly do think this sounds achievable but like others have said, it's a lot of work with a lot of edge cases to cater for. So it's likely not a high priority.
People DM on Lemmy?
How do you transfer email accounts?
Easiest way is to use IMAP connections - assuming you use IMAP normally to store email on the server (as almost everyone does these days - very few use POP3 to download them and remove from the server).
There's a few little utilities or even websites (last I checked) that can assist in the process. Some try to charge money.
If you have access to Linux (or WSL on Windows), you can find ways to do it for free from a terminal window.
But even then, that's just you moving data. You aren't changing old emails to have them reply to your new email and you aren't auto-updating how the rest of the world interacts with you.
I suspect it's the amount of data that makes it hard.
Block lists, subscriptions and such is easy because it's small and all in one place.
My comments are spread over a dozen instances, voted on by similar numbers, and responded to from a similar number (when discussion is popping anyway). This account is something like four years old? Three?
I've got thousands of comments, maybe a hundred posts. Whatever solution to move that is going to have to take every single one, and somehow strip out where it was originally done from to the new instance. It's going to have to do that and then trigger all of those changes you federate again. So every instance that a comment was on gets hit by that api call, multiple times.
So they'd have to build in a way to not overwhelm an instance with any given user's request for the change, as well as limiting how many requests for change can be active at once.
I'm sure it's possible, but damn does that look like a lot of work for developers and a lot of extra hassle for instance owners/maintainers.
Now, what I would like to see is the ability to back up comments and posts. It isn't really that useful to be able to transfer things, but having to manually copy/paste anything you want to preserve if an instance is filling to shutter is a pain in the ass. I don't write anything that useful on this account, but some people do, and are even more active than me. I can't imagine even trying to scroll back through a single year of comments to find something.
fundamentally the answer is "someone has to implement it"
I don't think the other answers here are tremendously sensible, yeah sure you can't technically literally move accounts complete with posts and everything, but like come on people it's absolutely technically feasible to have a migration feature that is mostly satisfactory.. The way mastodon does it is a hell of a lot better than nothing.
On Voyager you should see your account in the bottom middle while browsing. For you, it should say “lemmy.world” underneath an icon of a person. Tap it once to see your inbox, posts, etc. Tap the same icon again and you get a list of accounts. You’ll probably only see one. Tap edit to add a new one, then tap + and follow the prompts.
You use that same icon, again tapping twice, to switch accounts.
Doesn't Piefed have that feature?
Implementing site to site data migration is always a bit of a complicated thing, even across same software. Different instances have different settings, etc. Also, I've not looked at the ActivityPub protocol that deeply, but it's not enough that you just move the data over, you also need to unpublish and republish everything so that the other instances are up to date. And all of the interaction activity like Lemmy votes would need to be updated and, and, and gaah [tearing hair out]
it would allow problematic users to evade bans, and also tankies would go from instance to instance to troll.

all 50 comments