このページの本文へ

背景には技術的問題、それともAppleとの確執か?

新Webエンジン「Blink」—GoogleはなぜWebKitを捨てたか?

2013年04月08日 20時00分更新

文● 鈴木淳也(Junya Suzuki)

  • この記事をはてなブックマークに追加
  • 本文印刷

なぜAppleとGoogleはWebKitで分裂したのか

 WebKitの源流は、1990年代後半にKDEがオープンソースとして開発を進めていたKHTML(KDE HTML)というWebレンダリングエンジンにある。当時NetscapeのGecko、MicrosoftのTrident(Internet Explorer)という形で2つのメジャーなレンダリングエンジンが存在したが、それとは独立する形で進んでいた。

 後に、AppleがKHTMLをForkする形で分岐し、大幅な改良を加える形で誕生したのがWebKitだ。WebKitが誕生した2002年前後はInternet Explorerのシェアが圧倒的で、その対抗勢力としてのMozillaプロジェクトのFirefox(Gecko)という構図であり、WebKit自体はさほど注目されていなかった。

 WebKitが注目されるようになったのは、AppleがInternet Explorerとの決別を表明し、Mac OS X 10.3でWebKitベースのSafariを標準バンドルしたことが契機だろう。Appleが積極的にWebKitに取り組むようになってからOS X特有のポーティングコードが挿入されるようになり、さらに2005年のオープンソース化でプロジェクト自体も大きく進展することになった。

 WebKit自体はiPhoneのMobile Safariを含むAppleのさまざまな製品で広く採用されており、WebKit立ち上げの大きな功労者として「Appleがリードするプロジェクト」という側面を持っている。実際、WebKitにおけるAppleの功績は大きく、後にKHTMLがWebKitのコードを逆輸入(バックポート)したり、プロジェクト自体のマージを図るなど、Fork元であったKHTMLを逆にほぼ吸収するまでに至っている。

 AppleがWebKitをGeckoやTridentに並ぶ第3勢力に押し上げた功労者だとすれば、WebKitをWebブラウザー界最大の勢力にまで成長させたのはGoogleの功績だ。GoogleはオープンソースプロジェクトとしてのWebKitに積極的に関わるようになり、2008年にはWebKitをベースにしたWebブラウザー「Chrome」の発表と、そのオープンソースプロジェクトである「Chromium」の立ち上げを行なった。

 その後の情勢は多くがご存じだと思うが、StatCounterによれば、2012年5月の時点でWebブラウザーの最大勢力だったInternet ExploreをChromeが抜き、本稿執筆現在でChromeは4割近いシェアを獲得している。同じレンダリングエンジンを使うSafari、そして後述するOperaを合わせれば、実にWebブラウザーシェアの半分近くをWebKitが占めていることになる。

 Chromeが躍進した背景にはPCブラウザーでの利用もさることながら、モバイルOSとしては圧倒的なシェアを誇るAndroidの存在が大きいとみられる。

 だが結果として、このAppleとGoogleの互いの役割分担が理由で両社の間に埋めがたい溝ができてしまったといえるかもしれない。ひとつは技術部分に関する相違で、前述のBarth氏が指摘するようにGoogle側がアーキテクチャを変更したい部分と実際のWebKitとの乖離があり、これが技術改良を阻害していたという面だ。WebKitは複数のプラットフォームを対象にしたポーティングコードを内包しており、改良を加えるごとにプロジェクトの複雑性が増すという悪循環にあった。

 ふたつ目は政治的な理由で、Apple側には「WebKitを発展改良させたのは自分たちだ」という自負があり、プロジェクト自体も「Appleの影響下にある」という意識がどこかしらにあった。一方でGoogleは後から参画したという面こそあるものの、多くのコード貢献を行ない、実際にWebレンダリングエンジンとしてのWebKitを最大勢力に育て上げたという実績がある。こうした行き違いが互いの溝を広げ、プロジェクト分離に結びついたと考えるのが自然だろう。

 実際、互いのプロジェクト分離が表面化してから、WebKitとBlinkで互いに自身とは直接関係ないコードを速攻で削除することを表明したりと、従来のWebKitがすでに分解寸前だったことは随所でうかがえる。

 これに関して、WebKitのMLであるwebkit-devでのGoogle陣営とApple陣営のやりとりを簡潔にまとめたScene Research StationのBlogが興味深いので、ご覧いただくといいだろう。

 簡潔にいえば、Apple側がChromium関連のポートを無視するような変更を行なったり、勝手に独自の変更を加えたりといった行為が続いており、前述のBarth氏を含むGoogle側関係者がAppleの一連の行為に対して過去に何度も苦言を呈していたというものだ。

 Appleにしてみれば後からきたGoogleの細かい事情など知ったことではないかもしれないし、Googleにしてみればプロジェクトに貢献しているにも関わらず扱いが悪いという不満もあるだろう。もともと技術的な問題もあり、これが一連の非難の応酬を契機に噴出、Blinkへの移行という一連の流れにつながったと想像できる。

注目ニュース

ASCII倶楽部

最新記事

プレミアムPC試用レポート

ピックアップ

ASCII.jp RSS2.0 配信中

ASCII.jpメール デジタルMac/iPodマガジン