ActivityPub
読み:あくてぃびてぃー-ぱぶ
外語:ActivityPub

 Fediverseを実現するための標準通信プロトコルの一つで、これを著している時点で最も代表的なもの。W3C勧告。
目次

概要
 分散型マイクロブログ実装であるMastodonが採用したOStatusという設計の古いプロトコルの代替として開発された通信プロトコルである。但しこれはOStatusの拡張ではなく、全くの別物である。
 具体的にはpump.ioで使われていたプロトコルを基に作られており、結果としてOStatusにあった様々な欠点を改良し、よりTwitterに近い利便性を供与できる仕様となっている。
 ActivityPubはMastodonで有名ではあるが汎用の通信プロトコルなので、運用はMastodonに限らない。ActivityPubを用いて、Mastodonと相互に交信できる新しいマイクロブログ実装を作ることも可能である。結果、マイクロブログ等のSNSのほか、通常のブログ、ファイル共有、音楽共有、動画共有、あるいはCMSといった様々な実装で採用されている。
 例えば(Fediverse版YouTubeとも言える)オープンソースの動画共有プラットフォームPeerTubeもActivityPubに対応しており、(Fediverse版Twitterとも言える)Mastodonからもマイクロブログ的に閲覧できるだけでなくコメントを付けることもでき、そのコメントはPeerTubeから付けたものと同様に扱われる。このように、特定の実装にとらわれない自由な運用ができることがメリットである。

特徴

機構

実装
 Fediverse用プロトコルであるActivityPubの実装は様々なものがあるが、その殆どはオープンソースである。「囲い込み」を基本とする商用サービスがオープンな仕様を導入するのはかなりの冒険と思われるため、オープンソースとは項を分けて紹介する。

オープンソース

マイクロブログ

ブログ

チャット

SNS

ファイル共有またはオンラインストレージ

メディアファイル共有

音楽共有

静止画像(写真含む)共有

動画共有

チャット

電子掲示板(BBS)

ポットキャスト

CMS

Webmention

Pastebin(ペーストビン)

アグリゲーター

その他のサーバー

ライブラリー等

その他関連するもの

商用サービス

OStatusとの違い
 動作面での顕著な差違を以下に述べる。用語や動作についてはMastodonを前提とする。

購読の概念の廃止
 OStatusはWebSubプロトコルにより、購読したインスタンスに対して配信していた。対してActivityPubに購読の概念はなく、フォロワー全員に対して配信される。
 ActivityPubはアカウント単位の配信が可能となっており、また後方互換性のため各アカウントに対しActivityPubで配信するかWebSubで配信するかを管理している。
 ActivityPubでの配信とWebSubでの配信は独立して動作するため双方で配信されると受信側で重複してしまう。このためActivityPubでの配信が確認され次第、WebSubで配信は解除されるようになっており、これによって互換性を確保しながらActivityPubへの移行が可能となっている。

インスタンス間での返信
 インスタンス間での返信において返信を受けると、その返信は返信を受けた人のフォロワーのインスタンスにも転送される。これにより、他のインスタンスからでもその返信を見ることが可能となる。
 なお、メンションは動作が異なる。

トゥート削除の配信
 OStatusでは、トゥートの削除は直接のフォロワーまでしか配信されない。このため他のインスタンスに残ってしまう(ことがある)欠点があった。
 ActivityPubでは、フォロワーだけでなく、ブーストした人、メンションした人、またそれらをした人のフォロワーまで、可能な限りの範囲に削除通知を転送するようになった。

非公開投稿
 OStatusは、投稿の公開範囲は独自拡張である。このためMastodonで非公開のトゥートをしたとしても、それがGNU socialで受信されたなら、それは誰でも読むことができ、ブーストすら可能であった。
 ActivityPubでは、仕様として受信者を明示できるようになっており、この問題は回避できる。

再検索