Misskey

**Misskey**（ミスキー）は、分散型ミニブログ用のオープンソースソフトウェアである。**syuilo**（しゅいろ）のハンドルネームで活動している日本の開発者、篠田 英司（しのだ えいじ、1997年12月 - ）が立ち上げた**Misskey Project**によって開発されている。

## 概要
Misskeyは、ActivityPubに対応した分散型SNSソフトウェアである。MisskeyのソースコードはAGPL 3.0ライセンスで公開されており、すなわちオープンソースである。

Misskeyは他の分散型SNSと同様に、管理者や設置場所の異なるサーバーが複数存在し、それらがActivityPubを介して通信することでFediverseを実現している。利用者は既存のサーバーに登録するか、あるいは自身でサーバーを開設することによってこれに参加することができる。

Misskeyという名称は、作者のsyuiloが聴いていたMay'nの楽曲「Brain Diver」の歌詞から採られている。マスコットキャラクターは制服姿の猫娘である「藍」。

## 開発
Misskeyの開発は個人によって行われている。開発者は当初はsyuiloのみであったが、現在では複数のメンバーによってメンテナンスされている。

MisskeyはGitHub上でソースコードを公開しており、GitHubアカウントを作成して開発に参加することができる。開発への貢献によって報奨金が得られる制度もある。フォークを行い自分で改造することも自由である。ただし、改造したMisskeyでサーバーを運営する場合は、AGPL 3.0に基づいて改造後のソースコードを公開する義務がある。翻訳はCrowdin上で行われている。

また、APIが公開されているので、これを利用してMisskeyクライアントを作成することもできる。実際に開発されているクライアントについては#サードパーティ製クライアントの節を参照。

Misskeyの開発はNode.jsを使って行われている。フロントエンド・バックエンドにはいずれもTypeScriptが用いられている。データベースとしてPostgreSQLを使用し、フロントエンドにはVue.jsが採用されている。

サーバー間の通信プロトコルにはActivityPubが使用されているため、Misskeyのサーバー間だけでなく、MastodonやPleromaなど同標準に準拠した他のミニブログのサーバーと通信可能となっている。

## 歴史
2014年、高校生であったsyuiloによって開発が開始される。当初はいわゆる掲示板サービスであったが、フォローしたアカウントの投稿が流れてくるタイムライン機能が実装されると人気を博したため、現在のマイクロブログのような方向性へ発展していった。

2018年、分散SNSプロトコルであるActivityPubに対応したコードネームをnighthikeと改称。

2019年4月14日、バージョン11.0.0をリリース。データベースソフトウェアにPostgreSQLを採用した。コードネームをdaybreakと改称。2020年2月6日にバージョン12.0.0をリリース。コードネームはindigoとなり、クライアントのデザインの大幅な変更が行われた。2023年1月16日にバージョン13.0.0をリリースし、コードネームはnasubiとなる。2023年9月24日にバージョン2023.9.0をリリース。このバージョンからバージョニング方法がセマンティックバージョニングからカレンダーバージョニングに変更された。コードネームの改称は行われていない。

### 登録アカウントの急増
中央集権型SNSの一つであるTwitterからの移行先として、Mastodonと同じく分散型SNSとして少しずつ注目を集めていた。

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

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

## 機能
### ノート
Misskeyでは投稿のことを「ノート」と呼んでいる。ノートの字数制限は最大3000文字で、アンケートや画像、動画、音声など任意のファイルを添付することができる。

また、他のノートを引用もしくは新しいノートとして共有できる「リノート」という機能がある。なおダイレクト投稿、自分以外が作成したフォロワー投稿にリノートすることはできない。

ノートには公開範囲を指定することができ、範囲によって投稿を閲覧できるユーザーを限定することができる。

これらの公開範囲に加えて、同じサーバー内のユーザーしか閲覧できないようにする「連合なし」属性を追加することができる。上記の公開範囲に追加する形になるが、ダイレクト投稿に対しては追加できない。

また、ノートの内容を閲覧者のアクションなしに閲覧することができないCW（Contents Warning）機能もあり、ネタバレ防止などに活用できる。

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

Misskeyアカウントを新たに作成した時点では誰にもフォローされていない状態であるが、ノートを投稿すれば同じサーバーのローカルタイムラインに流れる。

### 絵文字
Misskeyでは、Unicodeに準拠した絵文字や、サーバー毎に追加されているカスタム絵文字をノートに貼り付けることができる。また、DiscordやSlackのようにそれらの絵文字を使って他のユーザーのノートに反応することができる。

投稿されたノートがMisskeyや絵文字リアクションに対応したサーバーからの場合、そのリアクション（いわゆる「いいね」に相当）がノート作成者に通知され、他のユーザーにもノートと一緒に表示される。なお、絵文字リアクションに対応していないソフトウェア（無改造のMastodonなど）ではどの絵文字でリアクションしても「お気に入り」として通知・表示される。

### ドライブ
ユーザーの投稿したファイルを管理する機能。投稿に添付したりアカウントのアイコンに設定したりしたファイルはドライブに追加される。ファイルを直接ドライブにアップロードすることも可能。

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

### MFM
Markup language For Misskey（MFM）というMarkdown風のマークアップ言語を投稿やプロフィールに使うことができる。

### 実績
Misskey内でユーザーが特定のアクションを行うことで実績を得ることができる。syuiloにより仕込まれたイースターエッグも存在する。

### Play
syuiloにより開発されたプログラミング言語「AiScript」を用いて動的なコンテンツ「Misskey Play」を作成することができ、実際にRPGなどのゲームがユーザーにより制作されている。

### 承認制フォロー
フォローを承認制に設定することで、送られてきたフォローリクエストから、フォローを許可するかどうかを決定することができる。この際に、ノートの公開範囲を「フォロワーのみ」に設定することで、Twitterにおける非公開アカウントのような運用が可能となる。フォローを承認制にしていても、全世界に公開される「パブリック」なノートを投稿することができる。

### ゲーム
同じサーバーに登録しているMisskeyユーザーとリバーシ対戦をすることができる。スイカゲーム系の「バブルゲーム」で同じサーバーのユーザーとランキングで競い合うこともできる。

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

## サーバー
Misskeyのサーバーは約1000個ある。Misskeyの開発チームはかつて公式のサーバーである「Misskey.xyz」を運営していたが、2018年8月頃にDDoS攻撃を受けた影響で閉鎖された。後継のサーバーとして「Misskey.io」が運営されているが、これは開発チームとは独立した組織によりメンテナンスされている。

Misskey.ioの他に、2次元コンテンツ好きの人向けのサーバーである「にじみす.moe」や、カスタム絵文字が充実した「すしすきー」、小説好き向けの「ノベルスキー」やイラスト好きが集まる「お絵かきすきー」などがある。また、株式会社パルミーによるサーバーや、GMOペパボ株式会社によるサーバー、琉球大学工学部知能情報コースによるサーバーなど、一般の組織により開設されたMisskeyサーバーも存在する。

### Misskey.io

**Misskey.io**は、株式会社MisskeyHQが運営するMisskeyサーバーである。2019年4月15日に運営を開始し、2023年8月8日に株式会社MisskeyHQとして法人化した。2024年2月時点で45万人超のユーザーが登録しており、数あるMisskeyサーバーの中で規模が最も大きい。運営資金は月数万ドルの寄付金に依っている。管理者は**村上さん**（むらかみさん）というペンネームで活動している衛藤 吉樹（えとう よしき）。

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

Misskeyサーバーの構築にはDocker、もしくはbashスクリプトを使用する方法が公式に紹介されている。

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

## フォーク
Misskeyはオープンソースであるため多数のフォークが存在する。

**Firefish**は2022年から開発されていたMisskeyフォーク。Mastodonとの互換性を強化しており、一部のMastodon用クライアントがそのまま使用できる。2023年7月まではCalckeyという名称であった。「ノート」などの各種用語は、「ポスト」といったより一般的な単語に変更されている。2024年9月5日にリリースされたv20240909よりメンテナンスモードに入り、年末にサポートを終了することが発表された。

**FoundKey**はドイツの開発者Johann150により開発されているMisskeyフォークである。Johann150はかつてMisskey本家の開発に参加していたが、開発の議論においては主に日本語が使われるために言語の壁を感じ、他の技術的な理由も相まってフォーク開発を開始した。Misskey Pagesの簡素化や広告機能の削除などの機能改善が行われている。また、2023年7月15日現在は限定的メンテナンス状態となっているため、20人以上のサーバーでの利用は推奨されていない。

**Sharkey**はTransFem.orgによって2023年から開発されているMisskeyフォーク。投稿の編集機能やMastodon APIへの対応などがされている。

## サードパーティ製クライアント
Misskeyをサポートしているサードパーティ製のクライアントとして、Android向けのMilktea、iOS向けのMissCatなどが開発されている。これらのクライアントが対応するのはMisskeyだけとは限らず、MastodonやBlueskyにも対応したZonePaneなどもある。

なお、Misskeyは公式にiOSもしくはAndroid向けのアプリを提供しておらず、PWAとしてインストールできるWebクライアントの利用を推奨している。

## 脚注

### 注釈

### 出典

## 関連項目
* ActivityPub
* Fediverse
* Mastodon

## 外部リンク
* 
* Misskey Hub
* 藍.moe