Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

More granular federation options #3662

Closed
4 tasks done
lionirdeadman opened this issue Jul 19, 2023 · 5 comments
Closed
4 tasks done

More granular federation options #3662

lionirdeadman opened this issue Jul 19, 2023 · 5 comments
Labels
area: federation support federation via activitypub area: moderation enhancement New feature or request

Comments

@lionirdeadman
Copy link

lionirdeadman commented Jul 19, 2023

Requirements

  • Is this a feature request? For questions or discussions use https://lemmy.ml/c/lemmy_support
  • Did you check to see if this issue already exists?
  • Is this only a feature request? Do not put multiple feature requests in one issue.
  • Is this a backend issue? Use the lemmy-ui repo for UI / frontend issues.

Is your proposal related to a problem?

Yes, Beehaw tries to cultivate a particular culture that requires more attention and is incompatible with less curated instances.

As a result, Beehaw has had to defederate from instances that had open registrations because it was overwhelming to moderate users from instances larger than us which did not have the same culture values.

We've also noticed that people are not comfortable with porn in their feed or only porn they like - as result, this could be a defederation concern as well though it has not been so far.

We'd like to propose that Lemmy adopts new federation statuses to help with these issues.

Describe the solution you'd like.

I'd like more granular federation options, here's some of which I've thought about on an instance-level.

  • One-way federation : Make it so users from instance X can interact on communities of instance Y but not vice-versa. This allows us to keep our culture without needlessly limiting people from Instance X
  • Allowlist local community access : Make local communities only accessible to an allowlist of instances to ensure compatible values
  • Application process to participate in instance : Essentially, just as someone registering needs to send an application to the instance, someone with an account outside also needs to, even if their account is not on the server. This ensures that everyone participating in the local communities are approved
  • Exemption from the all feed : Some instances are defederated because the content is not appropriate for all, for example, many will likely defederate a porn-focused instance to avoid porn flooding their all feed. This option would allow admins to exempt these instances from the feed. Many still likely want porn - just not all of it so excluding from all makes this easier.
  • Media reject : Some instances are defederated because the content is pornographic and many instances don't want to handle the legal repercussions of hosting the pornographic material. A solution is that this federation option disables content caching. All that images and videos would only be proxied or simply hotlinked.

Describe alternatives you've considered.

  • Defederation : This preserves instance culture on local communities at the cost of restricting what people on our instance can do which is unwanted
  • Private communities : This allows for more community-level self-determination and can be ideal for communities which require a safe space

Additional context

No response

@lionirdeadman lionirdeadman added enhancement New feature or request area: federation support federation via activitypub area: moderation labels Jul 19, 2023
@dessalines
Copy link
Member

A lot of these could be handled by #2397

One-way federation could be useful, but it could lead to centralization, because users realize they're talking to clouds until they create an account on your instance.

Allowlist local community access : Make local communities only accessible to an allowlist of instances to ensure compatible values

This seems like its already covered by the community block ability? Maybe not instance-wide.

Exemption from the all feed : Some instances are defederated because the content is not appropriate for all, for example, many will likely defederate a porn-focused instance to avoid porn flooding their all feed. This option would allow admins to exempt these instances from the feed. Many still likely want porn - just not all of it so excluding from all makes this easier.

This use case should be handled by the NSFW setting. There is also an unfinished, "hide community" ability that hides any community from All that could serve this purpose. I suppose a hide instance ability could also do for that. But it seems like properly tagged NSFW, which should by default be hidden from All, handles that use case better.

Application process to participate in instance : Essentially, just as someone registering needs to send an application to the instance, someone with an account outside also needs to, even if their account is not on the server. This ensures that everyone participating in the local communities are approved

This is just a flow for adding allowed instances? I don't know that there's an easy way to do that.

@lionirdeadman
Copy link
Author

One-way federation could be useful, but it could lead to centralization, because users realize they're talking to clouds until they create an account on your instance.

Well, not sure I understand what you mean. Someone from a one-way federation should be able to post or comment, just like someone banned.

This seems like its already covered by the community block ability? Maybe not instance-wide.

The idea is that some communities like an LGBTQ+ community might want to have an allowlist because a safe space relies on some vetting process otherwise assholes can ruin the reason of existence of the community.

This use case should be handled by the NSFW setting. There is also an unfinished, "hide community" ability that hides any community from All that could serve this purpose. I suppose a hide instance ability could also do for that. But it seems like properly tagged NSFW, which should by default be hidden from All, handles that use case better.

Well, no because as I've said a few times to people - I don't NSFW art, or scenes that are NSFW from anime or even NSFW pornography that I like - that doesn't mean I want to see all of NSFW, I probably want to curate what I am comfortable seeing. This seems to be true of most people I've spoken to about this.

The "hide community" ability would be useful but it would be best to be able to do this at the instance level as it seems that most NSFW material comes from instances focused on NSFW material.

This is just a flow for adding allowed instances? I don't know that there's an easy way to do that.

Yeah, essentially.

@wont-work
Copy link
Contributor

An additional idea: A "curated all" feed? As in, all but restricted to a list of instances an admin has deemed "chill enough". Similar to Akkoma's bubble timeline and Firefish/Iceshrimp's recommended timeline.

As a catchy name, how about "instance neighborhood"?

@dessalines
Copy link
Member

That would require a 3rd list, in addition to the existing allowlist and blocklist s. Kind of a super_allow

@Nutomic
Copy link
Member

Nutomic commented Jan 3, 2024

One-way federation : Make it so users from instance X can interact on communities of instance Y but not vice-versa. This allows us to keep our culture without needlessly limiting people from Instance X

This sounds like a bad idea. Lemmy is a forum where you talk to other people and they talk to you. Nobody wants to talk to a wall. Maybe this kind of thing makes sense in Mastodon but its out of scope for Lemmy.

Allowlist local community access : Make local communities only accessible to an allowlist of instances to ensure compatible values

I am going to implement local-only communities soon which are not federated. Also there will be private communities where users need to be approved before reading or writing. Those are a bit different from what you are asking, but easier to implement and can fit the same use cases.

Application process to participate in instance : Essentially, just as someone registering needs to send an application to the instance, someone with an account outside also needs to, even if their account is not on the server. This ensures that everyone participating in the local communities are approved

As mentioned this will be implemented in the form of private communities, where users need to get approved before reading or writing. So same thing but on the community level instead of instance level.

Exemption from the all feed : Some instances are defederated because the content is not appropriate for all, for example, many will likely defederate a porn-focused instance to avoid porn flooding their all feed. This option would allow admins to exempt these instances from the feed. Many still likely want porn - just not all of it so excluding from all makes this easier.

You can already do this on a per community basis using /api/v3/community/hide. Before replicating the same functionality for instances, someone would have to go ahead and implement the existing one in lemmy-ui at least.

Media reject : Some instances are defederated because the content is pornographic and many instances don't want to handle the legal repercussions of hosting the pornographic material. A solution is that this federation option disables content caching. All that images and videos would only be proxied or simply hotlinked.

Im reworking media handling in #4035 which should resolve such legal problems.

All in all this issue covers many different things which already have their own issues or pull requests (I havent linked them all but they are easy to find). I suggest to continue the discussions there and close this issue because too general.

@dessalines dessalines closed this as not planned Won't fix, can't repro, duplicate, stale Jan 4, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area: federation support federation via activitypub area: moderation enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

4 participants