Closed duck57 closed 4 years ago
I didnt read your whole text, but it sounds like you are essentially talking about activitypub federation. That is what we are working on right now. It will take time to reach the initial implementation though, and until then, we wont know how things like moderation etc will work. So be patient.
Closing this because its really too general and its not clear what we can do here. If you want to contribute towards our ActivityPub implementation, I suggest you read the spec and other documentation, and have a look at our code.
Edit: And check out all the issues tagged with "federation" to see what needs to be done.
I'll try to explain by an example. I'll be the admin of
percussion.tk
, an instance primarily for drummers and other percussionists.rabbits.org
will be a remote instance filled with house rabbit lovers.Simple Mirroring
My users have asked me to mirror
rabbits.org/c/assicalmusic
because percussion.tk has a large presence on rabbits.org's classical music community and it's representative of our classical music discussion. Once mirroring is set up,percussion.tk/c/assicalmusic
is identical to the community on rabbits.org, including moderators and their decisions.In tl;dr form, a remote community is mirrored locally and added to the instance front page as if it's local.
Is this similar to what is discussed in #578?
Name Collisions
In spite of being intended for drummers,
percussion.tk/c/horses
is a highly active discussion forum for the care of horses with a focus on show jumping.rabbits.org/c/horses
is mostly focused on horse pictures. Both instances wish to mirror each other's equestrian community but do not want to rename or otherwise move their current community. They can still mirror each other under new community names, such asrabbits.org/c/showjumping
andpercussion.tk/c/ponypics
.Multi-level requests
If
moose.dewlap
wishes to mirrorrabbits.org/c/showjumping
from the above example, they will be notified that it really ispercussion.tk/c/horses
and may proceed to mirror from the source as usual.When things go wrong
I foresee two ways in which mirroring can go wrong:
Rogue admins and mods can cause either of the above, but these situations can arise with no malice involved by any party.
If being mirrored no longer suits the needs of your instance, you may make a one-way decision to break the mirror.
Once the mirror has been broken, an automatic un-deletable notification post will be made to your new local community copy with an optional field to explain why you chose to break the mirror. The local admin may then appoint new moderators or leave the local community in a frozen unmoderated state (no new posts may be made until mods are chosen). To handle rogue moderators, moderation deletions in the past 7 days may be reverted by the local admins or new local mod team. However, any older moderation deletions that were mirrored over are permanent.
Incompatible Rule Change Example 1
We're mirroring rabbit.org's /c/furries and they change the rules to allow NSFW content.
percussion.tk/c/furry_nsfw
already exists, so the mirror is broken. Additionally, the moderators ofrabbit.org/c/furries
have been deleting posts from percussion.tk users arguing against the rule change. After the mirror is broken, the newly-minted mods ofpercussion.tk/c/furries
delete any remaining NSFW posts and restore the posts arguing against the rule change as their documentation for why they broke the mirror.Rule Change Split Example 2
Rabbit.org decides that they will no longer allow memes on
rabbit.org/c/assicalmusic
because they have maderabbit.org/c/classicalmemes
. The percussion.tk admin team decides to break the mirror after their local users tell them they are opposed to the rule restriction.Remote Server Down
moose.dewlap decides to shut down. I've been mirroring
moose.dewlap/c/happy-hardcore
. After a specified duration without any contact with moose.dewlap (or after receiving an instance deletion message), percussion.tk automatically breaks the mirror.Configuration
Moderator & Community
with approval
sends them to a queue for moderator review.Admin & Server
rabbit.org/c/horses
topercussion.tk/c/horse2
and I have admin approval on, I may say that the local community name will be /c/ponypics before sending the request to rabbit.orgThis section is notably longer than the community settings because it would be instance admins who set up new mirrors and break incompatible ones.
Open Questions