マストドン (ミニブログ)

マストドン (Mastodon) はミニブログサービスを提供するための自由ソフトウェア、またはこれが提供する連合型のソーシャルネットワークサービスである。開発者はドイツのオイゲン・ロホコ()。「脱中央集権型」 (decentralized) のマストドンのサーバーはだれでも自由に運用する事が可能であり、利用者は通常このサーバーの一つを選んで所属するが、異なるサーバーに属する利用者間のコミュニケーションも容易である。

 概要 

サービスとしてのマストドンは短文投稿型のSNSである。WebUIは、Twitter用のクライアントTweetDeckに類似した外観を持ち、画面は複数のカラムで分割された構成である。

マストドンでは利用者の投稿する短文は「トゥート」と呼ばれ、500文字の制限がある。他の利用者を「フォロー」することで、その利用者の投稿を「ホームタイムライン」と呼ばれるカラム上で読むことができるようになる点は先行サービスと同様である。トゥートの閲覧に関する制限導入が可能なのも同じだが、それらについてより細かい調整が可能となっている（トゥートとプライバシー機能を参照）。

サーバーは複数の利用者がぶら下がる結節点（ノード）となり、サーバー間はActivityPubを用いて通信を行う。こうしたマストドンのネットワークは電子メールのそれに類似している。電子メール同様、利用者は自分とは別のサーバーに属する利用者と交流が可能である。他のサーバーへと利用者がアカウントを移行させるための機能も提供されている。

「中央集権型」のサービスは全ての利用者は単一の管理者（Twitter, Inc.など）が運営するサーバーにログインする。サービス運営者はソースコードを公開しておらず、ほかの管理者が同一サービスを運営していることは無く、クライアントソフトも運営者を切り替える機能は搭載していない。

マストドンは管理者も設置場所も異なる多数のサーバーで運用され、利用者は自分自身でサーバーを選択するか、自らサーバーを開設し、アカウントを作成して、これにログインする。管理者は自身のインスタンスを自由に操作出来る。APIは広く公開されており、クライアントや関連アプリケーションの製作が単一の管理者によって制限されることはない。

バージョンアップに際し、運用するサーバーは管理者の任意のタイミングにバージョンアップが可能となっている。そのため、バージョンが異なるサーバー間や独自で変更を加えているサーバーとの間で不具合が生じる場合もある。

AGPL-3.0に基づき、各サーバーによる独自の改良が可能とされ、企業向けツールの土台としても利用されている。#使用技術も参照。

名前について、GitHubで公開されているFAQにおいて、ロホコは「私は同名のプログレッシブバンドのファンで、そこからマストドンという動物に興味を持つようになった。この動物とマストドンという名前は大変クールであると考えた」としている。

 利用者とサーバー 
Twitterのような中央集権型のサービスであれば利用者はアカウントを作成するだけでサービスを利用できるが、マストドンの場合、利用者は一般的には自分が所属するサーバーを決めてそこにアカウントを作成する必要がある。サーバーを設置するための特別な資格や権限は必要ないため、自分で使用するためのサーバーを新たに設置する事もできる。2017年4月現在、500以上のサーバーが運用されている。

その仕組み上、悪意あるサーバーが自身に登録した利用者を攻撃する・情報を悪用するといった可能性は否定できずこれを防ぐことは困難である。マストドンは信頼できるサーバーでアカウント作成を呼び掛けている。

マストドンのネットワーク全体には利用規約に相当するものは存在しない。その代わり、個々のサーバーの管理者は自身のサーバーの利用者に対し利用規約を設定し、これに違反したアカウントを削除する事ができる。各サーバーは自身のポリシーに合わない投稿が行われるサーバーとの通信を遮断できる。ロホコは「コミュニティが密接で小規模であるほど、その中で有害な振る舞いは隠蔽されにくい」と述べており、このような小規模コミュニティによるサーバーが自身のポリシーに近い他のサーバーと連合を作ることによって、中央集権型のサービスが支払わざるを得ない、ハラスメントなどの不正行為の対策に割く莫大なコストを削減できると主張している。不正行為そのものを目的としたサーバーが登場する可能性についても考慮されており、各インスタンスは不正サーバーとの通信を遮断する事で自身に属する利用者を保護できる。こうした連合型のSNS特有の不正行為対策とは別に、Twitterのブロックやスパム通報に相当する、ハラスメントの被害者などが利用するための自衛手段も用意されている。

バージョン2.0.0から、実装されたカスタム絵文字の機能でサーバー内の雰囲気などに合わせて自由に絵文字を増やすことが可能になる、分散型特有の機能が追加された。Twitterでも使用されている様な「フォローしているアカウントのリスト機能」が追加された。

 所属インスタンス移行 
マストドンではユーザー所属サーバーの移行、すなわちフォロー/フォロワー等を引き継いだ引っ越しが可能である。

SNSのユーザー情報（例: フォロー/フォロワー、list）は所属する各々のサービス・サーバーがそれぞれ管理し、異なるサービス・サーバーで新規アカウントを作成するとユーザー情報は継承されない。マストドンもユーザーは1つのサーバー（インスタンス）に所属するが、マストドンは所属するインスタンスの引っ越し、すなわちユーザー情報を継承して所属インスタンス移行が可能である。

技術的にActivity Vocabularyで定義される"Move" activityを用い、旧所属インスタンスと新所属インスタンスがfollowerインスタンスを連携し、旧所属アカウントから新所属アカウントへ自動変更されてフォロワーの引継ぎが可能になる。

 トゥートとプライバシー機能 
利用者は自分のトゥート1つ1つに対し「公開」するか否かを設定できる。利用者の投稿した公開トゥートは、自身がフォローした利用者のトゥートが表示される「ホームタイムライン」と呼ばれるカラムとは別の、「公開タイムライン」と呼ばれるカラムにも集約される。公開タイムラインには「ローカルタイムライン (Local timeline)」と「連合タイムライン (Federated timeline)」の二種類が存在している。ローカルタイムラインではそのサーバーに所属している全利用者の公開トゥートが表示される。一方連合タイムラインではサーバーが「知っている」全ての公開トゥートが表示される。これは「同一サーバーの全利用者の公開トゥート」・「同一サーバーの利用者がフォローしている(他インスタンスの)全利用者の公開トゥート」を意味する。

利用者はトゥートを投稿する際、「公開 (Public)」・「未収載 (Unlisted)」・「フォロワー限定 (Followers-only)」・「ダイレクト (Direct)」の4段階のプライバシーレベルから一つを選択する。先に述べた通り「公開」に設定したトゥートは公開タイムラインとホームタイムラインの両方に表示される。「未収載」のトゥートは、投稿者のプロフィール画面などからだれでも閲覧できるという点では公開されていることになるが、こちらについては「公開」とは異なり公開タイムラインには集約されない。フォロワー限定とダイレクトは更に閲覧できる利用者の範囲を狭め、前者は利用者のフォロワーに、後者は指定した利用者に閲覧を限定する。

 コンテンツ警告とNSFW 
封切りされたばかりの映画の核心(いわゆる"ネタバレ")・閲覧者に不快感を及ぼしうる性的あるいはグロテスクな内容など、誰の目に触れても問題ないとは言えない投稿を行う際、投稿者本人が閲覧者に配慮するための機能として、マストドンは「コンテンツ警告 (CW, Content Warning)」と「NSFW (Not Safe For Work)」の2つを提供している。

コンテンツ警告を使用すると、投稿者が自由に設定できる警告文と本文からなるトゥートは本文が非表示の状態で他の利用者に表示され、「もっと見る (SHOW MORE)」と書かれたボタンをクリックした閲覧者にのみ隠されていた本文が表示される。

画像や動画などのトゥートに添付されたサブコンテンツを非表示にするための機能がNSFWである。利用者がファイルを添付した後新たに出現する目のマーク、あるいは「NSFW」と記されているボタンを押すと、投稿されたサブコンテンツは閲覧者がクリックするまで非表示の状態となる。

トゥート本文とサブコンテンツの両者を隠したい場合、NSFWとコンテンツ警告を同時に使用する事も出来る。サブコンテンツ付きの投稿にコンテンツ警告を使用すると、サブコンテンツにも自動でNSFWが適用される。

 承認制アカウント機能 
自分のアカウントへのフォローを承認制にできる機能である。承認制アカウントはプロフィールのユーザー名の横に鍵のマークが表示される。承認制アカウントをフォローしようとすると「フォローリクエスト」が送られ、当該アカウントがフォローリクエストを承認することでフォローが成立する。

この機能、またはこの機能を有効にしているアカウントは俗に「鍵垢」とも呼ばれている。ただしこれは、例えばTwitterの"鍵垢"が「フォローを承認制にする」他に「フォロワーにならないとその投稿を見ることができない」機能でもあるのに対して、マストドンの"鍵垢"は単に「フォローを承認制にする」のみの機能でしかない。前述のように投稿範囲を指定することが必要である。これは逆に言えば、マストドンでは「通常のアカウントだがフォロワー限定の投稿をする」「"鍵垢"だが公開投稿をする」といったTwitterではできない芸当が可能であることを意味する。

 使用技術 
サーバーサイドの言語としてRubyとJavaScript (Node.js)、データベースとしてPostgreSQLとRedisを使用。フレームワークとしてサーバーサイドにはRuby on Railsが、フロントエンドにはReact.jsとReduxが使用されている。サーバー間の通信プロトコルにはActivityPubが使用されているため、通信はマストドンのサーバー間に限定されず、GNU socialやPleromaのような同標準に準拠した他のミニブログのサーバーと相互運用可能となっている。ただしActivityPubはあくまでサーバー間通信を規定するプロトコルであり、クライアントAPIの互換性は保証しない。GNU socialのクライアントでマストドンのサーバーにログインする事はできない。

かつては通信プロトコルとしてOStatusが使用されていた。バージョン1.6.0からActivityPubへ置き換えが開始、バージョン2.0.0からは公開範囲が非公開またはダイレクトであるトゥートがOStatusに配信されない制限が設けられた。バージョン3.0.0でOstatusサポートは廃止された。

 オープンソースによる開発 
前述の通り、マストドンのライセンスはGNU Affero General Public LicenseでGitHubで公開されており、各サーバーがライセンスに基づき、独自に改良することが可能である。pixivが運営するPawooに実装されたプロフィールページへトゥートをピン留めする機能がマストドン本体に取り込まれるなど、サーバーの独自機能だったものが、マストドンとしての機能に発展することがある。

 アカウント数の歴史 
マストドンが最初に公開されたのは2016年の10月であったが、アカウント数が目立った増加傾向を示したのは2017年の3月末から4月初頭にかけてのことであった。2017年4月7日、The Vergeは「現段階の［マストドン全体の］コミュニティは小規模なものであり、Twitterを続けている人を引き付けるほどの個性を未だ確立していない」と評した。アカウント @mastodonusercount@social.lou.lt はマストドンの各インスタンスが自己申告したアカウント数を自動的に集計して公表している。これによれば4月7日の時点ではマストドン全体のアカウント数は約10万であったが、4月13日には20万アカウント、4月21日には40万アカウントを突破した。

日本においては、2017年4月ごろ日本のサーバーで著名だった「mstdn.jp」の運営者が、ドワンゴに入社するニュースとともに、niconicoで「friends.nico」のサーバー制作の発表に含む形でマストドンが紹介されたことで広まった。同じく日本で利用者数が多いPixivでも「Pawoo」サーバーが制作、画像関連の機能が強化され、Twitterでのアカウント凍結で画像投稿に不自由していたユーザーも取りこむ形で利用者が増大していった。どちらも各アカウントからの認証登録が可能で、

TwitterのAPI使用条件が厳格化されて、ストリーミング機能が実装されていたUser Streams APIが廃止され、サードパーティー製のアプリが使用不能になることや、AIによる判断で誤ったアカウント凍結の大量発生・凍結基準の厳格化による一般利用者の永久凍結が発生したことから、2018年8月15日午後から16日の午前にかけて、Twitter利用者の一部がマストドンの（大規模）サーバーへ流入した。

2019年2月25日にTwitterの禁止規約の変更・検閲の強化に伴い、再度流入先として注目を集めた。

2022年10月27日にイーロン・マスクがTwitter社の買収を完了したことに対し、既存ユーザーが今後の運営を懸念してマストドンへと移行する人が激増した。10月27日 - 11月3日の間に全体のサーバーで199,430名、新たに建てられたサーバーが437個であることをマストドン創始者のEugenが公表した。2023年7月初旬に行われたTwitterの閲覧制限の施策に反発した同ユーザーの流れを受けて、流入した登録者がさらに増大した。

 沿革 
 2016年10月5日: オイゲン・ロホコがマストドン初のインスタンス「mastodon.social」を開設
 2017年4月4日: Valentin Ouvrardが、「mastodon.cloud」を開設
 2017年4月11日: nullkal（ぬるかる）が、日本初のインスタンス「mstdn.jp」を開設
 2017年4月14日: ピクシブ株式会社がインスタンス「Pawoo」を開設
 2017年4月15日:「mstdn.jp」公開から14時間でユーザー数が3万人を突破
 2017年4月16日:「mstdn.jp」のユーザー数がMastodonのインスタンスの中で世界一位になる。
 2017年4月17日:「Pawoo」のユーザー数がMastodonのインスタンスの中で世界一位になる。
 2017年4月19日: 株式会社ドワンゴがインスタンス「friends.nico」を開設
 2018年8月15日: Twitter社のUser Streams APIが廃止され、アクティブユーザーが急増する。
 2018年10月1日:「mstdn.jp」の運営がnullkal（ぬるかる）からきぼうソフトに譲渡される。
 2018年12月7日:「mastodon.cloud」の運営が合同会社きぼうソフトに譲渡される。
 2019年4月10日: サービス終了が発表された「friends.nico」の受け皿として「Best Friends」が開設。
 2019年4月28日:「friends.nico」のサービスが終了。
 2019年7月26日:「mstdn.jp」及び「mastodon.cloud」の運営が合同会社きぼうソフトから合同会社分散型ソーシャルネットワーク機構に譲渡される。
 2019年12月2日: ピクシブが「Pawoo」をクロスゲートへ譲渡し運営もラッセルに移行。
2020年6月30日:「mstdn.jp」と「mastodon.cloud」がアメリカ合衆国のSujitechに譲渡される。当初は同日にサービス終了予定だった。
2022年12月21日: ラッセルが「Pawoo」をThe Social Coop Limitedへ譲渡。