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

出典: フリー百科事典『ウィキペディア(Wikipedia)』
移動先: 案内検索
Mastodon
マストドンのロゴ
Mastodon desktop web screenshot.png
開発元 オイゲン・ロチコ
初版 2016年10月5日(13か月前) (2016-10-05[1]
最新版 2.0.0 - 2017年10月19日(53日前) (2017-10-19[2][±]
リポジトリ github.com/tootsuite/mastodon
プログラミング言語 Ruby, JavaScript
対応OS Linux
対応言語 英語、日本語、ドイツ語、ウクライナ語、フランス語、スペイン語、ポルトガル語
サポート状況 現行
種別 ミニブログ
ライセンス Affero General Public License
公式サイト joinmastodon.org
テンプレートを表示

マストドン (Mastodon) はミニブログサービスを提供するためのフリーソフトウェア、またはこれが提供する連合型のソーシャルネットワークサービスである。「脱中央集権型」 (decentralized) のマストドンのサーバーはだれでも自由に運用する事が可能であり、利用者は通常このサーバーの一つを選んで所属するが、異なるサーバーに属する利用者間のコミュニケーションも容易である。開発者はドイツのプログラマーであるオイゲン・ロチコ (Eugen Rochko)。名前について、 GitHub で公開されている FAQ において、ロチコは「私は同名のプログレッシブバンドのファンで、そこからマストドンという動物に興味を持つようになった。この動物とマストドンという名前は大変クールであると考えた」としている[3]

概要[編集]

サービスとしてのマストドンはtwitterによく似た短文投稿型のSNSである。twitter 用のクライアント TweetDeck に類似した外観を持ち、画面は複数のカラムによって分割された構成(当記事の画像を参照)になっている[4]。マストドンでは利用者の投稿する短文は「トゥート」と呼ばれており、500文字の制限がある。他の利用者を「フォロー」することで、その利用者の投稿を「ホームタイムライン」と呼ばれるカラム上で読むことができるようになる点は先行サービスと同様である。トゥートの閲覧に関する制限導入が可能なのも同じだが、それらについてはより細かい調整が可能となっている(トゥートとプライバシー機能を参照)。

「中央集権型」のサービスでは全ての利用者は (少なくとも見た目上は) 一つのサーバーにログインするのに対し、マストドンでは管理者も設置場所も異なる多数のサーバーが運用されており、利用者は自分自身でサーバーを選んでアカウントを作成し、これにログインする事になる。マストドンではこのサーバーの事を「インスタンス」と呼ぶ。インスタンスは複数の利用者がぶら下がる分岐点 (ノード) となり、インスタンス間はActivityPub(バージョン1.6.0以前はOStatus)を用いて通信を行う。こうしたマストドンのネットワークは電子メールのそれに類似している。電子メール同様、利用者は自分とは別のインスタンスに属する利用者と交流が可能である。また、他のインスタンスへと利用者がアカウントを移行させるための機能も提供されている。

元がソフトウェアとしての配布であるため、サーバーや技術公開が必須だが、各インスタンスによる独自の改良が可能となっている。これにより、企業向けツールの土台として利用できる。#使用技術も参照。

利用者とインスタンス[編集]

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

その仕組み上、悪意あるインスタンスが自身に登録した利用者を攻撃する・情報を悪用するといった可能性は否定できずこれを防ぐことは困難である。マストドンは信頼できるインスタンスにアカウントを作成するよう呼び掛けている。開発者のロチコ本人が運用するインスタンス mastodon.social は現在の所募集を締め切っている[いつ?]が、彼は icosahedron.website と social.tchncs.de を信頼のおける人物が運営しているインスタンスとして推薦している[6]

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

バージョン2.0.0より、実装されたカスタム絵文字の機能でインスタンス内の雰囲気などに合わせて自由に絵文字を増やすことができるようになる、分散型特有の機能が追加された。

トゥートとプライバシー機能[編集]

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

投稿前にプライバシーレベルを選択する

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

コンテンツ警告とNSFW[編集]

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

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

コンテンツ警告はトゥート本文を隠すためだけの機能であり、画像や動画などのトゥートに添付されたサブコンテンツについてはそのまま表示されてしまう。サブコンテンツを非表示にするための機能がNSFW英語版[† 2]である。利用者がファイルを添付した後新たに出現する「NSFW」と記されたボタンを押すと、投稿されたサブコンテンツは閲覧者がクリックするまで非表示の状態となる。トゥート本文とサブコンテンツの両者を隠したい場合、NSFWとコンテンツ警告を同時に使用する事も出来る。

使用技術[編集]

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

OStatusはバージョン1.6.0からW3Cが策定したActivityPubへの置き換えが始まった。バージョン2.0.0からはOStatusは廃止され、インスタンス間の通信プロトコルはActivityPubのみが使用されるようになった。

オープンソースによる開発[編集]

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

アカウント数の増加[編集]

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

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

マストドン会議およびマストドンに関する出来事[編集]

脚注[編集]

  1. ^ Twitterで言うところの「タイムライン」はマストドンでは「公開タイムライン」ではなく「ホームタイムライン」に相当する。
  2. ^ Not safe for work、「職場で見るのは危険な」。アダルトコンテンツなどを指す場合に用いられる。

出典[編集]

  1. ^ Project announcement on Hacker News”. 2017年4月14日閲覧。
  2. ^ https://github.com/tootsuite/mastodon/releases
  3. ^ a b Frequently Asked Questions
  4. ^ マストドンの場合は、投稿用、ユーザーがフォローしたアカウントのトゥートを表示するホーム、ブーストなどユーザーへの通知、そのほかローカルタイムラインや連合タイムラインなどに切り替えるマルチカラムで構成
  5. ^ Scaling Mastodon
  6. ^ Welcome to Mastodon
  7. ^ Learning from Twitter’s mistakes
  8. ^ Mastodon User's Guide - The Federated Timeline
  9. ^ - Mastodon User's Guide - toot privacy
  10. ^ tootsuite - mastodon
  11. ^ What Is Mastodon and Will It Kill Twitter?
  12. ^ A beginner's guide to Mastodon, the hot new open-source Twitter clone”. The Verge (2017年4月7日). 2017年4月8日閲覧。
  13. ^ 2017-04-07のアカウント数
  14. ^ 2017-04-13のアカウント数
  15. ^ 2017-04-21のアカウント数
  16. ^ Pawoo運営が改良に熱心なためマストドンの制作関連から技術が取り入れられることがある。

外部リンク[編集]