色々なActivityPub対応サーバーを運営して

# ご挨拶
多くの方は初めまして。もりかぷ([@morikapu@otadon.com](https://otadon.com/@morikapu))と申します。
普段はソフトウェア開発を修行しており、趣味で分散SNSサーバーなどを運営しています。
Qiitaへの投稿が初めてだったり、文を書くことがあまり慣れていないので、読みにくいところなどがございます。

# はじめに
そもそもActivityPubって何？と思う方向けに、ざっくりと説明すると、分散SNSのプロトコル（規格みたいなもの）の一つです。
このプロトコルでやり取りすることで、サーバー・サービスの枠を超えて投稿などのコンテンツのやり取りが行えます。

使用するソフトウェアとして、最近良く耳にすることが多くなってきたと思われるものは

- [Mastodon](https://joinmastodon.org/)
- [Misskey](https://misskey-hub.net/)

などがございます。最近ではMeta社の[Threadsも将来的にAcitivityPubに対応させる](https://about.fb.com/ja/news/2023/07/threads_launch/)、という発表などを行っており、盛り上がりを見せています。

ググればより詳しく説明してくださっている記事や[W3Cのドキュメント](https://www.w3.org/TR/activitypub/)があるので、詳しいことはそちらをお読みください。

ちょっと前置きが長くなってしまいましたが、今回はこれらを使ったソフトウェアを運営する話をしたいと思います。

# この記事を読んでいる方にまず知ってほしいこと
- [Mastodon](https://joinmastodon.org/)や[Misskey](https://misskey-hub.net/)はソフトウェアの名称であり、サーバーそのものではないこと
- 法人が運営しているサーバーもあるが、多くは個人が運営しているものであること
- サーバーが分かれているからと言って、サーバーごとにアカウントを作成する必要はないこと

とりあえずこの3つだけでも持ち帰っていただけると嬉しいです。
よくある間違いとして、開発者が直接運営しているサーバーや大規模サーバーを「Mastodon」や「Misskey」自体のすべてを握っている、と思われることが多いのですが、あくまでも**一つのサーバーである**ということです。

例えば、TwitterではX社（旧Twitter社）のみが運営しており、他の法人などはTwitterの運営・保守には関わっていません。
MastodonやMisskeyでは、誰でも運営・保守ができるためフラッグシップサーバーや大規模サーバーが消失したからといって、MastodonやMisskey自体が消滅するわけではありません。

また、誰でもサーバーを運営できるためいくつものサーバーがありますが、**基本的には**一つのサーバーにアカウントを作成すれば、サーバーやソフトウェアの枠を超えて色々なユーザとやり取りができます。

もっと分かりやすくするとメールのように GmailやiCloudとサービスが分かれていても、同じ仕組みを使っているからやり取りができる、という感じになります。

ただ、「**基本的に**」と称した理由として、サーバー管理者の意向や国の法律により、やむを得ずやり取りができないサーバーの組み合わせがあるため、場合によっては複数サーバーでアカウントが必要になります。
※最初はあまり気にしなくても大丈夫です。

ちょっと長くなって申し訳ないのですが、これだけでも頭の片隅に置いておいていただけると幸いです。

# 運営する話
先ほどお伝えした通り、MastodonやMisskeyをはじめとしたActivityPub対応ソフトウェアの多くはオープンソースソフトウェアであり、誰でもサーバーを建てたり、ライセンスの範囲内で改変などを行うことができます。

自分自身も2022年11月から個人で以下のサーバーを運営しています。ユーザ数としてはユニークではないですが、大体全部合わせて1500人ぐらいです。

- [Otaku Social](https://otaku-social.com)
    - [Otadon (Mastodon)](https://otadon.com)
    - [壁丼 (Mastodon)](https://kabedon.space)
    - [Maniakey (Misskey)](https://maniakey.com)
    - [CircleEvents (Misskey)](https://mycircle.events)
    - [FavCalc (Firefish)](https://favcalc.com)

本当の大規模サーバーと比較するとユーザ数は少ない、といえば少ないになるのですが規模としては中規模ぐらいです。（要出典）

ユーザ数が増える要因として、この数か月は「他サービスが障害やAPI制限により利用できないため、新しい居場所を作る」、というものが多い気がします。
他で制限が強化されたから完全に移住する、という方もいれば他がダウンしたときに使う、といった避難所のような立ち位置で使用される方もいるので、アクティブユーザは大体6～7割位です。

ちなみに第三者を入れるか入れないかは管理者側で設定でき、自分だけのサーバーとしてお一人様サーバーを構築される方もいらっしゃいます。

と、いうのも第三者を受け入れるにあたり、利用規約やプライバシーポリシーの作成、コンテンツに対するモデレーションがどうしても発生するため、サーバーによっては新規登録を閉じている場合もあります。

この"**モデレーション**"というのが結構難しく、人によっては精神的な負担になります。
自身のサーバーのコンテンツも勿論ですが、他サーバーから流入されるコンテンツも必要に応じてモデレーションしたり、モデレーションが必要とされるコンテンツは攻撃的な投稿も含まれるので疲れる方もいます。

他にも場合によっては問い合わせ対応やサーバー障害の原因切り分けといったものも含まれるため、サーバーの構築は簡単ですが、継続していくのは難しいことが多いです。

# 個人がサーバーを運営して、第三者を受け入れるヒント
サーバーを運営してまだ半年ちょっとではありますが、もしコミュニティを形成したい！と考えている方へのヒントとして

- 利用規約やプライバシーポリシー、サーバールールの曖昧な部分を可能な限り少なくする
- ここまでOK、ここからNGをはっきりさせておく
- ちょっと人数が急激に増えたと思ったら、一旦新規登録を受付停止する
- 無理をしない（金銭的にも、精神的にも）
- 美味しいご飯を食べて、しっかり寝る、リフレッシュする

大体ここらへんなのではないかなと思います。
SNSの使い方や意気込みは一人ひとり違うので、なかなか難しいところではありますが、雰囲気や環境のセットアップは管理者である自分が希望するものにするのが重要です。

また、第三者を受け入れる場合は、サーバーに入ってくる人と運営者側とのミスマッチをある程度減らすことが重要です。
自分が運営しているサーバーでは承認制、という仕組みを採用しており、

1. サーバーにアカウントを作りたい人が意気込みを入力
1. 管理者またはモデレータが意気込みを確認し、アカウント作成を承認or却下

という対応を行っています。
この"**意気込み**"が結構重要で、入力いただいた意気込みを読んでいるとある程度、どういった方なのかがわかります。
なのでちょっとサーバーや運用指針に合わないな...といったミスマッチを事前に減らすことができます。
（もちろんスパム防止にもなります。）

このミスマッチをいかに減らすかによって、モデレーションコストも軽減することができます。
※1500人というユーザをほんの数人で持っていますが、トラブルなく運営できています。

あとは何かあったときに、サーバー関連であれば他のサーバー管理者（通称、鯖管）をフォローしたりしておくのがおすすめです。

# 終わりに
だいぶ雑に記事を書いてしまったのですが、参考になれば幸いです。
その他聞いてみたいことなどございましたら、可能な範囲でサポートしますのでお気軽に[Twitter](https://twitter.com/Inakapu)か[Fediverse](https://otadon.com/@morikapu)の僕のアカウントまでご連絡いただけますと幸いです。

お読みいただきありがとうございました。