this post was submitted on 23 Jun 2023
8 points (90.0% liked)

Lemmy

12579 readers
47 users here now

Everything about Lemmy; bugs, gripes, praises, and advocacy.

For discussion about the lemmy.ml instance, go to [email protected].

founded 4 years ago
MODERATORS
 

After reading many Lemmy related discussions over the past days, it has become clear to me that what people expect from Lemmy / think it is, is quite different from what it actually is.

From the official documentation:

Lemmy is a selfhosted, federated social link aggregation and discussion forum. It consists of many different communities which are focused on different topics.

In other words, the Lemmy software tries to resemble Reddit and every instance that runs this software is (kind of) a Reddit clone.

Each instance is its own entire platform that is, due to federation, able to speak and pull in posts from other platforms that support the same federation protocol. Federation is often explained with the example of "imagine you could read all posts from Reddit, Facebook and Twitter on Reddit." This is indeed true, just that in the case of Lemmy (and other Fediverse platforms) a considerable number of people have decided to run the same software for all their platforms. I.e., we now have a Reddit-A, Reddit-B, Reddit-C, Reddit-D and so on.

Lemmy is not a platform, Lemmy is an application, and people have decided to all use the same software to run their own social media platforms.

Most users, on the other hand (including me), expect a single distributed platform or system. This is also how federation is being (miss)explained by many members of the community. Users expect a network of nodes which all come together to form a single system, but at the moment we have a collection of identically looking platforms which all try to either be the same thing or something entirely different. While users are unable to tell them apart.

I believe this is either a major design flaw of Lemmy (or lack of any design) or it is precisely what the creators intended, and the software is being greatly misused.

To come closer to what many users expect from the platform, Lemmy should be split up into its structural components.

This means instead of the current instances, we would have two servers, user servers and community servers. Users would be solely responsible for providing user accounts to Lemmy users. Server admins can define registration policies as it is possible today and control who signs up to their server.

Community servers, on the other hand, would be responsible for hosting one or more communities and their sole purpose would be to distribute posts and their comments to users. These servers would still be able to define policies for how people are granted write access or who can create new communities, so there might be an application required to join a community server. Moderation would also happen on the community server according to the rules defined for the server and the individual communities.

A crucial point in this is that community servers do not federate with each other, there is no reason to. Federation mainly happens between user servers and community servers (user servers might also exchange details about their users).

This setup would truly resemble the analogy that is often cited when explaining the Fediverse, email. Email (in the context of Lemmy) consists of email providers like GMail or Hotmail, that enable their users to communicate via E-Mail, but they usually do not host the mailing lists a user might subscribe to.

Distributing Lemmy like this would greatly reduce what has to be considered when choosing a provider for a Lemmy account. User servers would solely be service providers that enable access to the platform, while community servers can provide hosting for communities as well as rules and moderation.

There is more that could be done in regard to distributing the platform, but this seems like the most obvious first step.

you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 2 points 1 year ago* (last edited 1 year ago) (3 children)

I believe this is either a major design flaw of Lemmy (or lack of any design) or it is precisely what the creators intended, and the software is being greatly misused.

The design is as intended, and everything is federated at an Instance level, not a Community level, which always seems to be the thing that doesn't click with people. You pick a home instance, and can view content across the fediverse from that location, regardless of platform. These platforms (Lemmy, Mastodon ^[twitter]^, Pixelfed ^[instagram]^, Friendica ^[facebook]^, PeerTube ^[YouTube]^, Funkwhale ^[Spotify-ish]^, etc...) are then independent silos of content accessible from anywhere.

I don't think we need to split users and content into separate instances, but I agree that having a platform agnostic approach to user accounts would probably benefit the fediverse in the long run, as currently when you pick your home instance (say Mastodon, for example) that user interface becomes the window you see the rest of the Fediverse through.

Ideally, we should be able to have an account on a Mastodon instance @[email protected] that could be referenced and logged into from a Pixelfed instance for that experience, then jump to a Lemmy instance and see that content through that intended UI, all while playing some music on FunkWhale in another tab. I think we could expand the current system out to make this happen in time, but most of these federated platforms are still in their infancy.

[–] [email protected] 1 points 1 year ago

The design is as intended, and everything is federated at an Instance level, not a Community level.

Is that really the case? Instance A only know about specific communities from Instance B, if someone from Instance A subscribe to that specific community. So it’s by the communities that instances federated, right?

[–] [email protected] 1 points 1 year ago

These platforms (Lemmy, Mastodon [twitter], Pixelfed [instagram], Friendica [facebook], PeerTube [YouTube], Funkwhale [Spotify-ish], etc…)

This is the issue though. Pixelfed is not equal to Instagram, because Instagram is a platform while pixelfed is a software and once it's being hosted on a server it becomes a new platform (every instance is it's own platform). For things like pixelfed or mastodon which are one dimensional (I.e. users interacting with users) this is not much of an issue because federation opens up full access to the other platform.

For lemmy and similar concepts this does not entirely work though, because they are two dimensional, users and communities. This creates an internal relationship between the two dimensions that is not equal to the relationship users from other instances have with the communities on the local instance.

User accounts are also subjected to all the community rules an instance has chosen when (de)federation decisions are being made.

There is really no reason why users and communities should live on the same instance, but it creates confusion and inconvenience for many users.