何とは言わない天然水飲みたさ

gnusocial や mastodon の哲学

mastodon が急に話題になってきた。 しかし、その哲学についてはあまり理解されていないように感じる。

mastodon や GNU Social は、単なる「ポスト twitter 」ではない。 この記事では、 twitter の根本的な問題や、それに対する mastodon 等の思想を解説する。

キーワードだけ先に書いておこう。

  • federation (連合)
  • decentralization (脱中央集権)
  • オープン (オープンソース、オープンな仕様)

twitter の問題

twitter には、以下のような問題がある。

  • twitter が落ちるとみんな死ぬ
    • 仕組みからして仕方ないけど、そうは言っても致命的
  • ツイートのデータが(基本的に) twitter 社のサーバにしか残らない
    • 外部サービスでの保存や自分のツイートのダウンロードはできるが、「昔TLに流れてきたはずのあのツイートが見付からない」という事例には無力
  • 悪意ある第三者により、アカウントの凍結やツイートの削除の強制などの制限や弾圧を受けることがある
    • えっちな絵を書く人たちが「ツイレディ」と呼ばれる過激派にスパム報告されまくってブロックされる事例とか
    • 違法ではないはずの画像の投稿でも規約違反扱いされたり
    • 運営者による検閲や規制があったら、避ける手段は存在しない
  • 仕様が twitter 社の一存で決まる
    • ユーザの意見は(おそらく、普通は)取り入れられない
    • 開発者は黙って追従するしかない
    • なんならサードパーティのクライアント開発者を締め出したりもする
  • 仕様のみならず、実装(ソースコード)も公開されない
    • 会社なので仕方ないところもあるが、そうはいってもプロプライエタリ
    • たとえば公式の twitter に問題があったとき、ユーザが修正する手段はない
    • 無論改造もできない

これらの問題は、つまるところマイクロブロギングサービスがtwitter という単一のサービスに依存しているところに原因がある。 プラットフォームを単一の運営者が管理していて(中央集権)、逆らえないため、自由が制限されているのである。 そういった自由を SNS のユーザが取り戻すための思想が、 federated social web だ。

Federated social web はどう問題を解決するか

federation とは「連合」である。 federated social web [0] とは、 SNS のサーバを各々が持ったり複数用意することで不要な制約を受けないようにし、それでいてサーバ間で連携することで巨大なひとつの SNS として利用できるようにするという思想であり、またその思想が目指すネットワークサービスのことである。

この思想は、先に挙げた twitter の問題を以下のように解決する。

問題 解決
twitter が落ちると皆死ぬ サーバはコミュニティや個人で別々になっており、道連れで死んだり断絶が発生することはない
ツイートが twitter のサーバにしか残らない

notice (ツイート相当の情報)は、受信者のアカウントのあるサーバ全てで複製して保存される。 発信者のサーバが死んでも、受信者のサーバには情報が残るので、リンクが切れて参照が潰れることは避けられる。

自分の notice だけでなく、自分の TL に流れてきたすべての notice が、受信者のサーバに保存される。

悪意ある第三者により、アカウントの凍結やツイートの削除の強制などの制限や弾圧を受けることがある

サーバの運営者のポリシーによる。 たとえば政治的な主張を発信するなら、政治的な主張を弾圧しないようなサーバでアカウントを用意すればいい。 えっちな画像を投稿したければ、そういった画像に対して理解があり過剰に反応しない運営者のサーバにアカウントを用意すればいい。

他人を完全に信用しなくとも、自分でインスタンス(サーバ)を運営し、自分でそこにアカウントを作ることである。 これなら、検閲や BAN もない。

仕様が twitter 社の一存で決まる 国際的な組織 (W3C 等)に管理されたオープンな(公開されていて閲覧に制限のない)仕様が定められている。 議論も行われる。
仕様のみならず、実装(ソースコード)も公開されない

オープンソースである。 実装の詳細も公開されるし、もし不満があれば改造して使ったりすることもできる。

プラグイン等の機能もある場合があり、 twitter 連携などいろいろな機能の追加もできる。

GNU Social とは、 mastodon とは何か

GNU Socialmastodon は、 OStatus というプロトコル(通信やデータの規格)を実装した、 federated social web のための web サービス、またそのためのアプリケーションである。

OStatus はオープンな(公開された)仕様であり、 twitter のように運営者の一存で仕様が変化したり、また隠された仕様なども存在しない。 よって、 OStatus を実装したアプリケーションは誰でも開発することができる。

mastodon は A GNU Social-compatible microblogging server と説明されているが、つまりこれは OStatus を実装しているということである。 ただそれだけであるが、つまり公開された仕様によっているということなので、全く別で開発された互換サービスと連携できる。

連合を作る

GNU Social 互換サービスを運用しているインスタンス(サーバ)には、たとえば有名なところでは、以下のようなものがある。

複数のインスタンスがあるが、問題ない。 フォローしたいアカウントのページを開き、「リモートフォロー」などのボタンを押せば、自分の居るのとは別のインスタンスのアカウントもフォローできる。 実際、私は自分のサーバに立てたインスタンスの gnusocial.cardina1.red にアカウントを持っているが、そこから他のインスタンス(上に挙げたようなもの)のアカウントもフォローしている。

このように、他の誰かでなく、信頼できる人(自分でもいい)の運用するインスタンスに居ることで、中央集権された自由のないサービスから解放されようというのが、 GNU Social や mastodon が twitter と本質的に違うところである。

巷の記事、紹介

誤解や無理解

最近急に話題になった mastodon だが、 ASCII.jp の記事「ASCII.jp:Twitterのライバル? 実は、新しい「マストドン」(Mastodon)とは!|遠藤諭のプログラミング+日記」はどうにも mastodon の思想がよく理解されないまま書かれているように感じる。

たとえば、以下のような記述があった。

Twitterは、どこまでもだだっ広くて、なんの垣根もない草原のような感じだった。それに対して、Mastodonは、土地に根差して活動しやすくなっている。ちょうど、なんの制約もなく空を飛んでつぶやいているTweet(さえずる)と、集団をつくってはToot(吠える)の違いだろうか?

mastodon は、それぞれが自身や同士のためのインスタンスを立てやすい [1] というのは事実だが、「土地に根差して活動しやすく〜」っというのは見方が偏っている。 似た人々が集まるのは、自分たちに理解のある運営者のインスタンスに集まることが自分たちの自由のために重要だからであって、フォロー関係がインスタンスを跨げる以上、同じ趣味の人々が同じインスタンスに集まることはあまり意味がない。

たとえば、 Twitter にあてはめたらトランプ陣営と非トランプ陣営で真っ二つのインスタンスの連邦ができそうである。

中央集権的なサービスの問題は、「トランプ陣営」だとか「非トランプ陣営」などといった政治的主張や思想などが(スパブロ攻撃等で)弾圧され、言論の自由が奪われかねないことにある。 Federated social web 流の考えかたであれば、政治的主張が弾圧されず積極的に議論ができるような、つまり「政治的な主張や議論を積極的に交わせるインスタンス」が立つだろう。 (無論、陣営ごとにインスタンスが立つこともあるかもしれないが、内々に篭って外と隔絶するようなやりかたは、 federation を真っ向から否定するものであるし、 GNU Social や mustodon の目指すところの反対である。)

そもそもこの記事では decentralization (脱中央集権)の考え方に触れておらず、あまりに表面的な紹介である。 繰り返し言うが、 mastodon は単なる twitter クローンやちょっと良くなった代替などではない。

ITmedia の記事は良い

ITmedia NEWSの記事「ポストTwitter? 急速に流行中「マストドン」とは - ITmedia NEWS」は良い記事であるといえるだろう。

Twitterとの大きな違いは、サイトが1つではなく複数に分散していることだ。
Rochkoさんは「Mastodonは分散化したプラットフォームであり、コミュニケーションが単一の企業に独占されるリスクを避けられる」と説明。 Twitterの弱点をカバーする“ポストTwitter”を意識して制作したようだ。

その通りである。 mastodon (や互換サービス)の目指すところは、脱中央集権と federation (連合)による分散プラットフォームである。