In my opinion, there are two big things holding Lemmy back right now:
-
Lemmy needs DIDs.
No, not dissociative identity disorder, Decentralized Identities.
The problem is that signing up on one instance locks you to that instance. If the instance goes down, so does all of your data, history, settings, etc. Sure, you can create multiple accounts, but then it’s up to you to create secure, unique passwords for each and manage syncing between them. Nobody will do this for more than two instances.
Without this, people will be less willing to sign up for instances that they perceive “might not make it”, and flock for the biggest ones, thus removing the benefits of federation.
This is especially bad for moderators. Currently, external communities that exist locally on defederated instances cannot be moderated by the home-instance accounts. This isn’t a problem of moderation tooling, but it can be (mostly*) solved by having a single identity that can be used on any instance.
*Banning the account could create the same issue.
-
Communities need to federate too.
Just as instances can share their posts in one page, communities should be able to federate with other, similar communities. This would help to solve the problem of fragmentation and better unify the instances.
Obviously there are plenty of bugs and QoL features that could dramatically improve the usage of Lemmy, but these two things are critical to unification across decentralized services.
What do you think?
EDIT: There’s been a lot (much more than I expected) of good discussion here, so thank you all for providing your opinions.
It was pointed out that there are github issues #1 and #2 addressing these points already, so I wanted to put that in the main post.
100% agreed with both. Especially DIDs just need to happen on all ActivityPub platforms. It will not only free users from being locked to an instance, but it will also allow instances to be much more flexible in scaling their capacity. Lemmy.ml is overloaded because they have too many users, and anyone who signed up there can no longer use their account. DID would allow them to immediately use their account from any small or large instance with spare capacity without changing the experience. The same would go for Mastodon.
It sounds like a moderation nightmare having people come over to your instance with a whole lot of content they’ve created that are now being hosted by your servers. You’ve got to look through the whole thing to make sure it is not breaking TOS of your instance. Doesn’t sound great to me.
There’s many different ways DID could be implemented on top of ActivityPub. I don’t think full content replication (what you’re mentioning) is likely as that’s a fundamentally different style of protocol.
But I can imagine signing in to a different instance with my ID, at which point I subscribe to all my communities from this instance and get notifications if someone replies to one of my comments etc. Just as if I had created an account on this instance and had posted from there. It just means “your” instance can go down and you can continue future interactions mostly uninterrupted from another instance.
Oh I see, that could be better. I still don’t think it’s necessary, but it’s better.
The most straightforward way of resolving #1 (for those so inclined to resolve it) is to host your own instance. Your “identity” becomes the right-side of the @ rather than the left.
I don’t see why the content they’ve created would have to go along with. You could keep the content on the server, but have the posting user be offsite, like posting to another service/community. If the user has moved off your server, just alter the local profile to point to their “new” location.
It would be less overhead than moving the physical posts themselves, especially if things get bigger later on.
Depending on the implementation, I feel that DIDs across ActivityPub could make the aspect of interoperability between different services much more appealing as well. While I think it’s interesting that we can directly interact with posts from entirely different services like Mastodon, Pixelfed, Peertube, and Friendica, I find it difficult to make the feature make sense for daily usage beyond the convenience of not having to open another site/client for a singular interaction. I feel like it makes sense if you only prefer a single service/format for accessing content, but every software implementation handles content differently, with differing formats, features, and limitations. They each specialize at accessing and presenting the fediverse in their own ways, so there’s reason to use each individual application. If you still have to make a separate account for both instances to interact when using either of them, I feel that defeats the purpose of the interconnectivity aspect. By being able to connect the same account to instances between different software, I think this would strengthen it.
Yes, exactly! It’s good for everyone.