山田祥平のRe:config.sys

明日をつくれば未来ができる

 FacebookにしてもTwitterにしても、その利用者の属性によって、見ているもの、読んでいるものはまったく異なる。だからこれらをコミュニティと呼ぶには個々の利用者の関係性がおろそかすぎる。だが、その巨大な枠組みの中に作られる結び付きはきわめて密だ。だからこその社会の縮図である。その相似をあえて取り払い、囲い込みを企んだ時、いったい何が起こるのだろう。

プログラマは楽をしている

 Incrementsが運営するプログラマ向け技術情報共有サービス「Qiita」が5周年を迎えたそうだ。既に月間ユニークユーザー数は250万人を突破し、「ソフトウェア開発をよくすることで世界の進化を加速させる」をビジョンに躍進を続けている。

 昔から、プログラマというのは、なんて楽をしているんだろうと思ってきた。

 最初にそう思ったのは、30年ほど前に、初めてRCSという環境を実際に使った時だ。RCSは、Revision Cotrol Systemの頭文字をとったもので、チームで仕事をするプログラマが、テキストファイルとしてのソースコードのバージョン管理をするための環境だ。

 当時、RCSを使える、例えばUNIXのようなシステムはマルチユーザー環境で共同作業をするためには、まず、特定のフォルダに、指定のユーザーにも読み書きができるように設定しておく。これは今も昔も変わらない。フォルダ共有などでお馴染みのお膳立てだ。

 個々のユーザーが任意のファイルを指定してRCSにチェックインすれば、そのファイルがRCSの管理下に入る。そのファイルを編集する時は、編集中にほかのユーザーが変更を加えないようにロックしてチェックアウトし、編集が終わったところで再びチェックインする。任意のユーザーが任意のファイルに対してチェックイン/チェックアウトを繰り返してプロジェクトを完成させるが、その過程で誰が何をしたか、前の版とどこがどう違うのか、必要ならrcsdiffで変更部分を比較したり、いったん加えた変更をなしにして前の版に戻すロールバックを含めて、柔軟なバージョン管理ができるのだ。

 MS-DOS下のワープロソフト「一太郎」でせっせと原稿を書いていた当時、こうした環境を日常的に使っている連中は、なんて楽をしているのだと感心したものだ。ズルイとも思った。ソースコードも原稿も同じテキストファイルだ。絶対にその恩恵は普通の人にも享受できるはずと思った。

 今ではWordの変更履歴のようなものがあって、ごく普通のビジネスワーカーが似たようなことができるようになってはいるが、30年前はそうじゃなかった。今のWordの変更履歴はとても使いやすいものとは言えないのがもどかしい。30年経ってもこれなのかと思ったりもする。rcsはもう古典に近いくらいに古い環境だが、今のプログラマはぼくの知らないもっともっと便利な環境を使っているのだろうか。

Qiitaに蓄積された美しい投稿ドキュメント

 現在、Qiitaは、及川卓也氏がプロダクトマネージャーとして仕切っている。及川氏は日本DECの出身で、Windows NTの開発にかかわり、その後、Microsoftで日本語Windowsの開発統括、そしてGoogleでのChrome開発をリードしてきた。昨2015年に、突然Googleを退社し、海野弘成氏が創業して4年に満たなかったIncrementsにフルタイム勤務の一社員として参加している。もっとも同社は現在全社員20名全員がリモートワーク制度下で仕事をしていて、コアタイムの13時から17時までだけは必ずオンラインでいることという制約しかない。ポケットの中のスマートフォンをオンにしておけば、それでオンラインだ。いかに自由であるかが想像できる。

 さて、Qiitaのサイトをのぞいて投稿を読んでみると分かるが、それぞれの投稿が実に美しくて読みやすい。タイトルや見出し、ポイントの箇条書き、記事中に出てくるコードの引用部分などが理路整然とレイアウトされている。どの投稿を見てもそうなのだ。まるで、誰か専門家がいて、ユーザーが書き殴った投稿を清書しているかのようだ。

 逆に言うと、これは没個性化でもある。誰の投稿も同じように見えるからだ。だが、考えようによっては、これは投稿の正規化であり、まとめて大量の文書に目を通すことを、格段に効率的なものにしてくれている。

 実は、この正規化は、Qiitaに実装されたMarkdownという仕組みによって実現されている。Markdownは軽量Markup言語の1つで、その一部がQiitaの投稿書き込みエディタに実装されている。言ってみれば、単純なテキストファイルに、ちょっとしたマークを挿入することで、自動的にHTMLに変換できるしかけだ。

 書き込む文章の中に簡単な記号をマークとして挿入していくことで、その文章が自動的に美しく整形され、そして論理的なブロックごとの内容が見出しをもとに目次が生成されて、記事のサイドに表示される。例えば、#1つで大見出し、##で中見出し、###で小見出しになり、*、+、- を文頭に置けば箇条書きになるといった具合だ。

 140字で完結しなければならないTwitterはともかく、改行さえされずに殴り書きされたそれなりの長文を見かけることの多いFacebookの書き込み欄に比べ、なんと、合理的なことか。これなら推敲も負担が少なく書く側も舌足らずにならずにすむし、読む側も誤解を起こしにくい。文章の論理的な矛盾が構造としてレンダリングされるからだ。

 TeXのマクロパッケージであるかつてのLaTeXを思い出してしまったが、それよりも、ずいぶん簡単だ。ほかの環境ではWordPress的とも言えるものかもしれないが、難解なドキュメントが書き込まれる可能性が高いプログラマのコミュニティでこその機能だと言える。

日本の将来には何が必要なのか

 Qiitaのマネタイズについては、依然として謎のままだ。プログラマのコミュニティとしては大きく成長はしたものの、「ソフトウェア開発をよくすることで世界の進化を加速」といったお題目だけではメシは食えない。ソフトウェア開発者のリクルーティング、マッチングビジネスを目指すのか、APIの提供による機能のばら売りなのか、ビッグデータとは真反対のところにある知の集大成を目論んでいるのか、想像はいろいろとできるが、きっと、海野氏と及川氏の頭の中には、壮大なビジョンが共有されているに違いない。

 少なくとも、特定の分野に精通したユーザーが集まる巨大なコミュニティを築き上げることができれば、何か大きな変革は起こせるはずだし、それは、きっと新たな富を生むだろう。FacebookだってTwitterだって10年そこそこの若い企業だ。AmazonやGoogleでも20年は経っていない。それが今や泣く子も黙る大企業に成長している。何が起こるか分からない。

 実はこっそり楽を享受しているソフトウェア技術者たち。彼らを束ねようとしているIncrementと、そこに一社員として参加した及川氏の思惑はどこにあるのか。起業してわずか4年と少し、従業員20名しかいない若い会社である。社員の平均年齢は30歳、及川氏がその平均を大きく引き上げているとか……。

 個人的には、彼らの頭の中にこそ、日本という国が「モノヅクリ」というシバリから逃れて、国際社会の中で生き残るための策が眠っているようにも感じるのだ。