MisskeyとFirefish (calckey) とAkkomaを建ててみての比較

Posted on Oct 2, 2023

概要

今話題のMisskeyとそのフォークであるFirefish、PleromaのフォークであるAkkomaを建ててみての簡単な感想的なやつです。
運営者的な視点で少し愚痴っぽい部分も多いですがご容赦ください。

Misskey

Misskeyは最近急激にユーザーが増えている分散SNSの一つでかなりアグレッシブな開発が行われています。新機能も続々追加されますが連合しない機能も多々あったり バグが残ってたりとデメリットもその分ない訳ではありません。

利点

UIが美しい

セルフホスト型OSS(特にNextcloudとか)は全般的にUIが汚く古臭いことが多いですがMisskeyは真逆です。アニメーションとブラーのエフェクトを使った滑らかで美しいUI が使えます。

ロール・センシティブワード・充実したお知らせ機能などモデレーターに優しい

特定のワードを含む単語をホーム投稿にしたり、登録からの経過時間に応じてアップロード可能な容量やレートリミット、機能制限を調整できたりなど色々できます。

スケーリングが楽

DBのレプリカを直接設定できたりとスケーリングもかなり簡単にできる仕様です。

Rust部分がプレビルド

パフォーマンス改善のために一部処理をRust化していますが、Rustのビルドは非常に高負荷で時間がかかるためインストールやアップデート時に毎回ビルドするのはかなりの負担です。
FirefishはDockerインストールでない限りインストール、アップデート毎にビルドが必要ですがMisskeyはslaccというnpmパッケージでビルド済みバイナリを配布してそれを使うという形式のためこのような苦行を行わなくてもインストールできます。
個人的にはかなり好印象です。

欠点

巨大インスタンスにフォーカスしすぎていて多機能すぎる面がある

チャンネルやギャラリーなどお一人様とか小規模サーバーではまず使われないような機能が数多くありますが連合できない機能であるにも関わらず無効化する方法はありません。
個人的に要らない機能は無効化して提供したいのでこれは少し不便です。ただユーザーや支援者の大多数がioや巨大サーバーなのもありこれはプロジェクト的には合理的なのかもしれません。

開発がかなりアグレッシブ

通知やアンテナの内容がRedis保管だったり、かなりの頻度で新機能が追加されたりAPIの互換性がしれっと破壊されたりなど、活発すぎる面がありサードパーティーのクライアントやbot開発、安定した運用に向いていない一面があります。

Firefish

Firefishは本来Calckeyという名前でしたが思想的な云々もありFirefishに改名されました。

利点

ソフト的に色々改善されている

Misskeyと違ってパスワードの最低文字数がちゃんと設定されていたり、パスワードガッシュがArgon2になってたりなどとMisskeyの微妙な部分が改善されています。
またSonicによる検索やキャッシュDBなども設定できるようになっており、パフォーマンスに力を入れていることが伺えます。

サードパーティーに優しい(らしい)

開発者の方針的にそういう方針らしいです

欠点

思想が強いせいで不便になってる部分がある

Firefishは本家Misskeyに比べかなり思想が強い[当社比]開発者で構成されています。別に思想が強いのは悪いことではないのですが以下のような点が気になりました。

  • No GitHubポリシー: MisskeyとそのフォークはAGPLでライセンスされているため改変を行ったとき開示義務があります。しかし運用側で改変したソースコードを公開したり自動ビルドするときにGitHubを使うと文句を言われるためGitHub以外を使う必要があります。リポジトリだけならさほど問題ありませんがDocker HubへのpushをActionで自動化してるなどの場合、GitLab CIに慣れる必要があり手間です。
  • Cloudflare非推奨: READMEにCloudflareは強く非推奨と書かれています。書いてあるだけなら全く問題ありませんが、以前Turnstile (CloudflareのCAPTCHA)対応がないのが不便と思いPRしようとすると主要開発者の一人にそれは開発リーダーに受け入れられないだろうと言われました。

このようにソフトとしては比較的まともにも関わらず思想が強すぎるあまり不便になっている部分があり勿体ない感じがします。

バージョニングが謎・あまり安定していない

開発自体はMisskey本家よりさらにアグレッシブです。そのせいか私が運用していた時は安定バージョン(mainブランチ)にいつまでも致命的なバグが残ってるのにdevelopブランチは2個先のバージョンになってるみたいなことがありました。
運用者的にはどのバージョンがStableなのかハッキリさせてほしい感じがあります。

Akkoma

AkkomaはPleromaのフォークの一つで政治的な争いから逃れて誕生した的なことが作者のブログに書かれていました。
こいつはあまりしっかり運用していないのでサクッと紹介程度に留めます。

利点

軽い

メモリの使用量はMisskey系よりかなり少ないですがカスタム絵文字リアクションが使えます。MFMっぽいこともできますしPWAも対応しています。

シンプル

Misskeyと違ってそこまで多機能ではありません。個人的にはシンプルなのが好きなのでこれはメリットだと思ってます。

欠点

公式フロントエンドが使いにくい

公式フロントエンドがかなり古っぽいUIで使いにくいです。Manganeなどの代替フロントエンドは比較的いい感じですがカスタム絵文字リアクションが使えなくなります。