「identi.ca」を含む日記 RSS

はてなキーワード: identi.caとは

2019-06-26

Mastodonから知る分散SNS本質

インターネット日常的に利用する諸氏はMastodonというマイクロブログサービスを知っているだろう。

ある程度のIT知識を持った者ならば自身マイクロブログサービスを始められるオープンソースソフトウェアだ。

2017年当時学生だったハンドルネームnullkalがmstdn.jpというドメインを取得しMastodonサーバーを開設したことによって日本で注目を浴びた。

これらは一部の真実表現している。

しかし、本質ではない。一部の真実表現しているので誤りでは決してないが、本質かと言われれば決してそうではないと返せる。

Mastodon(と分散SNS)という言葉存在を知る多くの人々が本質理解できていなかったため「劣化Twitter」などと評価せざる得なかった。

そして、不幸なことにMastodon話題となった当初、それを報じるインターネットメディアもまたMastodon本質理解できていなかったので、Mastodonに関する記事を読んだ多くの人々の評価Mastodonアカウントを作らずとも「劣化Twitter」として固定されてしまった。

私の友人はMastodonを指してこう言った。

Mastodonって不人気だけど何故かプログラマーな人が多いよね」

おかしな話だ。コンピュータインターネット技術に詳しく専門分野に関しての審美眼には信頼のあるプログラマーが何故か不人気なものクールさを見出していると言うのだから

そこでこのエントリでは、日本情報も多いMastodonを例にして分散SNS本質解説しつつ、何故プログラマー分散SNSクールさを見出しているのかを語っていこうと思う。

本質はActivityPubの中へ潜んでいる

2007年インターネット上に「OpenMicroBlogging」と呼ばれる通信プロトコルが登場した。

OpenMicroBloggingは分散SNSで使われることを想定した通信プロトコルで、OpenMicroBlogging実装SNSとして「Identi.ca」が開設される。

Facebook2004年設立Twitter2006年設立であり、Facebook設立からわずか3年後、Twitter設立からわずか1年後に分散SNSが登場したことになる。

オープンSNSでよく語られるのは「中央集権SNSへのアンチテーゼ」だ。

これらの表現は悪いわけでない、悪いわけでないが分散SNS理解へ誤解を生む。

誤解を生む理由は「わかりやすい」のだ。「自身サービス内で強権を奮うFacebook運営Twitter運営へNOを突きつけよう!」「我々の手にオープンSNSを!」といういかにもな正義は非常にわかやすい。

からこそ一部でこの表現が支持されてしまい声たかかに叫ばれ、多くの人々の分散SNS本質的な理解を妨げた。

インターネットを長らく観測してきたお歴々はご存知だろうが、そもそもユーザー自身管理者となり自分自身ルール運用できるオープンSNS分散SNS登場以前から存在している」のだ。

日本国内であればmixiクローンSNSとして「OpenPNE」などがFLOSSコミュニティでは非常に有名だ。

では、これまでのオープンSNS分散SNSは何が違うのか?

分散SNS大前提として通信プロトコルありきで開発されている点が違うのだ。

思い出して欲しい。Identi.caの前にOpenMicroBloggingが作られていることを。

後に整理されてIdenti.caは「GNU Social」と、OpenMicroBloggingは「OStatus」と呼ばれるようになるが、Mastodonもまた通信プロトコルありきで開発されており、MastodonがありきとしたのがそのOStatusなのだ

OStatusのベースであるOpenMicroBloggingは設計が古いため、現在ではOStatusの事実上の後継であるモダン設計のActivityPubへ差し替えられるという大きな変化はあったが基本は変わらず、MastodonはActivityPubありきで開発されている。

分散SNSとは何なのか?

多くの人々はSNSと言えばTwitterFacebookInstagramなどを想像してしまい、分散SNSと言われるとMastodonGNU Socialを連想してしまう。

はっきりと言おう、この認識自体根本的に最初の誤解であるのだ。

分散SNS通信プロトコルありきで開発されており、ActivityPubなどの通信プロトコルによってSNSサーバー同士が相互接続形成されている。

このネットワークのもの分散SNSだ。Mastodon分散SNS形成するSNSサーバーしかない。

すなわちMastodon分散SNS方式SNS分散SNSSNSなどと表現したほうがより正確な意味を持たせられるのだ。

ただこれは情報技術に詳しいはずの技術者でさえ誤解しやすい部分であり、よりわかりやす説明するためにActivityPubなどで形成されるネットワークのことを「Fediverse Network」と表現することが多くなっている。

まりMastodon分散SNS」「Fediverse Network分散SNS」という図式が成り立つ。

Mastodonはやろうと思えばFediverse Network接続しないこともできるということを理解しておかなければならない。

分散SNS本質

分散SNSとは何か?

ActivityPubなどの通信プロトコルによってSNSサーバー同士が相互接続することにより形成されるネットワーク(= Fediverse Network)そのもの分散SNSであると言った。

では分散SNS本質とは何か?

それを知るためにはFediverse Network特性を知らなければならない。

Fediverse Network形成するActivityPubを現在は様々なSNSサポートしている。

代表例を挙げればマイクロブログサービス型の「Mastodon」「GNU Social」「Pleroma」「Misskey」「microblog.pub」、Facebookのような名鑑名簿型の「Friendica」「Hubzilla」、写真投稿型の「PixelFed」、動画投稿型の「PeerTube」、電子掲示板型の「Prismo」などがActivityPubをサポートしている。

ここで疑問を投げかけてみよう。

もし、何らかの理由Mastodonの開発が停止し、この世から完全にMastodonサーバー消滅した場合、Fediverse Networkはどうなるか?

答えは簡単だ「Fediverse Networkは維持されたまま」である

単にこの世からMastodonが消え失せるだけであってActivityPubが形成するFediverse Network対応しているのはGNU SocialやFriendicaなど他にも多数あるのだ。

Mastodonが使えないのであればGNU Socialを使えば良いというような形式ネットワークインターネット老人会のお歴々はよくご存知で、おそらくこう表現するのではないか

「まるでE-Mail Networkだ」

GMailが使えないのであればYahoo!Mailを使えば良い。それと全く同じだ。

うつまり分散SNS本質それは「SNS形態を取った次世代E-Mail」なのである

分散SNS本質SNS形態を取った次世代E-Mailであるからこそ「Twitter代替」や「中央集権SNSへのアンチテーゼ」などという言説は分散SNS本質表現できているとは言えないのだ

TwitterE-Mail Networkのような特性を持っておらず、E-Mail NetWorkそもそも分散されている(E-Mail NetWorkはそのように設計されたから)。

ましてや、そもそもシステム根本から違うので「劣化Twitter」という言説もまた分散SNS本質などではない。分散SNSTwitterクローンですらないのだから

分散SNS本質SNS形態を取った次世代E-Mailであるからこそ、そのアカウント数はE-Mailと同様にゆっくりと増え続ける。

過去日本ではユーザーが望む望まない、ユーザーが使う使わないへ関係なくDoCoMo携帯電話iモードへ加入するだけでE-Mailアカウントが付いてきた。

分散SNSアカウントはそのようにして増える。今後登場するであろう人気WebサービスがActivityPubをサポートしているとユーザー意識せずともFediverse Networkアクセスできてしまうのだ。

分散SNS本質SNS形態を取った次世代E-Mailであるからこそ、プログラマーたちにとってクールなのだ

現在GMailアカウントがどのように使われているか?を少し考えるだけで、SNS形態を取った次世代E-Mailである分散SNSがどれだけ刺激的で新しいインスピレーションを生み出してくれるかが理解できるだろう。

これが分散SNSだ。

2019-06-12

増田でわかる分散SNS

1章 アカウント凍結

有子「あっキレイなお花!」

共太「写真を撮ってTwitterシェアしようぜ!」

有子「いい考えね!じゃあさっそく・・・あれ?」

共太「ん?どうしたんだ?」

有子「あっ私のTwitterアカウントが凍結されてる!」

共太「なっなんだってー!」

-----

共太「最近SNSアカウントが巻き込まれ凍結されるって話をよく聞くけどまさか有子のアカウントがなぁ・・・

有子「私なにも悪いことしてないよ!お花や猫の写真シェアしたりしてただけだもん!」

分美「あら?どうしたの?」

共太「あっ分美お姉さん!ちょうど良いところに」

有子「分美お姉さん・・・何も悪いことしてないのに私のTwitterアカウントが凍結されちゃって・・・

分美「あら大変!でも仕方ないわよねぇTwitterシステムの上では巻き込まれ凍結はどうしても防げないわ」

共太・有子「えっそうなの!?

分美「Twitter問題のありそうなアカウント独自アルゴリズム自動で凍結しちゃうのよ。コンピュータプログラムで判定しているからどうしとても間違えてしまうことがあるわ」

有子「プログラム相手じゃ間違えてますよってお話することも難しいよね」

共太「Twitter勝手に始めたことを押し付けてくるなんてヒドイじゃないか!」

有子「私の友達だって悪いことしてないのに何度も凍結されちゃって悲しい思いをしてたんだよ!」

共太「お姉さんなにか良い方法はないの!?

分美「ふふふ・・・あるわ!分散SNSよ!」

共太・有子「分散SNS?」

2章 分散SNSって何?

共太「お姉さん、分散SNSってなに?」

有子「前に少しだけ話題になった気がするけど私よく知らない」

分美「分散SNSはねTwitterFacebookみたいなSNSが動くサーバシステム個人個人自由に設置して、設置されたみんなのサーバ同士が繋がり合ってコミュニティネットワークを作ろうって試みなの」

分美「分散SNS構成するサーバ個人の持ち物だから、持ち主の個人独自ルールを定めることができるのよ」

分美「TwitterFacebookサービスを利用しているとTwitterFacebookが定めたルールに利用しているユーザは従わなきゃならないけど、分散SNSサーバ毎にルールを定められるので凍結される可能性を低くできるわ」

有子「あれ?じゃあもしかして私が分散SNSサーバを設置したら・・・

分美「良い点に気が付いたわね!そう、有子ちゃん分散SNSサーバを設置したら有子ちゃんルールよ!」

共太「すっげぇ!じゃあボクの分散SNSサーバを利用したかったら100円な!」

分美「ふふふ、共太クンの分散SNSサーバからそのルールはもちろん定めて良いわ・・・でも分散SNSを利用するユーザにはルールを選ぶ権利があるのよ?」

有子「なるほどね!もし私の分散SNSサーバの利用が無料だったら共太クンの分散SNSサーバを使おうって思うユーザなんか居なくなるじゃない!」

分美「そうねユーザが困っちゃうようなルールを定めればユーザは利用しないだろうし、更に法律違反するルールを定めて実行しちゃうお巡りさんに捕まってしまリスクも当然あるのよ」

共太「自由ルールを決められても好き勝手にしちゃ駄目なんだ・・・

3章 分散SNSは過疎らない

共太「でもさぁ思ったんだけど新しいSNSってユーザ数が少ないよな」

有子「SNSってやっぱりいっぱいユーザが居たほうが楽しいしね」

分美「実はね、分散SNSっていわゆる『過疎』になる可能性が非常に低いのよ。設置したら既に誰かが居るわ」

共太「えっ!?SNSを設置して直ぐは誰も居ないに決まってるじゃないか!」

有子「そうよね?居たとしてもSNSを設置した管理人さんだけでしょ?」

分美「それが分散SNSメリットの1つなのよ。分散SNSは点在する分散SNSサーバ同士が相互接続することで成り立っているの」

分美「だから例えば分散SNSサーバαが既に設置されている状況であれば、分散SNSサーバβが新たに設置されたとき分散SNSサーバβから既に存在する分散SNSサーバαを利用するユーザが見えてコミュニケーションが取れるのよ」

有子「えぇ!?それってすごいことじゃない!!」

共太「自分分散SNSサーバを利用してくれるユーザ積極的に探さなくても良いわけか」

分美「わざと他のユーザを集めないで管理人がたった1人だけで利用している『お一人様』と呼ばれている分散SNSサーバだってあるわよ。他にも家族だけとか学校友達だけの分散SNSサーバがあったり、お絵かき趣味の人のためや音楽趣味の人のための分散SNSサーバもあるわね」

有子「なるほど学校のお友達なら見知った仲だし凍結なんてほとんどありえないもんね!」

共太「通ってるスポーツクラブ分散SNSサーバ設置したら面白そうだなぁ!」

分美「独自ルールを定められるってことは利用するユーザを好きに選ぶこともできるってわけ!そしてなおかつさっきも言ったとおり他の分散SNSサーバユーザともコミュニケーションが取れるから便利」

分美「そんな便利な分散SNSコミュニティネットワーク形成しているのが『ActivityPubプロトコル』よ!」

4章 ActivityPubプロトコル

共太「アクティティパブ・・・?」

有子「プロトコル・・・?」

分美「早い話が分散SNS同士の会話がちゃんとできるようにする方式規格のことなんだけど、実際に重要なのは利用する分散SNSサーバがActivityPubプロトコル対応しているかどうかってこと」

分美「実は分散SNSってActivityPubプロトコルが登場する以前にも様々なプロトコルが考案運用されてきたの」

分美「例を挙げればOStatusプロトコル、DFRNプロトコル、DiasporaプロトコルZotプロトコルあたりが有名ね」

分美「でも問題プロトコルが違えば相互コミュニケーションが取れないことなの」

有子「あれ?分散SNSサーバは他の分散SNSサーバ相互コミュニケーションが取れるんじゃなかったっけ?」

分美「そう、それを実現したのがインターネットで使われる技術の標準仕様を定める団体であるW3C』が制定したActivityPubプロトコルってわけ!」

共太「そうかActivityPubプロトコル以前は分散SNSでも相互接続できない分散SNSがあったんだな」

分美「W3Cが標準仕様であるActivityPubプロトコルを定めてくれたお陰で、分散SNSほとんどは積極的にActivityPubプロトコル採用するようになり、ほとんどの分散SNSサーバほとんどの分散SNSサーバ相互接続コミュニケーションが完成したわ」

5章 もっと知ろう分散SNS

共太「へぇ!ActivityPubプロトコルって凄いんだなぁ」

有子「お姉さん!分散SNSサーバってどんなものがあるの?」

分美「うん!じゃあ先ず最初に語らなきゃいけないのは『GNU Social』ね!Twitterに触発されたマイクロブログSNSよ」

分美「GNU Socialは分散SNS最初期に登場した分散SNS2007年まで遡るわ」

有子「今から12年も前!?そんな前からあるの!?

分美「12年前はidenti.caっていう名前だったの。GNU Socialという名前に落ち着いたのは2013年よ」

共太「それでも6年も前か。その時から分散SNSを考えていたなんて凄いなぁ」

分美「分散SNSのヒントになっているのは2002年に登場したP2Pファイル交換システムの『Winny』なのよ日本製ね」

有子「2002年17年前!どんどん遡るね!」

分美「WinnyのあとにBitTorrentが登場したり色々日本でも問題になり善悪評価が定まらないけれど革新的システムだったのは確かで、それが現代分散SNSという実装に応用されているわ」

分美「GNU Socialの特徴はなんと言ってもその安定性の高さね。最初期に登場したこともあり機能性に乏しさは感じるしアップデートは驚くほど少ないわ。でも後に登場した分散SNSへ強い影響を与えたの」

共太「アップデートが少なくて済むほど安定してるってことか?」

分美「それもあるし、GNU Socialはプラグインによる機能追加に対応しているのよ。新機能が欲しいなら自分で作れという文化なのGNU Socialは」

分美「次に紹介するのは日本で最も人気のある分散SNSMastodon』ね」

有子「あっ聞いたことある!」

分美「Twitterアカウントの凍結騒ぎで一時期Twitterでも話題にのぼったわね。MastodonGNU Socialに触発されたマイクロブログSNSよ」

分美「GNU Socialを参考としたためGNU Socialと互換性がありつつも、よりもモダンな外観や機能を備え、コミュニティが活発でアップデートも非常に多いのが特徴だわ」

共太「それだけ聞くとMastodonの方が良いように感じるなぁ」

分美「日本国内にMastodonサーバは膨大に存在するし分散SNS選びに迷ったらMastodonって考えるのも悪くはないわ。情報も非常に多いしね」

分美「ただMastodon欠点としてはGNU Socialに比べるとより高性能なサーバマシン必要になることね。とある有名なC++プログラマが『富豪的プログラミングだ』と揶揄したのはMastodonコミュニティでは有名な話よ」

有子「自分Mastodonサーバを設置するときサーバマシンの用意に困るわけね」

分美「まぁとは言っても今の普及価格ノートパソコンくらいで十分に動くわ。利用状況によるけどサーバレンタルするとしても月額2,000円以下かしら」

分美「そんな重いMastodonに触発され動作が軽いことを念頭に置かれ開発されたマイクロブログ分散SNS『Pleroma』も検討に値するわね。Mastodonと一部機能互換性を持っているの。Mastodonクライアントアプリが使えたりするのよ」

有子「GNU Socialを参考にしたMastodonMastodonを参考にしたPleromaか面白いなぁ」

共太「お姉さん!なんかもっとこうドーンッとスゴイやつってないの?」

分美「あるわよ?例えば『Hubzilla』なんかは高機能すぎるくらい高機能よ。SNS機能に加えて、ユーザ単位の公開範囲限定チャットアドレス帳カレンダーオンラインストレージ、簡易Webページ作成RSSフィードリーダーFacebook連携Twitter連携、ActivityPub連携etc...」

共太「スゲェ!なんでもアリかHubzilla!」

分美「もともと『ハブ』になることがコンセプトらしいわね。でも今挙げた機能はHubzillaの最大の特徴じゃないの」

有子「えっこの時点で高機能なのに?」

分美「HubzillaはZotプロトコルによるGridネットワークを特徴としていて、これはサーバ認証ユーザ認証が別個に管理されているのよ」

分美「端的に言うとHubzillaサーバαとHubzillaサーバβで1つのユーザアカウント運用できるのよ。例えば普段使ってるHubzillaサーバαが何らかの障害でダウンしても、ユーザアカウントそのままでHubzillaサーバβで利用できちゃうのよ。普通サーバが変わるとユーザアカウントも変えなくちゃいけないわよね。Hubzillaはユーザアカウントを維持できるの」

共太「えっHubzilla凄すぎない?」

有子「まさに分散SNSだね。サーバ1つ無くなっても他のサーバが使えちゃう

分美「非常に先進的な試みをHubzillaはやってるんたけど、その豊富すぎる機能や細かな設定項目、更には複雑な外観で素人お断り感がスゴイのよ・・・

有子「もっとこう気楽で高機能分散SNSはないの?」

分美「あるわよ?」

共太「ちょっと思ったけど何でもあるんだねw」

分美「筆者の増田もこのエントリ書くため改めて調べてみて驚いてるらしいわ。それでもっと気楽な高機能分散SNSには『Misskey』があるわ。なんと国産よ」

分美「投稿テキストへ太字などが設定できたり、昨今のチャットサービスなどで定番化しつつあるいいね!に変わる様々な反応を送れるリアクション機能ユーザ指定して会話できるグループトーク、様々な情報を表示するウィジェット、更にはリバーシゲームが楽しめたりするわ。他にも機能いっぱい」

有子「エンターテイメントって感じ!結構好きかも!Hubzillaは敷居が高すぎる・・・

共太「エンターテイメントと言えばマイクロブログSNS以外には分散SNSってないの?」

分美「あるわよ。Hubzillaを見たときSNS部分はFacebookっぽいなと感じたと思うのだけれど、よりFacebookっぽい分散SNSに『Friendica』があるわ」

分美「FriendicaはFacebookクローンと言って良いほどFacebook機能酷似していて分散SNSFacebook機能を求めているのであれば一番手っ取り早いかもね」

共太「あるとは思ってたけどやっぱりFacebookっぽい分散SNSもあるのか」

有子「えっじゃあもしかしてInstagramっぽいのも・・・

分美「あるわよwInstagramっぽい分散SNSは『PixelFed』ね。Instagramと同様に投稿する写真エフェクトフィルタがかけられるわ」

有子「あるんだw」

共太「流石にYoutube・・・

分美「あるわよwYoutubeっぽい分散SNSは『PeerTube』というの。PeerTubeの凄さはActivityPubプロトコルへの対応だけじゃなく動画配信自体分散機能を持つこと」

共太「あるんだw」

https://peertube.fr/videos/watch/217eefeb-883d-45be-b7fc-a788ad8507d3

分美「この動画は実際にPeerTubeへ投稿されている動画なのだけれど、複数人が同時に視聴するとPeerTubeはYoutubeにない動画配信挙動をするの」

分美「それは視聴者αに続いて視聴者βが動画の視聴を始めると、視聴者βへはPeerTubeサーバから動画配信されるだけでなく視聴者αから動画配信されるのよ。これはWebTorrentという技術を使って実現しているわ」

分美「理論上の話になるけれど、1GBの動画Youtubeが2人へ配信した場合は当然ながらYoutubeサーバは合計2GB配信することになるけれど、PeerTubeサーバ場合は合計1.5GBで済んでしまうのよ。残り0.5GBは他の視聴者からまかなう

有子「これは本当に凄いじゃない!お姉さん当然100人が同時視聴するとPeerTubeサーバ送信量はYoutubeサーバに比べてもっと下がるんでしょ!?

分美「もちろん理論値だし様々な状況によってPeerTubeサーバ送信量は変わるけど間違いなくYoutubeサーバ100人配信するよりは送信量がかなり少なくなるわ」

分美「ちなみに引用しているPeerTubeサーバはわざとフランスのPeerTubeサーバを選んでいるわ。私1人だと何度も動画が途中で止まったけれど増田に貼った時点でどうなるか楽しみね」

共太「PeerTubeスゲェな!もっと知られていても良さそうなのに」

分美「個人動画配信って自宅サーバでやらない限りはレンタルサーバとかだとかなりお金掛かるのよ。PeerTubeだと送信料が抑えられると言っても積み重なるとかなりの額になるしね」

分美「そして例えばJ:COMとか一部のインターネットプロバイダはWebTorrentなどのP2P通信規制をかけているところもあるわ。そのようなプロバイダ契約しているとPeerTubeの旨味は活かせないわね」

有子「PeerTubeもActivityPubプロトコルリプライしたりできるんてしょ?」

分美「できるわ」

https://peertube.cpy.re/videos/watch/da2b08d4-a242-4170-b32a-4ec8cbdca701

分美「この動画はPeerTubeとMastodonのやりとりのデモ動画よ。Mastodon上でPeerTube動画を視聴してリプライしてるわね。そのリプライはPeerTubeへ反映されているの」

有子「すごい!まったく違うWebサービスなのにやりとり出来ちゃってる!」

共太「さっきのPixelFedもやりとりできるんだろ?いいね!とか。これがActivityPubプロトコル・・・!!」

分美「ActivityPubプロトコルは今後ともどんどん様々なWebサービスに広がっていくわ。現在開発中だけれど電子掲示板Redditに触発されActivityPubプロトコルを組み込んだ電子掲示板『Prismo』は良い例ね。Prismoが正式に稼働するとMastodonから電子掲示板雑談へ参加できるようになるわ」

分美「そして別にActivityPubプロトコル対応するため新しくWebサービスを始める必要もないのよ。例えば過去日本国内で栄華を極めたmixiあたりがActivityPubプロトコルサポートしたら一気にmixiから観測できるアクティユーザが数十万人増えるわ。起死回生の一手として検討に値するわね。はてなハイクもそうよ」

分美「ユーザが居ないこと、ユーザを集めることが問題になるのならば常にアクティユーザが居ることへ期待できるActivityPubプロトコル採用するのはアリなのよ。 Permalink | 記事への反応(3) | 20:57

 
ログイン ユーザー登録
ようこそ ゲスト さん