読者です 読者をやめる 読者になる 読者になる

Xamarinの2年半を振り返る

mono

Xamarin Advent Calendar 24日目のエントリーです。クリスマスイヴということで、少しふんわりした振り返り話を書きましょう。

今さら書くこともないでしょうが、わたしはXamarinの中の人をやっています。もともとはMonoの中の人なわけで、Xamarinの中の人としてのポジションでは正直個人的には大したことはやっていません(いやそれはmonoでもか)。特に最近はAndroidの仕事も放置して、今さらMSBuild.exeの実装を勝手にやっているわけでして、いつクビになってもおかしくない仕事ぶりであります。Xamarinとしての仕事は、もう少しネイティブ寄りの開発をさせてくれるかLinux版を出すかしてくれたらやる気3-5倍くらいでコミットするのになぁといった感じでくすぶっています。

まあ戯言はおいといて、今回はわたしからの〆エントリということで(てか2日しか書いていないのですが)、とりあえずゆるい内容として、非技術的な側面から、Xamarinが発足から今までどんな歴史を辿ってきたのか、今どんな会社になっているのか、ざっくり書ける範囲で書こうと思います。一応、書いて問題ないであろう範囲で…

Xamarinは設立2年半の若い会社です。どんくらい若いかというと、3x歳(隠した)のわたしがかなり高齢の部類に属するくらいです。CEOのNat Friedmanは今年で36歳、CTOのMiguel de Icazaも今年41歳で、この業界ではそれほど若くないと思いますが(!)、彼らは15年くらい前にHelix Code(後のXimian)というLinuxデスクトップ開発の会社を設立していたわけで、起業家としては二度目の挑戦ということになります。

Xamarinのスタートラインはたいへん厳しいものでした。Monoチームは解体され、しかも全員が即座にNovellもといAttachmateからレイオフされたわけではありませんでした。国にもよりますが、欧州の労働者保護はそれなりに手厚く、会社都合のレイオフに3ヶ月〜半年を要するメンバーもいました。幸いなことに(?)日本には支社がありましたが*1、そもそも自国法人が無いメンバーもいましたし。そんなわけで、レイオフ後わずか1週間で設立されたXamarinに参加できたメンバーは多くありませんでした。

それでも米国のメンバーは比較的容易に参加できたわけですが、ここで難題が立ち塞がります。Novell時代に開発したMonoTouchとMono for Android(それぞれ当時の名称)はAttachmateに著作権が残っていて、Xamarinではフルスクラッチでこれらを再実装するところから始めなければなりませんでした。Xamarinでは実際にそのようなフルスクラッチ開発が始まったわけですが、フルスクラッチでやる以上、同じ製品の開発メンバーを投入するわけにはいきませんでした。ここでメンバーの総入れ替えが発生します。ここで製品開発に割り当てられたのは、解体されたMoonlightチームでした(今でもiOS方面は彼らが主力です)。メンバーが半々になって、それぞれiOSAndroidに割り当てられました。両方に参加していてMonoMacの基盤も作ったスーパーハッカーがいました。彼はどうすればいいのでしょうか? …無理です。どう考えても無理。彼は日本の某社に転職してしまいました*2。そもそもろくに準備期間もないままに設立したばかりのXamarinには、当然ながら米国の従業員に十分な給料を確保できる保証はありませんでした。家庭持ちのメンバーには安定した職が必要です。同様の理由で、Xamarinにjoinしないことを決めたメンバーが少なからずいました。

絶望的に見えたXamarinのスタートアップですが、1ヶ月ほど経って状況が好転に向かいます。まずNatがMiguelと手を組んでCEOとして参加することが決まります。NatはNovellを途中で辞めた後、旅人として夫婦で世界を放浪していたのですが(それをちょくちょくblogに書いていて、ちょくちょく見ていたのを覚えています)、Miguelが一人では抱えきれない難題を何とか処理するべく彼に相談したのを機に、経営者としてこの業界に戻ってくることにしたわけです。あの2人がまたタッグを組む! 希望が見えてきました。彼は参加するなりその交渉能力を多分に発揮して、2ヶ月のうちに資金調達とAttachmateとの提携・ライセンス供与まで漕ぎ着けます。わたしは実のところNatとの繋がりは皆無だったのですが、実に短期間のうちに、彼がいかに優れた経営者であるかを見せつけられました。わたしがこの時点で参加できると判断したのも自然なことだったでしょう。

この時点でXamarinのメンバーはおよそ20人(この写真の頃ですね)。Natに「厳しいスタートアップだね」と言ったら「いや、うちはすごく恵まれている。どのスタートアップもエンジニアを集めるのがすごく大変なんだ。その点うちは既に腕の確かなハッカーがたくさんいるからね。」と返されたのを覚えています。わたしは「最初からこれだけのメンバーを食わせなきゃいけないなんて無理ゲーすぐるしマイナススタートなんじゃないか…」としか思っていなかったので、その視点にはハッとさせられたものでした。

Natはその後も矢継ぎ早に経営策を立てていきます。Novell時代にMonoチームに全く存在しなかったマーケティングチームとセールスチームを発足させ(この辺はNovell時代にうちのチームが自由に出来なくてもどかしく思っていた部分でもあります)、ボストンのオフィスを開発拠点として据え置いたまま、サンフランシスコに新しくオフィスを設立します(今はこちらにも開発メンバーはいるのですが)。

一方でNatは製品開発にも新しい風を送り込みます。製品に大きく欠落していたドキュメントを重視し、担当のチームを作って新しいメンバーを多数投入しました。MonoプロジェクトとXamarin製品の各サイトに大きな落差があるのは、彼らドキュメントチームの仕事の成果です。Gtkの世界でガチガチに作られたMonoDevelopのユーザビリティを改善するべく、専任のUIデザイナーを雇って、さまざまな改善を施しました。設立初期に大技なhackとして作り上げられていたライセンス処理も、よりプロフェッショナルな製品らしく動作するよう、多大な実装作業が行われました。

この頃の人数は既にだいたい60人くらいでしょうか(この写真の頃です。設立1年目頃に、ひっそりとXobotOSなどというものを作り上げて公開したりなどしている裏では、さまざまな改善策が行われていたわけです。

今年の冬の終わりに行われたリリース "Xamarin 2.0" は、それら全てのピースが出揃って、初めて大々的に行われました。この頃はいろいろ展開が早くて、ライセンスまわりなどはわたしも実際に出てくるまで具体的に把握していなかったものでした。

Xamarin 2.0は、そのリリース単体では終わりません。もうひとつ、マーケティングチームが仕掛けた大きなイベントがありました。Xamarin Evolveです。当初は「この規模の会社で自社イベントを大々的にやって成功するのか…?」と半信半疑というか2信8疑くらいだったのですが、Xamarin 2.0のリリースからほど無い時期に、新製品の機能を中のメンバーが詳しく紹介するということになり、さらにMicrosoftからもHanselmanが来てメイントラックでセッションをもつということで*3、蓋を開けてみるとそこには600人以上もの参加者に来てもらえました。えらい数ですね。もちろん、それまでオンラインでしか知ることのなかったユーザー・ハッカーの著名人の多くとも顔合わせ出来たのでした。イベントの〆にNatが「来年もまたやったら来るかい?」と爆弾を投げ込んだ時の歓声は、もう半年くらいは忘れられません。

Evolveまでの怒涛の流れが一段落ついたところで、しばらく静かになっていましたが、その間にコンサルティングパートナーやリセラーの拡大などを経て(わたしは純粋に開発メンバーなので関与していないのですが、日本でもComponentSource, XLsoftといったパートナーが登場しました)、Xamarinはどんどん拡大していきました。現在は既に100人を突破しています*4。開発面では、Android 4.3やiOS7といった、プラットフォームの新リリースへの追従というかたちで、着実に行われてきました。

そして先月、今年の最後に打ち上げられたのが、MicrosoftのVisual Studio 2013リリースに合わせて発表された、Microsoftとのパートナーシップです。それに合わせて、Xamarin製品も地味に色々なリフレッシュが、主にIDE方面で施されました。ここ2年くらいの間に、Microsoft技術はかなりオープンソースの方向に舵を切っていて、XamarinでもReactive Extensionsの統合やF# プロジェクトモデルのサポートなど、いろいろ取り込んでいるものがあります。Monoがオープンソース.NETの代表であった時代は過去のものとなり、Microsoftが自ら様々なコンポーネントをオープンに公開している時代になった、とわたしは思っています。クローズドソースのライブラリでも、ポータブルクラスライブラリ (PCL)が無償公開*5され、Microsoft.Bclパッケージのライセンスにあった悪名高い「Windowsでのみ使用できます」条項も削除され、Xamarin製品と組み合わせても使えるようになりました。

今回の発表を受けて、日本でもXamarinをいろいろ紹介してくれる人が出てきたり、使ってみてくれる人がいたりと、Xamarinまわりはなかなかエキサイティングで希望の見える存在になっていると思います(しばらく前に.NETがthe dying platformなどと言われたりしていましたが*6、そこでもXamarinが救世主扱いされていましたね)。

…というわけで、Xamarinの2年半振り返りエントリーでした。明日でXamarin Advent Calendarもまさかの(こら)完走ですね…! 大半をドライブしていたあめいさんに敬意を表してたすきを渡したいと思います。

*1:あ、ちなみにわたしはサクッと会社から提示された退職条件に同意して辞めていますw Mono以外の仕事で残るというのはやっぱり考えられなかったので

*2:そういえばMonoを製品に組み込んでいる会社が日本にもあったような気がしますね…

*3:ちなみにわたしは全然彼の話を聞いたことがなかったわけですが、当日は笑いまくりでした

*4:まだこの人数で全員集合したことはないので、写真もありません

*5:オープンソースではなくあくまで無償なんですねー。ここは今後の課題です。何しろOSSプロジェクトが無制約に参照できないので

*6:そんなことは無い気がしますが、Windows本体のシェアが減っているのでそのインパクトはあるかも