Skip to content

Note

このドキュメントは2026-02-27 03:22PLaMo Translation Modelを使用して自動翻訳されました。

FEP-7952: アクターおよびオブジェクトのポータビリティに関するロードマップ

概要

ポータビリティ:エンドユーザーがサービスプロバイダー間で自動的に移行可能な設計方針、データモデル、およびプロトコル群を指す。これにより、ユーザーは可能な限り少ないデータ損失とサービス中断で、フォロワーやフォロー関係などのソーシャルグラフ情報を保持したまま、別のサービス提供者へ移行できるようになる。

本仕様では完全手動による移行オプションが常に存在するものの、例えば全てのメッセージやコンテンツを再入力する、手動で全員をフォローリストに再追加する、旧フォロワー一覧に登録されている全員に連絡して再度フォローを依頼する、といった極めて非効率的な方法を想定している。しかし、これはユーザビリティの観点からは最悪のシナリオであり、可能な限り回避すべきである。

このFEPは主に2種類の移行ケースを対象としており、FEP-73cd: ユーザー移行ストーリーで定義された1A~1Fおよび2+3のユースケースに対応する。また、本仕様は先行する情報文書であるFEP-cd47: フェデレーション対応アドレス指定と重複排除ユースケースからも着想を得ている。

稼働中(協調的)サーバーからの移行

ここで規定されるデータ処理およびフォーマットに関する推奨事項は、現在進行中のLOLA提案と厳密に補完関係にある。同提案も本仕様と同様のユースケースを対象としている。

停止中(非協調的)サーバーまたはバックアップからの移行

現行アプローチ

現在のFediverse実装の多くは、すべての以下の機能要件を単一のウェブドメイン上で動作する包括的なサービスプロバイダー(またはインスタンス)に統合するパターンを採用している:

  1. アイデンティティホスティング(アクタープロファイルオブジェクトのホスト。本オブジェクトはリスト内の他のすべての情報のソースとなる)
  2. 認証およびオブジェクトの作成者/来歴管理
  3. 鍵管理(サーバー間リクエスト認証用のHTTP署名に使用)
  4. ActivityPubオブジェクトとコレクションの保存(通常はデータベースで実装)
  5. メッセージ転送サービス(受信箱・送信箱のホスト、発信オブジェクトの配信、通知処理など)
  6. インスタンスベースのコンテンツモデレーション
  7. コミュニティ発見機能(インスタンスのローカルフィード経由)
  8. フロントエンドクライアント、すなわち「ウェブサイト」および/またはモバイルアプリ(多くの現行実装では、同一サーバー上で動作する専用設計のフロントエンドがバックエンドシステムとバンドルされている)

このような機能要件の緊密な結合は、稼働中サーバーからの移行可能性を制限しており、より簡素化されたアーキテクチャへの自動的な移行を実現することは未だ試みられていない。特に第2項目で求められるインタラクティブHTTP署名への依存性が強いため、停止中サーバーからの移行は完全に不可能となり、サーバーがオフラインになった場合のユーザー体験は著しく損なわれる。

例えば、現在一般的なMove Actor実装(Mastodonによる実装FEP-7628で規定されているものなど)では、ユーザーのフォロワーリストを自動的に移行する機能(双方向alsoKnownAsリンクの設定と、すべてのフォロワーへのMoveアクティビティ送信)のみが提供される。さらに、一部の実装ではフォローリスト、ミュート対象、ブロックリスト、ブックマークなどの手動エクスポート/再インポートが可能である。ただし、投稿内容、メディア添付ファイル、リアクション、リポストといった重要なコンテンツは自動転送されない。

本FEPでは、より完全なライブ移行を可能にするとともに、停止中サーバーからのバックアップデータを利用した移行を実現するロードマップ(一連の手順、設計概念、および推奨事項)を提案する。

ポータビリティ実現に向けたロードマップ

本仕様書における「MUST」「MUST NOT」「REQUIRED」「SHALL」「SHALL NOT」「SHOULD」「SHOULD NOT」「RECOMMENDED」「MAY」「OPTIONAL」という用語は、RFC-2119で定義された解釈に従うものとする。

1. 典型的なインスタンスのサービスと機能要件を分離する

  1. すべてに署名を付与:クライアント側暗号技術による署名を、現在主流のインスタンスURLのみに依存する方法に加え、著者性の証明手段として認識する。
  2. FEP-521aに基づき、アクターオブジェクトに検証用鍵を追加
  3. 個別のアクティビティに対しても同一の鍵を用いて署名を付与する(FEP-521a参照)

2. アクター相対URLを用いたマッピング機能を実装する

参考文献

著作権

CC0 1.0 Universal(CC0 1.0)パブリックドメイン献呈

法律で許容される範囲において、本Fediverse機能拡張提案の著者らは当該作品に関するすべての著作権および関連権利を放棄している。