Mastodon とは一体何者なのかを調べてみた
読了まで:約2分
と言う話です。
最近、僕の観測範囲内で、
が、
んー、なんかコレ、注目されてるっぽいなー
と言う事に気がついたので、色々と調べてみました。 なお、今のところ僕は Mastodon のアカウントを作ってはおらず、今回の調べた範囲では、主に、
Mastodon がどういう技術を使っているか
と言う辺りに限定された内容になっています。
Mastodon とは一体、何なのか
まず、 Mastodon 自体のソースコードは、
で公開されていて、ライセンスを読むと、
で提供されている事が判ります。そしてソースコードを読む範囲内では、
Mastodon は Ruby on Rails で構成されている
っぽいです。
それで、
じゃあ Mastodon は OSS (AGPLv3) な Twitter ライクなクローン?
と思いきや、実際には (たぶん) 相当に違っていて、これはどうも、 オフィシャルのリポジトリの Description にあるように、
A GNU Social-compatible microblogging server
である様です。そして、ここで注目すべきポイントとしては、
GNU Social-compatible
辺りだろう、とアタリを付けて調べたんですが、ぶっちゃけ、この、
GNU Social ってなんやねん?
っていうと、これは、
OStatus プロトコルを喋る GNU ソフトウェアの名称
らしい、と言うのが判りました。 で、この OStatus というのが何か、と調べていったら、これはどうも、
Twitter-like な Microblogging を分散実装するためのプロトコル規格
で、主に W3C がメンテしているっぽいです。
つまり、ココまでの話をまとめると、
- Mastodon は GNU Social と互換がある (≒ OStatus プロトコルを喋る) Web App 実装である
- 言語とフレームワークには Ruby on Rails を用い、ライセンスは AGPLv3
- そして OStatus とは Twitter-like な分散マイクロブログ環境の為のプロトコルである
という感じです。
つまり、どういうコトなの……?
つまり、Mastodon を一言で言うと、
Mastodon は、 分散した Twitter っぽいコトを実現するためのプロトコル を満した、オープンソースの一実装
である、と言えるかと思います。そして、 先の一言まとめの、
分散した Twitter っぽいコトを実現するためのプロトコル
が、実際には、
OStatus という標準規格が云々
と言う話なので、この辺りさえ押さえておけば、Mastodon の互換クライアントも作れるだろうし、 また、Mastodon とは違った、別の特徴を持つ OStatus 互換サービスも開発出来るだろう、と思われます。
以上
つまるところ、Mastodon という実装が喋るプロトコル自体は、あくまで OStatus などの標準規格 に沿って作られたモノであり、あとの残りの利便性に関わる部分についてを、 Mastodon がオリジナルに実装した、と言う感じじゃないかなーと僕は思っています。
無論、今回の調べた範囲では、全部が全部調べ切れたワケではないので、 不正確な部分もあるかと思いますが、大体はそんな感じだと思います。
ま、これを RSS / Atom Reader という文脈に例えると、
- Feedly 等のプロプライエタリなサービスが Twitter
- RSS / Atom と言った標準規格が OStatus
- そして数ある標準規格に沿った実装の一つが Mastodon
という感じじゃないかな、と思います。はい。
ちなみに。
技術的には上記の感じっぽかったのですが、日本で話題になりだしたのがここ最近の話で、 なんでこれが話題になりだしたのか、については、僕はイマイチ良く判ってません。
また、
Mastodon 自体が Twitter に取って代わるか
と言う話の振り方は、多分、微妙に焦点がズレていて、正確には、
Mastodon を含む 、 OStatus 実装群 が Twitter を超えられるか
と言う部分が本来の焦点じゃないかなぁ……(?) と僕は思います。 まあ、僕自身は Mastodon 自体への興味はあんまり無い感じですが、
分散 Web サービスを実現するためのプロトコル
には興味が前々からあるので、今回初めて知った OStatus と言った標準規格については、 後で興味が続けば調べてみようかな、と考えています。はい。