Githubに主戦場を移した世界のIT人材獲得競争
The software, be open or die
2016.01.08
Updated by Ryo Shimizu on January 8, 2016, 07:00 am JST
The software, be open or die
2016.01.08
Updated by Ryo Shimizu on January 8, 2016, 07:00 am JST
今後、おそらくもはや疑いようもないことは、数少ない例外を覗いては、ソフトウェアはオープンソースでなければ生き残れないということです。特にプロが使うものほどそうです。
2015年はそれが決定的になった年でした。
昨年はPFI(Preferred Infrastructure)社のChainerや、GoogleのTensorFlow、Facebookのtorch7といったディープラーニング(深層学習)向けのフレームワークがオープンソースになりました。
筆者らが開発したディープラーニング用のGUI環境、DEEPstation(https://github.com/uei/deepstation)を同様にオープンソースソフトウェアとして無償公開したのも、オープンソースでなければソフトウェアは生き残れないという判断があるからです。
オープンソースでなければ生き残れないというのはどういうことでしょうか。
例えば従来なら、筆者らが所属する株式会社UEIのようなソフトハウスにとって、DEEPstationのようなGUI環境はそれだけで飯の種でした。
ディープラーニングに興味のある企業に営業して、いくばくかのライセンス料と保守費用を頂戴してビジネスを展開する。これはこれで堅実なビジネスです。
かつてのミドルウェアビジネスとはまさしくそのようなものでした。
しかし現在は事情が大きく異なってきています。
結局、そのやり方で儲けられるケースというのがどんどん減ってきているからです。
従来、ミドルウェアとは囲い込みのビジネスでした。
一度顧客を掴んだら、顧客が他のミドルウェアへスイッチするコストが高ければ高いほどこちらは利ざやを多く稼ぐことが出来ます。
しかし当然ながら、そんなことをすれば最終的には顧客が損をします。
顧客が損をすることが前提のビジネスというのは基本的に不健全なわけです。
ビジネスとは営業、開発、製造のあらゆる局面で局所最適化が起きます。
そして局所最適が全体最適であるとは限らないというのが最適化という問題全体の重要なポイントです。
営業レベルでいえば、一度掴んでしまった顧客が離れ難くすること、すなわちスイッチングコストを上げることは局所最適化されています。
しかし開発レベルでは、他社のスイッチングコストが高い技術は自社でもスイッチングコストが高い技術になり、ビジネスが拡大した際に新しい技術者を雇用したり教育したりすることにコストがかかってしまいます。つまり営業部単体では最適化されているように思えても、会社全体としては最適化されているとは必ずしも言えないのです。
営業マンからすれば「開発者の育成や教育が間に合わないのは開発部と人事部の責任」と逃れることができるので、しわ寄せはそちらに行きます。
開発部からすれば、教育コストの高い自社の専用ミドルウェアよりも、(他社でも使っている)教育コストの低い汎用的なオープンソースのミドルウェアを使いたいと考えるのが普通です。
かつてはソフトハウスのミドルウェアは独自性が高ければ高いほど良かった時代があります。
それはミドルウェアとしてのアイデアそのものよりも、泥臭いノウハウが凝縮されていることの方が重要な場面では特にそうでした。
例えばスマートフォン以前の携帯電話サイトや、金融、会計関連のミドルウェアなどです。
ところが今やスマートフォン向けのサイトはオープンソースのミドルウェアで十分作れるようになりましたし、特殊なノウハウも必要ありません。
ソフトハウスの差別化は、ますます難しくなっています。
するとソフトハウスはどのようにして差別化していかなければならないのでしょうか。
筆者が考えるソフトハウスの差別化要因は以下の点です。
ソフトハウスにとって、最も重要な差別化要因のひとつは実績です。
これは長く続ければ続けるほど積み上げていけるのでRPG式に増えていきます。
実績が少ないうちは利益がでない仕事でもやらざるを得ませんが、実績がついてくると安心して任せていただけるようになります。
次に重要なのは、企画の独創性です。
独立系ソフトハウスでは、意外にも技術よりも企画の独創性の方が強く問われるのです。
企画の独創性が高いと、クライアントの想像力を喚起させます。
クライアントとのコミュニケーションの中で、新しい提案ができるようになります。
クライアントにとって最も価値の高いソフトハウスは、自らの想像力を高めてくれるパートナーとしてのソフトハウスです。
与えられた仕事をただ淡々とこなすのではなく、独自のアイデアや工夫を盛り込みながらシステムを形にしていくソリューションを提案できる相手です。これこそが本来は交換不可能な価値であり、ミドルウェアのスイッチングコストなど、ほとんど問題になりません。
過去、さまざまなクライアント様から、別の会社のミドルウェアを使用していて、スイッチングコストが高いことを承知で、弊社のミドルウェアに乗り換えたいという相談をいただくようになりました。
なぜそう考えたのか伺うと、誰もが「彼らはミドルウェア以外には何も提供してくれないんだ」という嘆きにも似た感想を抱いていました。
そう、クライアントにとって必要なのは、ロボットや自動販売機のように淡々と機能を提供してくれるだけの下請け先ではなく、クライアントにとって不得意な分野を補ってくれるパートナーとしてのサービスだったのです。そういうサービスでよければ、月額数百円から運営できるサーバーが世の中にはゴマンとあります。それでは満足できないから我々のような会社に相談を頂くわけです。
そこで我々は、押し売りのように営業を掛けるのではなく、リピーターとなってくださるごく少数のクライアント様と、口コミやインバウンドでご相談いただく新規のクライアント様に集中してサービスを行うことで実績を積み重ねてきました。
つまり、中小のソフトハウスにとって重要なのはクライアントとのコミュニケーション能力であり、彼らの想像力を刺激し、我々の得意分野がクライアントのやりたいことやクライアントの持つアセットと組み合わさるとどのような世界が実現できるのか、一緒に考えるという機能です。
技術の独自性が差別化要因で企画の独創性の次に来るのはそういうことです。
世の中には技術だけに優れた会社は星の数ほどあります。
ソフトハウスの営業マンが言う、天才プログラマー、天才エンジニア、と呼ばれる人も、会社と部署の数だけ居ると考えてください。それは草野球チームのどのチームにも「エースで四番」が居るようなもので、どの部署でも消去法で一人の天才プログラマーが選ばれるのです。
ですからそういう品のないセールストークには騙されないようにクライアントも訓練されています。
どんな天才プログラマーであろうと、それが何万人いようと、それを率いる企画マンが次第では、彼らの能力は並以下しか発揮されません。天才プログラマーはよくスーパーカーに例えられますが、ポルシェを並の人が運転しても、その能力を限界まで引き出せるわけはありません。
それができるクライアントも稀にいますが、そんなケースは非常に特殊で、そこにはやはり優れた企画マンが間に入ることが必要です。この企画マンはエンジニア出身のことも少なくありません。
逆に卓越した企画マンのもとでは、凡庸なエンジニアも自分の能力以上の仕事をすることができます。
となると、技術そのものの独自性というのはソフトハウスにとって相対的に低い価値になります。
むしろ独自性の強い技術にこだわると、人材の流動性が下がり、必要なときに必要なだけの人材を確保することができなくなります。
しかしソフトハウスとしての技術力をデモンストレーションする場がないのも困ります。
このソフトハウスにはこんな技術があって、こんなエンジニアがいるんだぞということを内外に示すアドバルーンのようなものがないと、優秀なエンジニアを集めることは難しくなりますし、クライアントにしても「あなたがたには本当に技術があるのかね」と疑われてしまいます。
そういうときの唯一の選択肢が、社内のミドルウェアをオープンソースソフトウェアにすることなのです。
社内のミドルウェアをオープンソースにすることは一見、宝の山を道端に放り捨てるようにみえるかもしれません。
しかし実際には違います。
まず第一に、ミドルウェアがオープンソースになっていようがなっていまいが、それを使おうとするクライアントにとっては万が一、依頼先が倒産したとしてもオープンソースのミドルウェアを使っていることでスイッチングコストが下がるので導入メリットはむしろ上がります。
第二に、競争相手となる別のソフトハウスがこちらのオープンソース・ソフトウェアをまるごと盗んだとします。しかし今の大半のオープンソースのライセンス規約では、どのオープンソース・ソフトウェアを用いたか明記しなければならないため、競争相手は間接的にせよこちらの宣伝にも加担しなければなりませんし、それ以上に、競合のオープンソース・ソフトウェアを使うということは、自社にそれに匹敵する技術がないと自白しているも同然です。
オープンソース・ソフトウェアの世界では、どの会社がどのような技術をオープンにしているか常に相互監視されているため、みっともないことをすればすぐに批判の的に晒されます。このあたりはブロックチェーンと仕組みが似ているかもしれません。人力ですが。
したがってまともな神経の会社なら、競合のものを丸パクリしたりはしませんし、仮にしたとすれば軽蔑され、その会社にはまともなエンジニアは転職しなくなります。もし、その会社にまともなエンジニアが勤めていれば、たぶんパクり元の会社への転職を希望するでしょう。
第三に、技術そのものはもはやクライアントがソフトハウスを選択する決定打にはなり得ません。
そしてオープンソース・ソフトウェアとして自社のミドルウェアを公開していることが、そのまま実績に繋がります。
この世界で実績ほど価値が高いものはありません。
ただしこの戦略には明確な弱点があります。
それは常にホンモノの競争に晒されるということです。
今回の記事では主に中小ソフトハウスを題材にしましたが、同様のことは大企業でも起きています。
なぜなら、オープンソース・ソフトウェアにした瞬間、それを作った組織の大小を問わず、全世界的な競争の舞台に晒されるからです。
例えば日本のベンチャー企業であるPFIの子会社、PFNが公開しているChainer(https://github.com/pfnet/chainer/tree/master/)はスターが1000件、Forkが184件ですが、Chainerよりも性能が劣るGoogleのTensorFlow(https://github.com/tensorflow/tensorflow)はスターが15000件以上、Forkは4000件以上です。
これは技術力ではなく、圧倒的な知名度の差です。
どれだけ技術的に優れていても、オープンソースで戦う以上はこうした世界での闘いも覚悟しなければなりません。
それでもPFIとGoogleの企業としての規模の差を考えると、1000件と15000件、わずか15倍の差まで縮まった、と考えることもできます。
それだけオープンソースは動きが激しく、また挑戦者にもチャンスがあるわけです。
ちなみにTensorFlowがどれくらいの人気なのか推し量る指標として、MicrosoftのGithubアカウントも調べてみました。
Microsoftは意外にもGithubの積極的な活用を推し進めていて、MicrosoftのGithubアカウントを持つコントリビューターは1000人以上、人気のあるプロジェクトは、VisualStudio Code(https://github.com/Microsoft/vscode) などで、スターが9000以上、Forkが1000以上となっています。
MicrosoftのGithubアカウントを見ると残酷なまでにプロジェクトごとの人気・不人気の差がわかります。
スターが0、Forkひとケタ台のプロジェクトも少なくなく、逆に言えば国産のオープンソースプロジェクトでもMicrosoftの個別のプロジェクトに負けてないものがけっこうあるということです。
ちなみに国産オープンソースであり、世界的人気を誇るRuby言語のプロジェクトはやはりスター8000以上、Forkが2000以上なので、このあたりがGithubにおけるトップエンドと言えるでしょう。
そうしたものと比較すると、登場からわずか数ヶ月でスター15000を獲得したTensorFlowがいかに絶大な影響力を持っているかわかります。
GithubでTensorFlowに匹敵する人気を誇るオープンソース・ソフトウェアは、AppleのSwift(https://github.com/apple/swift)です。2万5千を超えるスターと3000以上のForkがあります。
世界的な大企業がこうしたオープンソースの場で積極的に自社の技術を発表していくのは、そうした技術を囲い込むことにさほど大きな意味がないと気づいているからです。
それよりも、むしろこういうオープンな場で様々な開発者や開発者予備軍に使ってもらって、自社により優秀なエンジニアを呼び込んだり、自社のミドルウェアをより高いレベルのものにしたりといったことに集中するほうが、ソフトウェアを囲い込むよりもはるかに有意義であると判断したからでしょう。
今後も各企業がGithub上でいかにエンジニアの人気を集めるか、ということは重要な指標になっていくと思われます。
おすすめ記事と編集部のお知らせをお送りします。(毎週月曜日配信)
登録はこちら新潟県長岡市生まれ。1990年代よりプログラマーとしてゲーム業界、モバイル業界などで数社の立ち上げに関わる。現在も現役のプログラマーとして日夜AI開発に情熱を捧げている。