Groupアクターの実装

#1

ActivityPubでは、ActorのTypeとして、一般のユーザーを表すPersonや、botなどを表すServiceが使われていますが、ぼちぼちGroupも活用したいなと思っています。

Group

Description Properties
Group URI:
Notes: Represents a formal or informal collective of Actors.
Extends: Object
Properties: Inherits all properties from Object .

EXAMPLE 43

{ “@context”: “https://www.w3.org/ns/activitystreams”, “type”: “Group”, “name”: “Big Beards of Austin” }

なお、ActorのTypeはActivityStreams Actor Typesが使われるのが一般的ですが、仕様としてはいろんなアクターが可能のようです。
https://www.w3.org/TR/activitypub/#actors

ActivityPub actors are generally one of the ActivityStreams Actor Types, but they don’t have to be. For example, a Profile object might be used as an actor, or a type from an ActivityStreams extension.

ActivityPubのissueにあがっているこれが大変参考になります。

#2

Friendicaで実装されたようですが、グループを表すActorにメンションした場合の挙動について、そのグループをフォローしている人に配送されるような形にまとまっているようです。

issueでは、非公開のグループ投稿をの扱いについて検討されていましたが、概ね解決できる問題に落ち着いたようです。Linked Data Signatureにより署名されている場合はそれでいけるし、HTTP署名してプライベート投稿の参照を行うことも可能とのこと。

私もグループをホストするサーバを書こうと思っているので、Mastodonなどのサーバで必要な対応、クライアントで必要な対応などを含めて、フィードバックしていきたいと思っています。