2017-04-29

マストドン会議で技術と自由を語る

マストドン会議というものがあり、清水亮も登壇するというので行ってきた。

マストドン会議 ―― その無限の可能性を、いま語らずしていつ語らう! ~コミュニティもマーケティングも揺るがすTwitterのライバル出現~ | Peatix

マストドンは日本ではやってからまだ2週間しかたっていない。一体そんな状況で誰が集まるのだろうか。主催は角川が絡んでいるらしいが、まあ、あまり期待はせずに行くことにした。

その日は来るべき超会議2017のリハーサルの日だった。会場の幕張メッセではマストドンブースが設営されていた。私が担当なので当然私も現地にいた。そして少し遅れてマストドン会議の会場に着いた。清水亮は私よりも更に少し遅れて会場入りした。

会場に入ってみると、ぬるかる氏のmastdn.jpにサーバーを提供しているさくらインターネットの人とぬるかる氏が、サーバーの運営上の話をしていた。とても技術的な話だった。よかった。技術の話をしている。これが、「えっとぉ、マストドンはぁ、やっぱりぃ、Twitterをオープンなプラットフォームに持ってきたってところがいいと思うんですよねぇ。ユーザーがソーシャライズされてぇ」などと宣うアホで埋まっていたら会場に向かうまでの時間が圧倒的に無駄であった。何しろ、明日は超会議2017のマストドンブースのために、早朝に会場入りしなければならないのだから。

mastdn.jpの運営は技術的な話と、違法な発言を削除したり犯罪的な名誉毀損発言を繰り返すユーザーをBANしたりといった管理上の話だった。

私がぬるかる氏が話すのを見たのはこれが初めてだが、想定していた人物像と印象と全く違った。私が想定していたぬるかる氏は、陰鬱で物憂いナード青年だった。しかし、この壇上ではなすぬるかる氏はどうだろう。120人の聴衆を前に、一切物怖じせず、言い淀まず、冷静にゆっくりと話を続ける。ぬるかる氏何者?

読者は100人の聴衆の前で話ができるだろうか? 私はできる。私はそれだけの場数を踏んでいて経験があるからだ。私は十分に経験を積んでいるのでストレス耐性があり、緊張することはない。しかし、一度もそのような経験のない一般人は、100人の聴衆を前に事前にほとんど準備も練習もなしで話などできるはずがない。しかるに、ぬるかる氏はほとんど準備も練習もできなかったはずなのに、この冷静さ。ただものではない。

ぬるかる氏が話す途中で、第一部が終わった。

その後、津田大介が誰でも言えるようなくだらない一般論をのたりくたりと話し始めた。一体何なんだこいつは。というよりなんで津田がここにいるのだ。津田はマストドンで何かしたのか? というかお前、最近見かけないな。

津田はラリホーでも唱えているかような眠気を誘うどうでもいい話を延々と行う。誰か津田を止めろ。違うだろ。本当に自由の価値を追求する人間は「オープン」なんて言葉を使わない。秋葉原のオタク文化をいきなり語りだしてどうした。どうでもいいだろ。

技術の話をしろ。

結局、津田という人間はこういう人間なのだろう。かつて、津田が勉強会に参加して登壇者の発言をTwitterで要約して流すという行為に「Tsudaる」という言葉が割り当てられた。それは真実だったのだ。津田というのは人の話を要約して議事録を作成するには向いているのかもしれないが、自分の意見を語りだすとこうもどうでもいい一般論ぐらいしか語れない人間なのだ。

と、こう考えているうちにも津田が延々とのたりくたり。もういいから津田を黙らせろ。ぬるかる氏に話をさせろ。

というところで、清水亮に話が振られた。これは正解だった。清水亮は今まで胡散臭いポエマーだと思っていたが、ただこの業界でやっているだけある。一瞬で雰囲気を激変させた。

清水亮は、まず他の登壇者を退場させた。

「お前ら一旦ハケてくれる?」と。

この一言で、会場の空気は完全に津田の辛気臭い話から怒涛のプレゼンスタイルに激変することになる。

清水亮が話す。声が大きい。津田のラリホーで眠っていたものも叩き起こすような声だ。清水亮の話も、結局誰しもが考えるものである。

  1. TwitterやFacebookでは本音で話ができない。バカな発言をすると炎上する。というか家族が見ている。マストドンでは本音で話ができる。
  2. ユーザーが犯罪予告、わいせつ物、名誉毀損などの発言をしたら削除する必要があるし、BANする必要もある。この管理を人間がやるのはダルい。AIにやらせるべきだ。
  3. マストドンの今の秘密会話は全然秘密ではない。インスタンスがユーザーの意思を尊重して秘密にすることに依存している。アリスとボブが秘密の通信をするときはそれぞれローカルで公開鍵暗号を使って安全に鍵交換を行って暗号文でやり取りすべきだ。

たしかこの程度のことを話したはずだ。これはどれもいまさら言うでもない当然の話で、一般論に過ぎない。しかし清水亮のプレゼン力は優秀で、聞いているものを叩き起こした。

そして私に話が振られる。この流れはよい。大声で話すことならば私とても心得ている。準備とても何もないが、津田がのたりくたりと話している間にmarkdownで書いた数枚の話す要点だけメモ書き程度に書いたものがあったので、これを急ぎpandocでreveal.jsに変換してスライドとする。

技術

まず技術の話だ。ここにきてプログラマーとして登壇して技術の話をしないのはタイヘンシツレイにあたる。

マストドンは技術的にはクソである。

  1. マストドンは教科書的なRuby on Railsで実装されている。つまり富豪的プログラミングだ
  2. マストドンはReactで実装されている。我々がHTMLとCSSとJavaScriptを分離してきたのに全部一緒くたにしてしまう。これではPHPに逆戻りだ。しかも生成されたDOMがクソだ
  3. マストドンの元となったGNU Socialは流行らなかった。その理由はOStatusプロトコルにある。
  4. そもそもOStatusプロトコルのドキュメントがない。存在しない。ネットから消えている。Internet Archiveは我々の友達だ。
  5. OStatusプロトコルはスケールしない。リモートフォローによってインスタンス同士のプッシュ通知で大量にトラフィックとストレージを浪費する

そのため、私はプログラマーとして技術的に判断を下した結果、「マストドンはクソだ」と結論した。

本の虫: そろそろマストドンについて語っておくか

しかし、内部実装が技術的にクソかどうかと、利用者にとって面白いかどうかは、全く関係のない話だ。マストドンは面白い。それは純然たる事実である。スケールしない問題など、インフラを分厚い札束で殴ればいいのだ。

自由

さて、技術について語ったので、次は自由について語る。

まず、そもそも会場の聴衆がどれだけ自由なソフトウェアについて知っているのか。自由なソフトウェアについて知らないならば、その解説から始める必要がある。

「GNUを知っている者は挙手せよ」

なんと、ほとんど全員の手が上がったではないか! なんということだ。聞き間違いではないか。いや、文字に起こせばGNUだが、口頭でいうと「ぐにゅー」だ。そんなへんてこなものを何かと聞き間違えるはずがない。ああ、なんということだ! RMSの地道な活動はついに実を結び、ついにGNUを誰もが知るところとなったのだ。自分は今、猛烈に感動している。

全員、GNUを知っているとなれば話は早い。自由なソフトウェアについて説明する必要はない。

さて、我々のソフトウェアは、RMSとFSFとGNUによってほぼ自由になったが、自由に対する新たな脅威が持ち上がっている。SaaS(Software as a Service)だ。

SaaSとは、例えばGMailであったり、Google Docsであったり、あるいはTwitterやFacebookなどだ。今や、ほとんどのWebサイトはSaaSといってよい。

我々がWebサイト上で何かをするとき、その処理の大半自分の所有するローカルのコンピューターではなく、サーバーが行っている。我々はサーバーを所有していないし、サーバーを支配していない。ということは、我々のローカルのコンピューターは自由かもしれないが、サーバーは自由ではない。そして、今や処理の殆どはサーバーで行われている。

これは非常に辛い問題で、我々が所有も支配もしていないコンピューターは、我々の自由にならないのは当然の話だ。私のコンピューターは私の所有しているものであり私が支配している。私のコンピューターが他人の意思で私の望まない処理をされてほしくはない。その理屈で、我々はサーバー側に自由を求めることができない。自由はコンピューターの利用者にかかるもので、サーバーのコンピューターの利用者は、我々ではないからだ。我々は利用者の慈悲によって処理を肩代わりしてもらっているだけだからだ。これはGPLでもどうしようもない。

そこで、AGPLだ。AGPLはGPLと非互換なライセンスで、サーバーに対しても適用される。AGPLなソフトウェアをサーバー上で動かして、それによってサーバーが提供するサービスの利用者には、AGPLに従ってサーバーで動くソフトウェアを自由にしなければならない。つまりユーザーに対してソースコードを公開しなければならないし、その気になればユーザーが全く同じ互換サーバーを立ち上げることも可能になる。

マストドンのライセンスはAGPLである。

そして、マストドンは流行った。ぬるかる氏が2週間前にマストドンのインスタンスを立ち上げてからというもの、この日本で圧倒的にマストドンが流行した。すると、個人や企業が先を争ってマストドンのインスタンスを立てたがる。しかし、そうやって立てる? それにはマストドンを使うしかない。マストドンはAGPLだ。AGPLにしたがってソースコードを公開しなければならない。もし、自分のインスタンスに何らかの改変を加えた場合、それも正直に公開しなければならない。

マストドンの互換サーバーを独立して実装すれば、そのソフトウェアは自分の好きにできる。しかし、そのようなソフトウェアを開発すには、半年、1年、場合によってはもっとかかる。今、この瞬間にマストドンのインスタンスを立ち上げるには、マストドンしかない。ところでマストドンはAGPLである。

この状況は、社内政治などをすっ飛ばしてAGPLを強制させた。いまマストドンを建てないと流行に乗り遅れる。その機会損失と、未だに根強い自由ソフトウェアへの抵抗を天秤にかけて、機会損失が勝ったのだ!

今や、プロプライエタリな製品を販売していた不自由な企業まで、先を争ってAGPLなサーバーを立てるようになったのだ! なんという素晴らしい世界だろう。一体どんな奇跡が起こったというのだ! 私は信じられない光景を目にしている。ああ、自由が尊重されている!

そう、すでに変化はドワンゴ社内にも起こっている。自由ソフトウェアの忌避はドワンゴとても例外ではない。結局社内のリソースを割いて書いたコードを表に出すには、色々と社内政治や偉い人たちの判断などが必要になる。マストドンは最初からAGPLなので、もはや社内政治などと言っている場合ではない。自由になるか、使えないかだ。

そして、本当に奇跡のような展開が起こる。

ドワンゴのエンジニアであるまさらっきが、マストドンに脆弱性を発見したので、修正するPRを送った。

use Twitter::Extractor for creating links by masarakki · Pull Request #2502 · tootsuite/mastodon

すると、マストドンの開発者のオイゲンが、ABCanGを呼び出して、問題を見るように指示する。ABCanGはPixivのエンジニアである。なぜPixivのエンジニアが呼ばれるのかと不思議に思ったら、どうやら該当部分を実装したのはABCanGだそうだ。なるほど、納得だ。

しかし、実はこれは画期的なことである。

そもそも、ドワンゴとPixivはお互いに競合するサービスを提供している企業である。Pixivは絵の投稿サービスを提供していて、ドワンゴもニコニコ静画などの絵の投稿サービスを提供している。このため、基本的に両社は商売敵である。

一時期、Pixivはニコニコ静画へのリンクを検閲するというような強硬な処置さえ行った。

『pixiv』にニコニコのURLを貼ると「有害サイト」として削除される!? ニコニコ担当「非常に残念」 | ガジェット通信

その犬猿の仲であるPixivとドワンゴが相手の不具合を修正して助けているだと。ああ、自由の価値ここに極まれり。

自由は素晴らしい。

しかし、この自由が今、脅かされつつある。スマフォアプリだ。

そもそもスマートフォンは不自由なコンピューターである。iPhoneもAndoridも不自由だ。しかも、AppleやGoogleが提供するアプリの流通プラットフォームは、利用者に不自由なEULAへの同意を求めるので、GPLと互換性がない。スマートフォンを使う時点で不自由で、配布されるアプリも不自由だ。スマートフォンは不自由の塊なのだ。

そして、マストドンのにわかの流行により、雨後の筍のようにぽこぽことマストドンクライアントアプリがストアに並び始めている。いま開発中のものも大勢いるだろうから、今後はもっと増えるだろう。

しかし、よく考えてもらいたい。マストドンは自由だ。自由の価値は素晴らしい。その自由をあえて放擲するのか。不自由なクライアントで閲覧するマストドンは美味いか?

不自由なコンピューターであるスマートフォンの利用は拒否すべきである。

Twitter独占の弊害

なぜマストドンはTwitterより優れているのか。それは、誰もがマストドンのインスタンス、つまりサーバーを建てられるからである。Twitterではこうは行かない。

Twitterでは、Twitter社は正しい。Twitter社の判断は正しい。もしTwitter社がユーザーをBANしたのならば、もちろんそれは正しい。疑問を差し挟むことは許されない。Twitterの判断を疑うことは反逆でありBAN対象である。そのスモーレスラーの画像はわいせつ物なのでBANするのは当然だ。さすがTwitter様。完璧なTwitterユーザーは完全に幸福です。実際、幸福は義務です。ユーザー、あなたは幸福ですか?

現実のTwitterはここまでひどくないかもしれない。しかし、Twitter社がこのような運営をしても、逆らう方法はない。我々はTwitter社の慈悲にすがるしかないのだ。

自由なマストドンではこの恐れはない。あるインスタンスが気に入らなければ、別のインスタンスに行けばよい。自分の思想を受け入れるインスタンスがなければ、自分でインスタンスを立てればよい。自分の思想を受け入れるクラウドやVPSベンダーがなければ、自前でサーバーを立てればよい。もし、自分の思想を受け入れるISPが存在しなければ、それはシーランド公国にでも行くしかないだろう。

そして、マストドンではユーザーがインスタンスの違いをほとんど意識することがない。自由の圧倒的勝利だ。ああ、なんて世界だ!

ドワンゴ広告

ドワンゴは本物のC++プログラマーを募集しています。

2017年4月40日、5月1日に幕張メッセで開催される超会議2017には、マストドンブースがあります。江添亮がブース担当です。ドワンゴが立てたマストドンのインスタンス、https://friends.nicoのインスタンスの宣伝、マストドンステッカーの配布、マストドンについての質問、江添亮がライブマストドンするなどのさまざまな楽しいイベントがあります。

その他にも様々なブースがあるので楽しめますよ。

採用情報|株式会社ドワンゴ

CC BY-ND 4.0: Creative Commons — Attribution-NoDerivatives 4.0 International — CC BY-ND 4.0

9 comments:

Anonymous said...

AGPLv3はGPLv3と互換 https://www.gnu.org/licenses/license-list.html#AGPLv3.0

Anonymous said...

App Storeの利用規約はGPLと非両立、Google PlayやF-DroidはOK

Anonymous said...

4月40日たのしみ

Anonymous said...

まあ誤字ぐらい許してやんなよ

Anonymous said...

もうPixivとドワンゴでOStatusのOSS作ったらいいんじゃないかな
言語はC++かGoで

Anonymous said...

GPLのようにコピーレフトによる義務がないと
意思決定がバイパスされないってのはドワ社でもそうなんだなぁ、
大企業になってしまったからかもしれんが。

まさらっき said...

ライブマストドンより仕事してください

Anonymous said...

ここまで自由に縛られなきゃならんとはなんと不自由な男だろうか。

Anonymous said...

津田大介のくだりで笑った