Misskey

Misskeyは、日本発の分散型ミニブログ用のオープンソースソフトウェアである。syuiloが開発している。

1. 概要
-----

Misskeyは、短文投稿のための分散型SNSである。利用者の投稿は「ノート」と呼ばれる。

Misskeyは他の分散型SNSと同様、管理者や設置場所の異なったサーバーが複数存在する。Misskeyで個別のサーバーを指す場合、そのまま「サーバー」と呼称する。利用者はサーバーを選ぶ、あるいは自身でサーバーを開設することによってFediverseに参加する。Misskeyという名称は作者のsyuiloが名前を考えていたときに、偶然聴いていたMay'nの楽曲「Brain Diver」の歌詞から採られている。

2. 発展
-----

2.1. 開発
-------

MisskeyはGitHub上でソースコードを公開しており、改善の提案を行うことができる。自分で改造することも自由である。ただし改造したMisskeyでサーバーを運営する場合は、AGPLv3に基づいて改造後のソースコードを公開する義務がある。またAPIが公開されているので、これを利用してアプリを作成することもできる。翻訳はCrowdin上で行われている。

2.2. 使用技術
---------

TypeScriptとNode.jsを使って書かれている。データベースとしてPostgreSQLを使用、2018年2月以降はWebクライアントにVue.jsを使用している。サーバー間の通信プロトコルにはActivityPubが使用されているため、Misskeyのサーバー間だけでなく、 MastodonやPleromaなど同標準に準拠した他のミニブログのサーバーと通信可能となっている。

2.3. 沿革
-------

2014年 - 開発が開始され、運用が始まる。
2018年4月8日 - サーバー間の通信プロトコルをActivityPub対応して分散型SNSになる。コードネームをnighthikeと改称。
2019年4月14日 - v11をリリース。データベースソフトウェアにPostgreSQLを採用した。コードネームをdaybreakと改称。
2020年2月6日 - v12をリリース。コードネームはindigo。
2023年1月16日 - v13をリリース。コードネームはnasubi。デザインの大幅な変更と機能追加が行われた。
2023年9月24日 - 2023.9.0をリリース。このバージョンからバージョニング方法が セマンティックバージョニング から カレンダーバージョニング に変更された。コードネームの改称は行われていない。

3. サーバーの運営
----------

Misskeyの運営は誰でもできる。広告収入などがない場合は電気通信事業の届出をしなくても運営でき、また寄付などで収益がある場合でも届出が必要な事業者には該当しないという総務省からの回答がある。しかし、長くサーバーダウンしてしまうと投稿の送信元にキューが溜まってしまい、連合先のサーバに迷惑をかけてしまうため24時間稼働することが望まれている。もしサーバーを閉鎖するときはHTTPステータスコード「410 Gone」を送出するのが望ましい。

3.1. 仕様
-------

Docker、bashスクリプトを使用したサーバー構築が可能である。

データベースの破損等でデータが消失した場合、バックアップを復元してもデータが消失した期間に作成したアカウント名を再び使用することはできない。これはノートを転送する際に使用する鍵が再生成されるため、ソフトウェアによっては作り直したアカウントでの投稿が読み込まれないためである。この仕様はDB内の全てのデータを初期化し、全く同じドメインで再構築した場合でも同様である。回避策としては、サブドメインを作成し移行するやり方がある。

4. 機能
-----

4.1. タイムライン
-----------

Misskeyは4種類のタイムラインを持つ。ホームタイムラインには自分がフォローしたユーザーの投稿が新しい順に表示される。同様にローカルタイムラインにはそのサーバー内のすべてのユーザーの公開投稿、ソーシャルタイムラインにはホームタイムラインとローカルタイムラインを合わせた、グローバルタイムラインにはリモートも含めてそのサーバーが認識しているすべてのユーザーの公開投稿が表示される。

4.2. ノート
--------

先述の通りMisskeyでは投稿のことを「ノート」と呼んでいる。ノートには公開範囲を指定することができ、範囲によって投稿を閲覧できるユーザーを限定することができる。

パブリックフォロー関係が無く全てのユーザーが閲覧できる。すべてのタイムラインに投稿される。ホームフォロー関係が無く全てのユーザーが閲覧できるが、グローバルタイムライン及びローカルタイムラインには投稿されずフォロワーのホームタイムラインのみに投稿される。非ログイン時でもプロフィールのページを開けばフォロワーでなくてもノートを閲覧できる。フォロワーフォローされているユーザーのみが閲覧でき、フォロワーのホームタイムラインのみに投稿される。非ログイン時でプロフィールページを開いても閲覧はできない。ダイレクトメンションされたユーザーのみ閲覧できる。メンションされたユーザーのホームタイムラインのほかに、「ダイレクト投稿」のページに加え返信と同様の扱いであるため「あなた宛て」、「通知」のページでも閲覧でき通知される。連合なしこれらの投稿の種類に加えて、同じサーバー内のユーザーしか閲覧できないようにする属性を追加することができる。上記の公開範囲に追加する形になるが、ダイレクト投稿はできない。v12以前は「ローカルのみ」と呼ばれていた。またノートにはTwitterのリツイートにあたる「リノート」という機能がある。リツイートと同様にフォロワーに他人のノートあるいは自分のノートを再投稿して拡散したり引用することができる。なおダイレクト投稿,自分以外が作成したフォロワー投稿にリノートすることはできない。RNと略される。

4.3. リアクション
-----------

その他SNSの「いいね」と同様に、MisskeyではノートにUnicodeに準拠した絵文字、または管理者/モデレーターが追加したカスタム絵文字を使って反応することができる。投稿されたノートがMisskeyや絵文字リアクションに対応したサーバーからの場合、その絵文字がノート作成者に通知され、他のユーザーにもノートと一緒に表示される。なお、絵文字リアクションに対応していないソフトウェアではどの絵文字でリアクションしても「お気に入り」として通知・表示される。

4.4. 他の特徴的な機能
-------------

藍Misskeyの看板娘。同名のBotが存在し、挨拶を返す、迷路を生成する、数当てやリバーシの対戦相手になる等の機能がある。その他ある特定のフレーズに反応を返すこともできる。猫耳が生えているが、尻尾は生えていない。ドライブユーザーの投稿したファイルを管理する機能。 投稿に添付したりアカウントのアイコンに設定したりしたファイルはドライブに追加される。ファイルを直接ドライブにアップロードすることも可能。

4.4.1. ウィジェット
-------------

画面の右側などに表示されるウィジェットは、自分好みに自由にカスタマイズすることができる。主なウィジェットに時間、カレンダー、RSSリーダー、付箋などがある。

アンケートノートにアンケートを添付できる。選択肢を2 - 10個設定し、ユーザーが1つ以上の項目に投票する。 アンケートの期限も自由に設定できる。Cat有効にすると、自分の全投稿で「な」と「ナ」、「na」が「にゃ」と「ニャ」、「nya」に変換される。 またアバターの上に猫耳が付く。 無効化すると元に戻る。MFMMarkup language For MisskeyというMarkdown風の構文を投稿やプロフィールに使うことができる。

5. 派生
-----

Dolphinは、Misskeyの派生として2019年10月から開発が始まったオープンソースの分散マイクロブログソフトウェアである。1人もしくは少人数サーバー用途向けとされている。サーバーの構築方法はMisskeyとほぼ同じであるが、ビルドに要するスペックはMisskeyよりも低い。2020年4月3日以降はメンテナンスされていない。

Groundpolisは、Misskeyをベースに開発されていたオープンソースの分散マイクロブログソフトウェアである。海老瀬るちかが開発しており、現在開発中のバージョン「Groundpolis v5」のコードネームは「Shrimpia」である。Misskeyの基本的な機能を残しつつ、絵文字を管理者にリクエストする機能や、絵を描いてそれをノートすることができるペイント機能などが追加され利便性を向上している。

なおGroundpolisはサポートが終了するとしている

FirefishはMisskey v12.119.2から派生して2022年7月に公開されたオープンソースの分散マイクロブログソフトウェアである。Mastodonとの互換性を強化しており、一部のMastodon用クライアントがそのまま使用できる。2023年7月まではCalckeyという名称だった。 各種用語は一般的な単語に変更されている。

FoundKeyはMisskey v12.111.1をベースに開発されているオープンソースの分散マイクロブログソフトウェアである。Misskey Pagesの簡素化や広告機能の削除などの機能改善が行われている。また、2023年7月15日現在は限定的メンテナンス状態となっているため、20人以上のサーバーでの利用は推奨されていない。

6. Mastodonとの違い
---------------

MisskeyもMastodonもActivityPub規格に準拠した分散型SNSであるが、依存するプログラミング言語とライブラリが異なり、APIの互換性もない。思想的にMastodonがTwitterやFacebookなどの中央集権型SNSを批判する立場をとる一方で、当初は分散型SNSとして設計されていなかったMisskeyは反中央集権を志向しているわけではない。

7. 登録アカウントの急増
-------------

中央集権型SNSの一つであるTwitterからの移行先として、マストドンと同じく分散型SNSとして少しずつ注目を集めていた。

2023年7月、Twitterがスクレイピングに対する読み込み回数の極端なAPI制限が組み込まれたことで、活動を狭められた同利用者が他の分散型SNSに移行する中、Misskeyのサーバーの一つである「Misskey.io」を中心にMisskeyの各サーバーに登録する利用者が急増していった。

この流れに対し、コミッションサービスの一つであるSkebは2023年7月14日、Misskey開発チームに対してスポンサーとして参加すると発表している 。

8. 脚注
-----

9. 関連項目
-------

ActivityPub
Mastodon
Fediverse

10. 外部リンク
---------

[1]
[2]