分散SNS Advent Calendar 2018 4日目の記事です。国見小道のブログへようこそおいでくださいました。

Mastodonのブームが2017/04だけでなく2018/08にも起こったことは記憶に新しいところですが、2017年度のような白熱っぷりはなく、Mastodonとしては醸成する期間に入ったのかな~という所感を持っております。また、分散SNSの一つとしてMisskeyがFediverse参加のための第3の選択肢として有力になってまいりました。個人的に注目しているのが、microblog.pubです。Gitリポジトリはこちら。Fediverseの方々から伝え聞く限りではまだまだ発展途上ですが、おひとりさまを焦点としたActivityPubを話すソフトウェアという点ですごく期待を寄せております。

「おひとりさまインスタンス」とは?

冒頭から 「おひとりさまを焦点とした」 という語句を出して困惑している方もおられるかと思いますので、「おひとりさまインスタンス」というものについて解説します。

一言でいうと、「分散SNSのインスタンスを一人だけで使う」 ことです。計算機リソース(1CPU、メモリ1~2GB想定)としては、インスタンスをたててしまえば10~20人程度であれば受け入れられるのですが、そこを敢えてひとりだけで使っていくわけです。 世間一般の考えとしては、新規登録が許容されているインスタンスに登録して、そこの住人としてふるまうと思います。TwitterやFacebookでやってきたように、ですね。

しかし、FediverseというSNSの世界だからこそできることがあります。現在で言えば、ActivityPub (あるいはOStatus) を喋るソフトであれば、「自分がインスタンスを立ててFediverseに参入する」ということが可能なわけです。世間一般の考え方との対比として、自分が管理人になること ができるわけです。

管理人になるということは、インスタンスを好き放題にもてあそべる権利を得るということです。 いわば、自分のインスタンスの「神」になるわけです。神になることによって様々なことができます。当然ながら自分のインスタンス内でしか好き勝手出来ないわけですが、管理人になることでできることが大幅に増えます。サービスという範疇を超えてインフラまでいじれるようになるのが大きな理由のうちの一つです。

これから話すことについて最大限の利益を得るためには、 「インスタンスに入れるのは自分ひとりだけ」というところが大変重要です。 他人は、たとえベストふれんずだとしても、入れてはいけません。botであれば自分の経験向上のために入れてもいいでしょう。使われないローカルタイムラインのにぎやかしにも良いですね。

それでは、「おひとりさまインスタンスでは何が最強か」 、話していきましょう。

大前提「ホームタイムラインを大いに活用せよ」

大規模インスタンスのローカルタイムライン(以下LTL)を見てみましょう。まるで大雨で荒れたガンジス川のようですね。 ここまで人の脳を弄ぶコンテンツはありません。面白い投稿をするユーザーを早々に拾い上げ、退散しましょう。

小~中規模インスタンスのLTLを見てみましょう。そこには 独自の発展を遂げたコミュニケーションが広がっています。これはとても良いことであり、今一歩残念なところでもあります。 なぜかといえば、しっかりとreblogやらboostやらを文脈として自分のタイムラインに作成していかないと、リモートフォロワーから話題の遷移が一切見えません。見せる気がないのであれば別にそれでも全然OKですが、つながりという面では貧弱になっていくでしょう。

どのインスタンスでも起こることですが、インスタンスの住人が突然牙を剥いてくることがあります。 僕はとあるブログ記事を公開した結果、そういったことが起こりました(後日、投稿されるアドベントカレンダー記事にリンクさせます)。そこから、僕はLTL撲滅のスタンスを取ることにしたのです。 普段から僕のアカウントを見ている人なら良くわかると思いますが。

先ほど述べたようにLTLは独自のコミュニケーションが広がっているのと、登録ユーザー全員のPublicな投稿が一覧できます。一覧できるということは、荒れた空気がインスタンス内で伝播することを指します。 リモートフォローであれば該当アカウントをミュートなりブロックなりすることで事なきを得ることができますが、LTLであるとそうはいきません。池に投じられたいくつかの石は、その波紋を広げて複雑に反応します。 まったくフォロー関係にない縁遠い人であってもその波紋に当てられるので、リモート同士の関係よりコミュニケーションの空気感は濁りやすく、澄みにくくなります。

ローカルタイムライン依存はデメリットが強めに出ます。ホームタイムラインを活用しましょう。

そして、ホームタイムラインを最大限に活用したのが、おひとりさまインスタンスってわけです。

インスタンスの汚名をアカウントが被らない

誰しも先入観というのはあると思います。どんなに公正な判断をできる人であっても完全にニュートラルでいられる人間はごく僅かか、もしくは存在しないかもしれませんね。

先入観は所属インスタンスからも当然発生します。

例えば、pixivが立ち上げたインスタンス”Pawoo”のユーザーを前情報なしに見つけた場合、あなたはどう感じるでしょうか?僕であれば、真っ先に「絵師さんかな?そしてどんな特殊性癖をお持ちの変態さんかな?」と思います。

mstdn.jpインスタンスのユーザーを見つけた場合はどうでしょうか?僕はFediverseに長くいすぎたせいで別の見方が出来上がってるんですが、Fediverse初心者だったときは、「Twitter落伍者」「人間が運営してることが見えてない馬鹿が多いな」と思ってました。なおこの先入観は自分にも刺さるものであります。ちなみに今ではmstdn.jpドメインアカウントを見た時の先入観はさらに辛辣になっていて、mstdn.jpからのフォローはFediverse初心者でない限りすぐフォローを返さないようにしています。またフォローを外す可能性もすごく高いです。

おひとりさまインスタンスであれば、そういったインスタンスについての先入観はなくなり、「私自身」を見てもらえるようになります。 かつてどのインスタンスに所属していたかということを気にする人もいるかもしれませんが、少なくとも新しいつながりにおいてはその先入観は発生しにくいでしょう。まあ、「おひとりさまインスタンスを運営している」という先入観はありますが、僕としてはその先入観は好感度を上げる方向に働きます。

ユーザーとしての利点はこれが最も強いでしょう。

ここから下はサーバー管理者としての利点、または立ち位置としての利点が多く上がります。

管理人への遠慮がいらない

「こんなつぶやきしちゃって大丈夫?」「連投とか大丈夫?」「フォローしまくってて重くなっちゃわないかな」。

これらのインスタンス管理人に対する遠慮は、自らが管理人になることで解決します。 自らが管理人になることで、 遠慮といったリミッターをはずし、大いに「自分のスタンス」を展開することができます。

しかし、当たり前のことですが、リモートフォローでのコミュニケーションに害を及ぼしてしまっては元も子もないので、理知的に振舞いましょう。

ローカルタイムラインを自分の意のままにできる

おひとりさまインスタンスでは当然ながらローカルタイムラインが自分一人になります。

ところで、もしオープンインスタンス(新規登録が可能なインスタンス)に登録していた時、インスタンスのローカルルールとして「自作したbotの新規登録は可能だが、可視性を未収載 (unlisted) にすること」というものがあったのではと思います。管理者の思惑としては、公開 (public) にするとLTLがbotの投稿に蝕まれる可能性があるため、未収載による投稿をルールとして掲げているのかなぁと思います。

さて、最初に話したように、おひとりさまインスタンスではLTLが自分一人になるので、寂しいですよね。では、LTLにbotを居座らせましょう。そうです、一人しかいないのだから、蝕まれるなんて感覚とは無縁なのです。 自分の意思でLTLにbotを居座らせられるのです。過剰に投稿されるとしたらbotの機能を制限したり停止したりも思いのままでしょう。計算機リソースと自分の情報処理能力の許される上で、好き放題にLTLをアレンジしていきましょう。あなただけの場所なのですから!

ちなみにですが、可視性をpublicにすることで連合タイムラインには現れます。Mastodonではbotアイコンの付加が可能ですが、これは可視性に影響をもたらしませんので(だよね?)、botアイコンつけても連合TLに現れます。リレーの登場によって連合TLの利便性が上がってきており、特におひとりさま~小規模インスタンスではホームタイムラインの拡充のためにリレーを利用することがあるため、あまりにもbot投稿を連合に垂れ流すとドメインブロックされるかもしれませんので、ほどほどに。

脅威からの防御・セキュリティが最強になる

Mastodonインスタンスと幅広く連合している弊おひとりさまインスタンスでありまして、特にサーバー管理者を重点的にフォローしているため、いろいろなサーバーのいろいろな状況が目の前に届けられてきます。

2018年下半期でよく聞いたのが「スパムアカウント大量登録をくらう」です。 これはオープンインスタンスならではの悩み事でありまして、当然ながら 新規登録を閉じているおひとりさまインスタンスであれば完全に防御できます。

また、セキュリティという観点で言えば、未改造のMastodonでの話で言えば、ユーザー登録にメールアドレスとパスワードが必要です。サーバー管理者は当然ながらユーザーのメールアドレスやパスワードを抱えることになります。不測の事態があった時に、ユーザーのメールアドレスが漏れてしまったら大変ですよね。そこでおひとりさまインスタンスであれば、当然ながら自分のメールアドレスしか漏れないので、仮にデータベースの中身が漏れ出てしまったとしても、自己責任の範囲に被害を留めることが可能です。 「自己責任の範囲に留める」というフレーズはおひとりさまインスタンスを有利たらしめる重要な概念です。

Mastodonに限らない、全般的なサーバーセキュリティガイドラインあしゅふぃさんが作成しています。そのリストの中のいくらかの項目、例えばメールサーバの項や、インスタンス内でのDDoS、(これはサーバーセキュリティとは若干離れるが)悪意のあるユーザーからのモラルハザードなどはおひとりさまインスタンスにするだけで対策が可能です。余計な防御策を張る必要がなくなるのです。

リモート先で脅威を発見し、被害を受けた場合は、インターネット上の別の場所で脅威に遭遇したように然るべき対応をしましょう。さすがにそこまでは守り切れません。

クソみたいなアカウントが入り込まない

上記の「脅威からの防御」と被る部分がありますが、新規登録を受け付けないため、何人たりとも領地を侵すことはありません。

「サーバー管理人は利用者を選ぶことは一切できない」。 この法則が働いているなかでオープンインスタンスを運営する方々は菩薩か何かなのでしょうか。

インスタンスを好き勝手に落としたり立ち上げ直す事ができる

連合先との疎通関係で厄介になってしまうことは多少ありますが(ソフトウェア側の仕組みで守れるようになればいいですね)、自らの領地の中に自分しかいないため、サーバーの稼働を自分の思うがままに操ることができます。

これは、従量課金のサーバーやサービスを利用しているときに大きく効果を発揮します。 自分がSNSを見ない時間帯はサーバーを落とすことによってコストカットが可能になります。オープンインスタンスではまずできない所業です。

また、SNS疲れなどでインスタンスから離れたいときなどにもサーバーを落として強制的にSNSデトックスを達成することもできます。その際、他人のアカウントを巻き込むことなく、バカンスに行くことができます。

好きな絵文字を導入できる

管理者権限があるので、好きな絵文字を導入できます。いちいち管理人にお伺いを立てて入れてもらうような手順をパスできます。

リモート先のアカウントを管理者権限で葬れる

広大なFediverseゆえに、無修正性器画像をネットの海に放流してきたり(実害あり)、無意味に投稿を重ねたりするような激ヤバアカウントが散見されます。 リモートの関係であればキャッシュでやり過ごしたりなどありますが、データベースやキャッシュにすらに一切入れたくない「お気持ち」が発生することもあると思います。そんなときは。管理者権限で該当アカウントのデータを吹っ飛ばしちゃいましょう。これは管理者権限があって為せる業、大いに活用していきましょう。ローカルにユーザーは抱えていないため、合意形成をとる必要もありません。

さて、当然ながらメリットばかりではありません。 デメリット面も話していきます。

初動のコストが高い

冷静に考えれば、SNSするためにわざわざサービス載せるためのサーバーを立てて月額いくらか出費する なんて相当のもの好きでない限りやらないと思います。

ITにそれほど強くない人の場合、分散型SNSを自分で動かすなんて相当難しいと思います。マニュアルがそこそこ充実しているのとサービスごとのリードコミッターがFediverseにいるため、立ち上げる手順について質問することは手軽にできますが、サーバーを立ち上げるときに出くわす用語たちがほぼ未知であった場合はとても苦労すると思います。ちなみにバックエンド中心にIT業界で4年ほど働いている僕ですら1週間かかりました。そのあとの維持にもなかなか苦労しました。最近ではだいぶ安定しておりますが。

サーバーを立ち上げるコストをあまりかけたくない場合はホスティングサービスを利用するのがよいです。 Mastodonではいくらかホスティングサービスがあるため、利用していきましょう。

ただ、ホスティングサービス運営者への中央集権が発生するので、僕はあまり好きではありません。中央集権が発生するならクラウドコンピューティングサービスを利用したほうがまだマシだと考えています。

先述した通り、マニュアルはそこそこ充実しているため、いけそうであれば自分で頑張って建ててみたほうが、おひとりさまインスタンスとしてはより独立性が上がります。インフラストラクチャー管理のスキルもつきますし。

運用のコストが高い

計算機リソースとしてはたったひとりで運用するにはどうしても過剰になります。僕の環境では月3000円かかっておりますが、10~20人は入れると思うので寄付を募ったうえで新規登録を受け付けたほうが当然コストはよくなります。いっそのこと割り勘にしてしまうのもいいかもしれませんね。まあ割り勘に付き合ってくれるユーザーが果たしてどれほどいるのかは気になるところですが。

最初のうちはフォローを充実させにくい

ユーザー発見の方法はシステムのほうでもいくらか用意されていますが、「面白い人をフォローして、その人がreblog/boostするアカウントをさらにフォローする」といったフォロー方法はよく取られている手法かなと思います。おひとりさまインスタンスでは「LTLから面白いアカウントを拾う」というユーザー発見方法が使えない ため、フォロー充実の手札が少なくなるわけです。

なので、あらかじめいろんなインスタンスにアカウントを生やしておき、各所からフォローをしておきます。そして、おひとりさまインスタンスに移行する際にフォローしたアカウントたちを統合すればよいわけです。 ホームもインスタンスによらないカラフルなタイムラインになることでしょう。MastodonではフォローリストをCSVファイルとしてインポート/エクスポートできるので(Pleromaもできるっけ?)、統合はとても簡単です。

なお、誰をフォローすればよいか?という疑問ですが、「インスタンス管理人」をフォローしていくことをお勧めします。 理由としては、

  • インスタンスを立ち上げれる技量と脳みそと熱意を持っている
  • オープンインスタンス運営者の場合、相手方のインスタンスのユーザーを管理人経由で知ることができるかもしれない(LTL文化インスタンスだと叶わぬ願い)
  • 分散型SNSの管理人になるひとはだいたいが変態、それゆえに面白い可能性が高い

などが挙げられます。

さいごに

いかがでしたでしょうか。自前のインスタンスを持って自由に投稿ができ、さらにほかの人とつながりやすいFediverseという環境であるため、シェアを広めたりすることも可能になります。皆さんもぜひ、オープンインスタンス登録による様々な制約から解き放たれて、おひとりさまインスタンスを立ててフォローしあいましょう。「自由」というのがとても感じられて、気持ちがよいですよ。

動かすコストはまだまだ高いですが、microblog.pubといった軽量ソフトも現れてきています。近い将来、メールアドレスとパスワードを設定さえすればおひとりさまインスタンスが勝手に立ち上がる!なんて未来が来たら最高ですね。