1
0
mirror of https://codeberg.org/fediverse/fep.git synced 2026-08-06 04:05:53 +00:00

FEP-3702: Sharing Content Across Federated Forums (#118)

This FEP proposes a method of sharing content across federated forums to reduce the amount of duplicate content across forums. Previous discussions can be found on the [/kbin issue](https://codeberg.org/Kbin/kbin-core/issues/149) and the [lemmy issue](https://github.com/LemmyNet/lemmy/issues/3071).

Co-authored-by: Zachary Dunn <zdunn@rygen.com>
Reviewed-on: https://codeberg.org/fediverse/fep/pulls/118
Co-authored-by: 0x1C3B00DA <0x1c3b00da@noreply.codeberg.org>
Co-committed-by: 0x1C3B00DA <0x1c3b00da@noreply.codeberg.org>
This commit is contained in:
0x1C3B00DA
2023-07-07 07:25:22 +00:00
committed by helge
parent 5c97f444a2
commit 438a47e07f
+60
View File
@@ -0,0 +1,60 @@
---
slug: "d36d"
authors: Zack Dunn <zack@tilde.team>
status: DRAFT
dateReceived: 2023-07-01
---
# FEP-d36d: Sharing Content Across Federated Forums
## Summary
New instances on the threadiverse (servers that implement ActivityPub with FEP-1b12) are often seeded with forums for common
interests, leading to multiple servers having similar forums. Users may dislike having to follow what they perceive to be
"duplicate" forums or keep up with multiple discussions on the same topic across multiple servers. This document describes a
method for allowing `Group` actors to share content to reduce posting of a single link multiple times, which reduces what users
see as "duplicate" posts and fragmented conversations across multiple forums.
## History
FEP-1b12 introduces federated forums and is implemented by [Lemmy](https://github.com/LemmyNet/lemmy/), [/kbin](https://codeberg.org/Kbin/kbin-core/), and [Friendica](https://github.com/friendica/friendica).
The site [reddit](https://old.reddit.com) has a feature for grouping its forums, called subreddits, into a new forum, called a
multireddit. A multireddit is a feed made up of the combination of each of its constituent subreddits and allows a user an easy
way to keep up with multiple related forums. Because subreddits can be in multiple multireddits, multireddits don't affect
moderation of links posted to individual subreddits and a link can be posted to more than one constituent subreddit within a
multireddit.
## Group to Group Follows
When a moderator of a federated forum determines that their forum overlaps in topic with another forum, they can direct the
`Group` actor to send a `Follow` activity to the other forum's `Group` actor. FEP-1b12 specifices that a group should
automatically respond with an `Accept/Follow`, but this document overrides that for `Follow` activities with an `actor` of type
`Group`. After receiving a `Follow` activity from another `Group`, the group MAY automatically respond with an `Accept/Follow`
or a moderator may instruct the group to reply with a `Reject/Follow`. After replying with a `Accept/Follow` activity, the
group that received the `Follow` activity MAY automatically add the first group to its `following` collection, creating a
symmetric relationship.
This document makes no change to the handling of an `Undo/Follow` activity. If a group receives an `Undo/Follow` from a `Group`
actor, it MAY automatically remove the other group from its `following` collection.
## Activity Handling
When a group receives an activity in its `inbox`, it SHOULD perform automatic validation as described in FEP-1b12. If that
validation includes deduplication (via the `url` property of the activity's `object`, the `url` of any attachements, or any
other method), that deduplication validation MUST include objects received from followed groups. If an activity fails this
deduplication validation, the group MUST respond with a `Reject` activity where the `object` property is the `object` from
the inbox activity and the `target` object is the object that the new object duplicates. This ensures that content is posted
only once across related forums and a forum can provide navigation to an original post when a user tries to post a duplicate.
If the incoming activity is deemed valid, the group MUST handle it according to FEP-1b12 handling of valid activities.
## References
[FEP-1b12] Felix Ableitner, [FEP-1b12: Group federation](https://codeberg.org/fediverse/fep/src/branch/main/fep/1b12/fep-1b12.md)
## Copyright
CC0 1.0 Universal (CC0 1.0) Public Domain Dedication
To the extent possible under law, the authors of this Fediverse Enhancement Proposal have waived all copyright and related or
neighboring rights to this work.