Rich Lab. Blog

「まつらリッチ研究所」の研究の一環で、はてなブログ上にブログを公開。でもなぜか買い物カゴが……。はてブはそんな機能あったっけ?

2017年、POSIX原理主義は世界に進出する

この記事はPOSIX原理主義 Advent Calendar 2016の最終日です。

Advent Calendar 2016完走のご挨拶

さて、このAdvent Calendarを読破してくださった皆様、そして当番の日に執筆してくださった皆様、この25日間おつきあいくださりありがとうございました。主催者でもない私が挨拶するのもおかしなものですが、POSIX原理主義という考え方を提案した張本人として、こういう場を用意してもらえたことに心から感謝します。

まだ埋まっていない日もありますが、当番の方が読み応えのある内容で後日必ずや埋めてくれるはずですの期待してお待ちください。

後日埋まるはずではありますが、節目の25日を迎えたということで、POSIX原理主義を来年どうしていくかの抱負を語り、一足先に完走のご挨拶に代えたいと思います。

今年は、大きな一歩を踏み出した年

POSIX原理主義という考え方。これは、私の中で2014年頃に生まれました。それまでもPOSIXに準拠すると何だかラクになるなぁというぼんやりとした思いはあったものの、一つの概念としてしっかり命名したのはこの年でした。また同年、PHPカンファレンス2014参加したのが公の場でのデビューでした。なぜPHPのイベントだったかというと、この年のPHPconでは、言語を問わないLT大会が催されたからでした。

あれから2年。POSIX原理主義に基づくソフトウェアを書き貯めつつ、今年は学術論文を発表したり、Bash on Ubuntu on Windowsの登場によるOSの壁崩壊という大革命に合わせてPOSIX原理主義の理論を完成させ、その内容で商業出版を果たしました。

でも、今年何より大きかった出来事はPOSIX原理主義の支持者が現れ、仲間ができたことでした。私も、提唱者とはいえ一人の人間。気が付かない間違いや辿り着けないアイデアがあり、そして一つの体ではやりきれないこともたくさんあります。そこを補完してくれる人というのは今後の発展のためには欠かせない存在です。

今年もついに、できなかったことがあった

POSIX原理主義はとても切れ味の良い、優れた理論であると思っています。現代ソフトウェアは、目先の性能や利便性ばかりを追求し、長持ちさせるという発想がどこかへ抜けてしまっているものばかりですが、長持ちさせたいというニーズに応えられる貴重な解であり、パラダイムシフトを起こす存在だとさえ思ってます。そして優れたコマンドもいくつか作ってきました。

どれもヒットしてもおかしくない出来映えだと思っています。JSONパーサーのjqやジェネレーターのjoなど、starが何千個もついているわけで、それよりも優れた出来である自信があるので当然もっとstarが付いてもよさそうなものです。

しかし現実には2ケタの差があります。同じように疑問を持つ方もいらっしゃいます。

これが、今年できなかったこと。つまり、優れているのに全然普及しなかったということです。なぜなんでしょう?

この本が、できない理由を教えてくれた

オライリー・ジャパンが発行している

という本に答えが書いてありました。じつは、数年前に購入していた本だったのですがの本棚に挿したまま読んでいませんでした。良いソフトだとおもうのに流行らないのは「何でだろう」と思うようになっていて、この本を読んでみたらあっさり答えに辿り着きました。ちなみに、この本のすべての内容はWebでも読めます。

この本は、書名のとおりオープンソースソフトウェアを普及するための枠組みを作るための作法について書かれたものです。特徴的なのは、「こうやると失敗する」「こうやらないと失敗する」ということを具体例を示しながら解説している点です。

そして、POSIX原理主義ソフトウェアが流行らない理由に対する答えは、第2章「さあ始めましょう」に書いてありました。

「手持ちのもので始めよう」節より
フリーソフトウェアプロジェクトの立ち上げ時に最も厄介なのは、 個人的なビジョンをみんなにわかる形に置き換えることです。 あなた (あるいはあなたの属する組織) にとっては何がやりたいのかは明白でしょう。 しかし、そのプロジェクトの目標が何なのかを一般にもわかるように表明することは、 それなりに大変な作業です。しかし、 かならず時間を割いてそれをやらなければなりません。

つまり、「限られた時間の中で、ドキュメント作りと新たなコード作成どっちに時間を割く?」と問われたら、後者を選びたくなるけどそれが罠だと言っているのです。

しかも、

インターネットのデフォルト言語が英語となっている という事実を無視することはできません。

といって、英語を前提をすべきことまで示唆されていました。

我々の作ったソフトウェアを振り返ってみるとどうでしょう?ドキュメントはほとんどありません。シェルスクリプト中のコメントはまぁまめに書いていますが、ほとんど日本語です。

ドキュメントがないということは、空気も同然です。つまり、見えないということです。見えないということは、使う人も現れないのはもちろん、プロジェクトに参加しようとする人も現れません。参加しようかどうしようか、迷うことすらできないのですから。

来年はPOSIX原理主義のコミュニティーを立ち上げる!

というわけで本の教えに従って、来年は次の活動に力を入れます。

(1) コマンドのマニュアル、POSIX原理主義のドキュメントを整備します

まずは、本で指摘されれいた罠に見事にハマっていたことを反省し、これまで作ってきたコマンドのドキュメントを作っていきます。まずは母国語たる日本語で書いてフォーマットの確立や説明シナリオを確立し、次々英語に翻訳していきます。

特に完成度の高いと感じている「Parsrs」や「小鳥男」を優先してドキュメント化していきたいです。

並行して、POSIX原理主義を実践していくうえでのドキュメントの整備・翻訳も進めます。具体的に言うと、

のことです。さらに、このAdvent Calendarに寄稿してくださった有用なTipsも対象にできれば理想です。

「満足に英語使えるのか」ですか? 幸い今年、

というニュースがありましたし、たぶん大丈夫でしょう!

(2) POSIX原理主義のWebページを作ります

ドキュメントを作ることは確かに重要ですが、それらを一覧的に見られるWebサイトも重要です。そもそもPOSIX原理主義は思想が大事ですので、そういう話を語る場所が必要になります。

案の定、そういったWebサイトが必要であることも同じ本の同じ章に書かれています。もうこれはさっさと作るしかありません。それでもう名前は決めてあります。

posixism.org です。

POSIX fundamentalism、略してPOSIXismというわけです。もうドメインは押さえてあります。始めはほとんど中身のないサイトだと思いますが、できたらアナウンスします。

(3) POSIX原理主義のコミュニティーを作ります

POSIX原理主義の今後の構想をすればするほど、もっと多くの仲間が必要だなと感じます。ドキュメント整備やコード開発の仕事を手伝ってくれる仲間になってくれる人がいるとありがたいところですが、始めからそんなことは望みません。

一緒にPOSIX原理主義を楽しみ、実践してくれる仲間を増やしたいです。だいたいどんなプロダクトもそうですが、利用者の数が多いほど価値が高まります。

そのために、どこかのつてを探して定期的な勉強会など開けないかと画策します。見事開催が実現したら

  • POSIX原理主義のどこが良くて悪いのか
  • コマンドやデータの在り方
  • UNIX哲学に基づくプログラミングやデータモデリングはどうやるべきか

などの意見交換をしたいと。例えば、先日のAdvent Calendar 21日目でシェルショッカー総統の321君が、「revやseqコマンドはなぜ優れているのか」ということを語っていましたがまさにああいう議論であり、意見交換をしていきたいです。

今でもTwitter上などで何となくは議論していますが、オフラインで本格的にやりたいですね。

英語……。うーん英語圏の人とも議論できたら理想ですね。

世界を“Great!”と言わせ、日本人に「すごい!」と言わせる。

今年は

が大ヒットしましたが、このコンテンツのヒットの経緯を見ても、日本人は自力でいいものを見つける力が弱いんじゃないかと思います。なぜ世界レベルのコンテンツ力をもった作品が海外を経由しないと流行らないんでしょうね。

技術も同じです。青色LEDもそうですし、既に八木・宇田アンテナが発明された時代にこの気質はありました。日本発のソフトウェアで有名なものはほとんどありませんが、よーく調べてみると、日本人の目に留まらかったことで、優秀なのに消えて行ったり、海外に流出してもともと日本で生まれたものだともはや誰にも知られていないものが意外に多く存在します。

POSIX原理主義がドキュメントの英語化に拘るのもこういう意図があります。海外で認知されなければ、国内ですら生き残れないという危機感です。

だから我々は、POSIX原理主義で世界を“Great!”と言わせ、そして日本で「すごい!」と言わせなければならないと思うのです。

 

というわけで来年、POSIX原理主義は世界に進出します。どうか応援してください。あわよくば、仲間になって一緒に“Great!”と言わせようじゃありませんか!