mlemgroup / mlem

Mlem for Lemmy
https://lemmy.ml/c/mlemapp
GNU General Public License v3.0
175 stars 32 forks source link

Sublinks support #1227

Open Sjmarf opened 4 weeks ago

Sjmarf commented 4 weeks ago

What is Sublinks?

Sublinks is an in-development fediverse backend. The developers say that it will have a Lemmy-compatible API, but will have additional features. Sublinks will be adopted by discuss.online (105 MAU) and probably beehaw.org (399 MAU). If it proves to be stable and beneficial, larger instances may also adopt it.

When Sublinks is released

If Beehaw adopts Sublinks, I think we should make a post about our thoughts on its support. This could be along the lines of:

We are supporting Sublinks unofficially. That is, you will be able to use instances running Sublinks for as long as the Sublinks developers maintain parity with the Lemmy API. If Sublinks gains significant traction, we may consider supporting it in a more official capacity at that stage.

Official support

Official support would come with a maintenance cost. I don't think we should support Sublinks officially if it's just discuss.online and beehaw.org using it. Beehaw is a big name, but through the defederation woes it lost much of its active userbase. Sublinks' initial 500 MAU is a far cry from the 45,000 that Lemmy currently has.

Here's some things to consider:

Versioning differences

Our version checks for certain features would become more complicated. If Lemmy implements a new feature, it may take some time for Sublinks to also implement the same feature, or they may never implement it. This introduces a higher level of ongoing maintenance if we want to have the UI perfectly reflect the available feature set on any Lemmy or Sublinks version.

Differences over time

Sublinks' API may diverge further from the Lemmy API spec as time goes on. For example, Sublinks may add a certain moderation feature. Later on, Lemmy might add an equivalent but not identical feature. If we wanted to support both, this would introduce significant complexity.

Later on, Sublinks might then change their API spec to be closer to Lemmy's, but might have additional fields. At that point, we'd have to support 3 different versions of the feature:

Sjmarf commented 1 week ago

There's also PieFed to consider (128MAU on the flagship instance).

Sublinks looks rather inactive to me at the moment, though I'm hoping it picks up again.