DiscourseとFediverse!

Penar Musaraj
Apr 23, 2025 • 3 min read

2年前、私たちはDiscourseとFediverseをより緊密に結びつけるプラグインの開発に着手しました。Discourseコミュニティは、オープンなコラボレーションとコミュニケーションを促進するオンラインスペースです。Fediverseは、Discourseコミュニティのリーチを拡大し、他のスペースで活動する人々との橋渡しを支援する手段を提供します。そのすべてにおいて、会話は礼儀正しく、意味のある、焦点を絞ったものに保たれます。この投稿では、ActivityPubプラグインの仕組みと、Discourseコミュニティが他のコミュニティやFediverseユーザーと接続できるようにする方法について説明します。

Fediverseとは何ですか?

Fediverseは、分散型ソーシャルメディアネットワークです。Fediverseユーザーは通常、特定のネットワーク上にある多くの利用可能なサーバーのいずれかに参加し、そのサーバーが他のサーバーとアクティビティ(投稿、いいね、返信、フォロー、メンション)を共有します。Fediverseにはさまざまな種類のサーバーネットワークがあります:MastodonLemmyPixelfedPleromaなどが挙げられます。他のウェブアプリケーションも最近Fediverseを採用しています:WordpressやGhostのようなブログプラットフォーム、FlipboardのようなソーシャルニュースプラットフォームM、そしてもちろんDiscourseのようなコミュニティフォーラムソフトウェアなどがあります。

Discourseでは、私たちはFediverseのオープン性、分散化、ユーザーデータの所有権に対する考え方を共有しています。そのため、私たちはActivityPubを通じた相互運用性の確立に投資してきました。これは私たちの価値観の自然な延長であり、より接続されたオープンなウェブへの重要な一歩と考えています。

DiscourseのActivityPubへのアプローチ

ソーシャルメディアとフォーラムソフトウェアの間には明確な類似点があります。どちらも、オンライン環境における人々の間のソーシャルインタラクションを扱います。しかし、いくつかの重要な点で異なります。ソーシャルメディアでは、ユーザーは他のユーザーをフォローし、メインのセントラルフィードまたはタイムラインをスクロールしてコンテンツを消費します。一方、フォーラムソフトウェアの投稿は通常、トピックを中心に整理されており、さらにカテゴリやタグなどの分類体系によって整理されています。例えば、あるプログラミング言語に特化したコミュニティのユーザーは、ホームページで最新のトピック一覧を確認したり、カテゴリやタグを使ってトピックをより絞り込んだテーマ(特定の実装、ヘルプ、フィードバック)にフィルタリングしたりすることができます。

Discourse ActivityPubプラグインは、これらの違いを2つの方法で橋渡しします。まず、Discourseのカテゴリとタグを、Fediverseユーザーがフォローできる「アクター」に変換します。これにより、ソーシャルメディアのユーザーがこれらのカテゴリやタグにアクセスできるようになります:コミュニティのコンテンツを直接フィードで確認できるようになります。同時に、Discourseユーザーはカテゴリとタグに基づいたコミュニティ独自の構造で同じコンテンツを確認できます。

次に、Discourse ActivityPubプラグインにより、管理者は各トピックのすべての投稿を連合させる(「Full Topic」連合)か、最初の投稿のみを連合させる(「First Post」連合)かを選択できます。ソーシャルメディアでは、「オリジナル投稿」は返信よりも優先度と重要性を持つことが多いです。一方、フォーラムソフトウェアでは、トピックの最初の投稿はしばしばディスカッションの始まりに過ぎず、返信よりも必ずしも重要であるとは限りません。私たちのプラグインは両方のエンゲージメントモードを可能にし、管理者が一部のカテゴリやタグでトピックの最初の投稿のみをFediverse上のフォロワーと共有し、他のカテゴリやタグではトピックのすべての投稿を共有するように選択できます。

実際の例

ActivityPubプラグインは、meta.discourse.orgのメインサポートコミュニティにインストールされ、有効化されており、いくつかのカテゴリとタグを公開するように設定されています。例えば、aiタグはFull Topic連合が有効になっています。metaで行われた投稿や返信は、「@discourse-ai@meta.discourse.org」をフォローするだけで、他のActivityPubアプリケーションのユーザーが確認できます。私はMastodonでこのハンドルをフォローしており、これによりMetaのAIタグが付いたすべてのディスカッションをそちらのメインフィードで自動的に確認できます。

AIタグが投稿される場所

Mastodon上での表示方法

MetaのAnnouncementsカテゴリもActivityPubが有効になっており、First Post公開タイプを使用しています。つまり、「@announcements@meta.discourse.org」をフォローしている人は、選択したActivityPubアプリケーションでMetaのアナウンストピックの最初の投稿を確認できます。ソーシャルメディアでのアナウンスには、First Postアプローチの方が適しています。オリジナル投稿には明確な重要性、つまり返信にはない注目度があります。

Discourse間の統合

ActivityPubの統合により、Discourseコミュニティ間での双方向のコンテンツ公開も可能になります。その好例が、Metaのactivitypubタグとsocialhub.activitypub.rocksDiscourseカテゴリです。2つのFediverseアクターは互いにフォローし合っており、これは両方のコミュニティに利益をもたらします:meta.discourse.orgにおける「activitypub」に関するディスカッションはSocialHub(ActivityPubについてのコミュニティ)の人々に関連しており、逆に、SocialHubでのDiscourseに関するディスカッションはMetaコミュニティのメンバーに関連しています。各コミュニティのユーザーは、もう一方のコミュニティの新着情報を確認するために、そのコミュニティを離れる必要がありません。

以上です!DiscourseコミュニティがFediverseに参加し、分散型ウェブ上の他のDiscourseインスタンスやプラットフォームと接続・コラボレーションする方法の概要をご紹介しました。アナウンスの共有、技術的なディスカッションのホスティング、コミュニティ間のコラボレーションなど、連合機能によりリーチを拡大し、ユーザーがすでにいる場所でエンゲージしやすくなります。

Discourseインスタンスを運営していて試してみたい方は、プラグインは今日からご利用いただけます

原文はこちら:


Good Loopでは、Discourseのセルフホスティングを安価で提供しています。開発元であるCDCK社の協力のもと、公式ブログ記事の翻訳・公開など、日本での普及にも努めています。

詳しくはこちら: Discourseの導入・運用支援・コンサルティング – Good Loop