ITProの高橋さんのコラム。
これに対する答えは、質問の解釈の仕方によって変化しそう。
前者であれば疑いはない。 実際にビジネスを回している会社はいくつもあるのだから(成功例がひとつでもあれば可能であることは証明可能)。 後者についての私の答えは「誰にでもできるほど簡単ではないし、将来それほど簡単になるとも思えない」である。 誰でもすぐに気がつくと思うけど、オープンソースビジネスはリスキーだ。 苦労して作ったソフトウェアそのものが無償で配布されてしまうので。
ただし、この記事に対するコメントにあるような、
オープンソースに協力している企業の技術力を示すとありますが、利用者は誰が作っているかなどほとんど見ないので、投資コストには見合わないですね。。。
という意見には賛成しない。オープンソースソフトウェアは配布コストがほとんどかからないので、 できるだけ広く行き渡って、技術力を気にする人のところに届けばそれで十分だからだ。 たとえ99.8%の人が「誰が作っているかなど見ない」かどうかは関係ない。
リスクについていえば、ビジネスには基本的にリスクが付き物だ。 オープンソースというキーワードを利用して競争力を得ることでリスクが減ることだって考えられる。
企業規模によっては、 少々のリスクをとってオープンソースというやり方を「利用」しなければ、 そもそもレースに参加できない。たとえば、うち(netlab.jp)の場合。 投資コストに見合う見合わないの問題ではない。
私には、なにもしないこと、差別化を行わないことが最もリスクが高いように感じられる。 オープンソースを利用するにしても、しないにしても。
言語ビジネスとは、今まで存在していなかった新しい言語によってビジネスしようという試み、と定義しよう。 その他にも、既存の言語の処理系を使ってビジネスする「言語ビジネス」もありえるが、 ここでは扱わない。
私は言語ビジネスを応援したいと思っている。しかし、失敗してほしくないとも思っている。 そこで、言語ビジネスの現状と課題について(Curlを例にして)まとめておこうと思う。
言語ビジネスの難しさは、「新しい言語の価値」にあると思う。
結局は「言語そのものはビジネスにならない」ということの再確認のような気がする。
ではどうするか。思いつくいくつかの方法をあげておこう。
言語ビジネスとは別のルートで言語を普及させておく。
SunがJavaで行ったように、直接ビジネスとは関係のない形で、 無料の処理系を配布したり、オープンソース化したりすることで、 世間に認知してもらう。ついでに企業ブランドを売り込むことを忘れない。
言語ではなく、「機能」を売る
「普通の顧客」には言語はどうでもいい。 言語設計者としては自己否定につながるので認めたくないのだが、事実は事実だ。 そこで「アプリケーション」を売り、その組み込み言語として「新しい言語」をくっつけておく。 たとえばAutoCADのAutoLispとか。
あるいは周辺ツールを売るビジネスもありえるだろう。 たとえばZend Corp.は開発環境Zend Studioを売っている。
既存の言語をジャンプ台にする
既存の言語処理系を使ったビジネスを行いつつ、 独自の言語拡張を付加して「新しい言語」にしてしまう。 たとえばBorlandがPascalにオブジェクト指向機能を追加してDelphi(Object Pascal)を作ったように。
これらのうちいくつかを組み合わせたり、別の方法を導入することで 明日の「成功する言語ビジネス」を見ることができるかもしれない。
もっともこれらを組み合わせても万全ではない。 上で述べた戦略をとっても生き残ることができなかった企業も数多い。 Objective-CのStepstoneも今はなく、EiffelのISCも「かろうじて」という感じだ。 Borlandも傾いている。
そんな茨の道でも頑張ろうというチャレンジャーはぜひ応援したいものだ。
とりあえず、Curlには「言語を前面に出さず、効率の良いWebアプリケーション開発ツールとして売る」戦略をお勧めしたい。Curl言語をオープンソース化するとなお良いが、たぶん無理な相談だろうなあ。