2018年から2,3年かけて立ち上げたい新規事業:データ処理ツールの開発 - 2018-07-11 - ククログ

ククログ

株式会社クリアコード > ククログ > 2018年から2,3年かけて立ち上げたい新規事業:データ処理ツールの開発

2018年から2,3年かけて立ち上げたい新規事業:データ処理ツールの開発

クリアコードの新規事業の立ち上げに取り組むことが多い須藤です。

どういう事業を立ち上げたいかは社内だけで共有することもできますが、クリアコードのポリシーは「デフォルトで公開して共有」なので、ここにまとめています。私が取り組むときは1人で少しずつ進めていたのですが、今回はだれかと一緒に取り組めるといいなぁと思っています。興味があるクリアコードのメンバーは今月中に一度取り組み方を相談しましょう。興味があるクリアコードメンバー以外の人には選択肢が2つあります。1つはクリアコードに入社して一緒に取り組む方法です。もう1つはビジネスパートーナーとして一緒に取り組む方法です。

クリアコードの新規事業立ち上げのパターン

クリアコードは今月から第13期目に入っています。創業時からフリーソフトウェアの推進と稼ぐことの両立を大事にしていますが、それの実現方法はずっと同じだったわけではありません。創業時から変わらずやっていることもあれば新しく始めたこともあります。新しく始めるときはあまり意識せずに取り組んでいたのですが、ふりかえってみるといつものパターンがあることに気づきました。このパターンを知っておくことは今回の取り組みでも役に立つはずなので、まずはそれをまとめます。

新しく立ち上がった事業で大きなものは以下の事業です。

  • milter関連

  • Groonga関連

  • Fluentd関連

  • 組み込みGecko関連

どれも最初に主要なソフトウェアの開発に参加し、徐々に事業の幅を広げていき、結果的に大きな事業になりました。

milter関連はmilter managerを新規に開発しましたし、Groonga・Fluentd・組み込みGecko関連はGroonga・Fluentd・Firefox本体の開発に参加しています。このうち、組み込みGecko関連以外は開発自体でお金を稼げていました。

徐々に事業の幅を広げていくやり方は次の通りです。

  • お金をもらって開発する範囲を広げる

  • 複数のお客さんから仕事がくるようにする

最初のやり方の実現方法は、初期の開発にお金を払っていたお客さん(だいたいは「主要なソフトウェア」の開発元)がもっとクリアコードに開発をして欲しいと思えるようにする、です。具体的には、継続的に成果を出し続けたり、要所要所で魅力的な今後の開発の提案をしたりします。

2つ目のやり方は、初期の開発にお金を払っていたお客さん以外からも仕事がくるようにする、ということです。複数のお客さんと仕事ができると、金額が増えますし内容の幅も広がります。

2つ目のやり方の実現方法は、クリアコードが開発した成果・持っている知見を公開し広く共有する、です。クリアコードの営業力では一緒に仕事できそうなお客さんを見つけることはできないので、お客さんにクリアコードを見つけてもらえるようにするための方法です。有用な情報を提供しているとお客さんが見つけてくれることがあります。

ただ、どんな情報が有用かはわからないので、情報を選別せずにできるだけ多く提供します。あるお客さんには「本体の開発に参加している」という情報が有用かもしれませんし、他のお客さんには「○○する方法」という情報が有用かもしれません。そもそもクリアコードののポリシーは「デフォルトで公開して共有」なので、選別せずにできるだけ多く共有する方が私たちにあっています。より多くの情報を共有した方がフリーソフトウェアの推進につながりますし、お客さんに見つけてもらうことにもつなが(ることがあ)ります。

クリアコードはできるだけ開発した成果・持っている知見を公開できるような契約で受注します。たとえば、開発した成果はユーザが自由に使えるライセンス(開発対象のソフトウェア周辺でよく使われているライセンスを選択することが多い)で公開する、という契約です。この方針にマッチしないお客さんもいますが、クリアコードに問い合わせてくれるお客さんの場合はだいたいマッチします。たとえば、Groonga・Fluentd本体を開発した場合、開発成果を隠すよりも、より多くのユーザーが自由に使えるようにした方がGroonga・Fluentdの普及につながるので、お客さんのメリットとマッチします。

開発した成果は対象ソフトウェアの通常のリリースに組み込んで公開し広く共有します。

持っている知見は、公式ドキュメントに反映したり、クリアコードのブログ(ここのこと)にまとめたり、イベントで発表して広く共有します。

これまでの経験では、このような取り組みを継続的に続けて2,3年くらい経つと徐々にお客さんに見つけてもらえるようになります。2,3年ずっとこの取り組みをフルタイムでやっていると売上が足りないので、他の仕事をしながら少しずつ継続的に続けます。一時的に集中して取り組むのではなく、細く長く取り組みます。

いままでの私たちの新規事業の立ち上げのパターンはこんな感じです。

これから立ち上げたい新規事業

それではここ数年をかけて立ち上げたい新規事業について説明します。

データを処理するツール群を開発する事業を立ち上げたいです。理由は私がやりたいからです。(どーん)

この4,5年、データ関連のことに少しずつ関わってきてデータを処理するツール群を開発したいなぁと思うようになりました。どんな感じで関わったかというと、自然言語データを扱うGroongaを開発していたり、ログデータを扱うFluentdを使ったりプラグインを書いたり、Red Data ToolsというRubyでデータを処理するツール群を開発するプロジェクトをはじめたりしていました。データを分析したいのかも?と思っていた時期もありましたが、データを分析するよりもデータを分析するツールを作る方がやりたいと気づきました。

データを分析するビジネスや分析してビジネスに活かしている組織はたくさんあるので、そのような組織を支援することで、データを処理するツールの開発を仕事にできないかなぁと考えています。(新規事業を立ち上げるときに考えている「こんな仕事になるといいかも!?」はだいたい外れてきたので、これも外れる可能性の方が高そう。)

Red Data Toolsでは「Ruby用」にフォーカスしていますが、Rubyに限らずいろんな言語で使えるツールに取り組めるといいなぁと思っています。たとえば、ここ数年私が開発に参加しているApache Arrowもいろんな言語で使えることを大事にしています。

私が考えている進め方は次の通りです。必ずしもこの進め方でやりたいというわけではなくて、私が持っているただの1案です。一緒に取り組む人と随時相談しながら進め方を考えていけるといいなぁと思っています。

まずはApache Arrowの開発に参加します。理由は、Apache Arrowはデータ処理の文脈で重要なソフトウェアになる可能性が高いからです。これは、Rubyにとってもそうですし、PythonやJavaなどRuby以外の言語にとってもそうです。

参加の仕方はいろいろありますが、プロジェクトメンテナンスまわりに取り組むのはどうかなぁと思っています。今、Apache Arrowはプロジェクトメンテナンス面でリソース不足なので、そのあたりで価値を発揮できるとApache Arrowの開発が捗りそうだからです。ただ、いきなりプロジェクトのメンテナンスはできないので、私に聞きながらドキュメントの不足部分を追加したり他の人のpull requestをレビューしたりしつつ中身に詳しくなっていくのはどうかなぁと思っています。中身に詳しくなっていけば徐々にプロジェクトメンテナスまわりもできるようになってくるはず。

開発に参加するときの時間の使い方は、一気に集中的に取り組むよりも少しずつ継続的に取り組む方が向いています。Apache Arrowの開発はタイムゾーンがバラバラの世界中の人達が関わっているので、他の開発者の人たちとのやりとりが進むのは半日後や1日後になるからです。

Apache Arrowの開発に参加することと並行して、私に聞きながらApache Arrow関連の情報を発信していきます。イベントで発表したり、クリアコードのブログ(ここのこと)やApache Arrowのブログに記事を書きます。英語で情報がまとまっていないものはApache Arrowの公式の情報として公式サイトに載せます。英語ではまとまっているものは、日本語で情報をまとめます。日本語でまとめるときは英語の情報のサマリーや英語の情報を理解するための前提知識の説明をするにとどめて、詳細は英語の情報を参照してもらうようにするのがいいんじゃないかと思っています。理由は、日本からも開発に参加する人が増えるといいなぁと思うからです。(日本だけでなく世界中から開発に参加する人が増えるといいと思っています。)日本から開発に参加するときの最初の一歩のために日本語情報があるのは価値があると思います。ただ、日本語だけで閉じて世界中の開発者とやりとりをしなくなるのはアレなので、英語の情報も参照するパスがあった方がいいんじゃないかと思っています。

Apache Arrow関連のことに慣れてきたらApache Arrow周辺のことも同様に進めていくのがよいのではないかと思っています。そうやって、開発に参加しつつ得られた知見を共有していくことで、徐々に「クリアコードと協力してデータ処理ツールの開発を進めるといいかも!?」と思ってくれるお客さんが増えてくれるといいな!

まとめ

クリアコードの新規事業としてデータ処理ツールを開発する事業を立ち上げたいという話をまとめました。また、前提知識としてこれまでの新規事業の立ち上げパターンもまとめました。

興味があるクリアコードのメンバーは今月中に一度取り組み方を相談しましょう。クリアコードメンバー以外で興味がある人は、クリアコードに入社して一緒に取り組むビジネスパートーナーとして一緒に取り組むかしましょう。