死んでしまったOSたちへ

Hajime Morrita
To Phantasien
Published in
5 min readFeb 22, 2017

--

友人が「Android を支える技術」という本を書いた。

自分は本の草稿に誤字脱字探しをしつつ好き勝手言う係としてちょっとだけ手伝った。せっかくなので宣伝してみる。

この本はコード読みブログやアーキテクチャ解読ブログをまとめたような体裁になっている。といっても各章バラバラではなく、本としての連続性はある。そして OS というものを包括的に解説するかわりに Android の特徴的なところ、たとえば GUI フレームワークや VM のランタイムなど、をつまみ食いしている。これは正しいアプローチだと思う。伝統的な OS の話をしだすと Android ってだいたい Linux だからね。Android に限らず、この「伝統的な OS の上にあるプラットホームのレイヤ」の中身を説明した本は少ない。 そこが面白い。

この本の欠点は文章がけっこう slippery なところ。悪い意味でブログぽいというか同人誌ぽい。ただそれは「支える技術」シリーズに共通する特長。好みの問題かもしれない。

ブログぽさといえば、けっこう意見の強い本でもある。ただ仕組みを説明するだけでなく感想や意見がちらほら挟まっている。そこも面白い。淡々とした教科書っぽいのが好きな人はうるさく感じるかもしれない。立ち読みして肌が合いそうなら買って続きを読むのがよさそう。

以下雑談。

著者と自分は元同僚同士だ。遠い昔に自分が新卒で入った ACCESS という会社で、著者は自分の先輩だった。メンターみたいなもの。

今はどうなってるのかよく知らないけれど、当時その会社はガラケー向けのウェブブラウザを売っていた。ガラケー向けの JVM もあった。ガラケーのプラットホームには GUI ツールキットやウィンドウシステムなんてあってないようなものだったから、ブラウザや Java アプリの土台として GUI ツールキットやらなんやらも持っていた。移植性を重んじ、みな C 言語で書かれていた。最終的にはガラケー向け OS みたいなのも作っていた。

著者はそうしたモバイルプラットホームに強い関心があってこの会社に入社したという。主にブラウザ開発周辺を手伝っていたと記憶している。(自分は特にこれといった狙いもなく入社し、なりゆきでブラウザのおまけにつける SVG 実装を書いていた。)

ブラウザにせよ JVM にせよ GUI ツールキットにせよ、広くは「OS の上にあるプラットホームのレイヤ」にあたる。だから自分たちはそのジャンルのことを一定程度よく知っていた。たとえば自分が10年以上前に書いた「いまどきのデスクトップ処理系」という文章は、GUI とかどうやって作るもんなのかな、と調べたときの知識に基づいている。関心の軸はそれぞれながら、同僚たちはみなアプリケーション・プラットホームのありように関心を持っていた。それが仕事の一部だったから。

その後著者は Microsoft に転職し、C# でウェブ関係の製品開発をしながら Longhorn (Windows Vista) が盛大にコケていくのを遠くから眺めていた。OS 好きの著者は落胆したことだろう。しばらくすると会社をやめ旅に出てしまった。(自分は職を転々としたあと運良く Chrome の開発チームにまぜてもらい、楽しく C++を書いていた。)

著者や自分の退職と前後して、最初の勤務先は次世代ガラケー OS みたいなやつの開発に社運を賭けて挑み、失敗した。Microsoft は次世代 Windows たる Longhorn の開発に社運を賭けて挑み、失敗というと怒られそうだけど当初の野望には遠く届かず終わった。巻き添えでモバイルの波も逃した。(Google は当時たぶん大して社運もかかってなかったであろう Android を成功させた、というか Android が勝手に成功した。)

著者は OS 二つの失墜を身近なところで見届けたあと Android の勃興を目にした。しかも件の次世代ガラケー失敗 OS は、モバイル OS の先輩格(当時)である Palm Source が開発したテクノロジに基づいていた。一方の Android は Palm Source じゃない Palm, PalmOne 社(ハードウェアとソフトウェアで分社化していた)の残党が中心となって開発したもの。言ってみれば生き別れの兄弟同士、何が成否を分けたのか。しかも AOSP はオープンソースでコードが読める。著者が Android に興味を持った経緯は想像に難くない。

調べてみると、Android は著者が若き日に夢みていたモバイル OS そのものだった。ガラケー時代には絵空事に思えた様々な最新テクノロジ(マルチコア CPU, GPU, JVM/Dalvik など)が大活躍している! 著者は熱狂し、Android にのめり込んでいった。(そのころ自分はガラケーブラウザを皆殺しにした WebKit にしょぼいパッチを書きながら、Chromebook まあまあいいじゃんとかいって会社支給の Nexus たちに埃をかぶせていた。)

そんないわくつきの Android 大好きっ子というかおっさんによる総決算がこの「Android を支える技術」である…という背景トリビアを持って本書を読むと、時々差し込まれる唐突なコメントやコラムも味わい深く読めて二度美味しい、かもしれない。(自分は総決算だと書き始めたブラウザ本の執筆であっという間に挫折、編集者様に合わせる顔がないと国外に逃げだして、ブラウザのこともすっかり忘れてしまった。)

ちなみに続編も出るそうです。

--

--