MozillaのFirefox OS公式ページ

「第三のOS」の現在 ~iOSとAndroidの壁を前にしての紆余曲折~ 前編

  • このエントリーをはてなブックマークに追加

by [2016年1月25日]

MozillaのFirefox OS公式ページ

MozillaのFirefox OS公式ページ

事実上iOSとAndroidがモバイル機器向けOS市場を2分するようになった2012年頃から、これら2系統のOSによってほとんど寡占状態となった市場に割って入りシェアを一定の確保することを狙った新しいモバイル機器向けOSが人々の注目を集めるようになったことがありました。

具体的に言うと、当時以下の各OSが話題になっていました。

 ・Firefox OS
 ・Tizen
 ・Ubuntu Touch

他にも、Microsoftによる買収以前にノキアが開発していたOSに由来するMeeGo(※注1)などもありましたが、当時の日本国内で並行輸入品など以外の形で、つまりキャリア各社から搭載製品の発売が期待できた/できそうであったものとして、これら3種のOSが注目を集める状況になっていたのです。

 ※注1:後のSailfish OS。ただし、その一部は分派してTizenに合流しています。GUI周りが大きく異なりますが、そうした来歴から技術的な系譜としてはTizenの祖先にあたるOSの1つと言えます。

しかし、それからおよそ4年経った2016年1月の時点で、これら3種のOSが話題になることは当時と比較して格段に少なくなってしまっています。

そこで今回は、一時は大いに盛り上がって話題になっていたこれら「第三のOS」候補(※注2)がどこでどうなって今どうしているのかについて考えてみたいと思います。

 ※注2:そもそもの話として、これらが「第三のOS」と呼ばれていること自体、当時iOSやAndroidからは大きく引き離されていたとは言え、それらに次ぐ市場シェアを確保していたWindows Phoneが綺麗に無視されていたことを示しており、色々興味深いものがあります。

第三のOSの特徴

今回主に取り上げるこれら「第三のOS」には、2つ大きな共通点があります。

TIZEN SDK 2.0 Magnolia同梱のエミュレータ上でシェル(コマンドシェル)を起動し、そこでvi(LinuxをはじめとするUNIX互換OSで標準的に利用されているテキストエディタ)を起動した状態。通常のパソコン版Linuxディストリビューション各種などの場合と同様にVIM(拡張版Vi)がそのまま起動している

TIZEN SDK 2.0 Magnolia同梱のエミュレータ上でシェル(コマンドシェル)を起動し、そこでvi(LinuxをはじめとするUNIX互換OSで標準的に利用されているテキストエディタ)を起動した状態。通常のパソコン版Linuxディストリビューション各種などの場合と同様にVIM(拡張版Vi)がそのまま起動している

1つめは、いずれもOSとしての基本的な部分、つまりファイルシステムやメモリマネージメントシステムといった中核的な機能、分かりやすく言えばOSのカーネルの部分をUNIX互換OSであるLinuxのそれに依拠・流用していることです。

これはオープンソースプロジェクトとして開発されていて様々なプラットホームでの動作実績があってソースコードレベルである程度「枯れている」、つまり一定程度不具合が潰されていて動作の信頼性が高いことや、開発ツールが整備されていること、それにOS使用に伴うライセンス料の支払いが発生しないことなどによるものと考えられます。

現在のコンピュータのOSは大型汎用機やスパコンなどの専用OSを別にすると、もはやプロプライエタリなMicrosoftのDOS→Windowsの系譜とLinuxを含むUNIXとその互換OSの系譜の2系統が大半(※注3)でそれ以外は事実上市場での競争力を喪ってしまっている状況ですから、オープンソースで比較的自由に手を入れられて、かつ無償での利用の可能な後者がベースとして利用されるのはある意味当然のことではあります。

 ※注3:他にも日本で開発されたTRONプロジェクトの各OSや、組み込み機器用のミニマムなリアルタイムOS(RTOS)各種などがありますが、TRONはパソコン向けのBTRON系の「超漢字」が多言語での学術的な用途で細々延命されているのを別にすれば他は組み込み機器用のITRONがあるばかりで、他の独自RTOSも含めほとんどユーザーの目に付くところで表に出ないタイプのものとなっています。なお、MicrosoftもかつてはXENIXと称してAT&Tから正規のライセンス供与を受けた真っ当なUNIXのパソコン向け移植版を開発販売(実は正式なライセンスを受けた商用UNIXとしては史上初)しており、その名残でWindowsにもWindows Meまで、つまりいわゆる9x系のWindowsまでXENIX互換のシステムコールが残されていました。

実際、GUIレベルではあれほど独自色の強いAppleのiOSやその元になったOS Xでさえ、そのルーツであるNeXTSTEP(※注4)経由で4.3BSD(※注5)およびBSD系UNIX互換OSの血統を受け継いでおり、スクラッチで全く独自のOSを開発するのでもない限りは、開発ツールの豊富さやそれに慣れた開発者の多さもあって、UNIX互換OS以外をベースにするのは難しい状況にあると言えます。

 ※注4:かのスティーブ・ジョブズが社内抗争に敗れてAppleを一旦退社した後、大富豪であったロス・ペローの支援を得て開発した教育用コンピュータ「NeXT」の標準搭載OS。アメリカ国防総省の後援で開発されたMach(マーク)と呼ばれるマイクロカーネルを搭載する4.3BSD UNIX互換OSに独自のGUIシェルを組み合わせ、開発当時としては突出して先進的な、ある意味先進的すぎたGUI環境を提供しました。このため、NeXTを買収しNeXTSTEPを手に入れたAppleによって開発された現在のiOSにもBSD系UNIX由来の部分がカーネルなどに多々残されています。なお、世界初のウェブブラウザであるWorldWideWebがこのNeXTSTEPとそのオブジェクト指向開発環境を揺籃としたことでも有名です。
 ※注5:かつてカリフォルニア州立大学バークレー校(University of California, Berkeley:UCB)で開発されていたUNIXの派生バージョンで、BSDという名はBerkeley Software Distributionの略です。4.3BSDはUCBが1986年6月にリリースしたBSD末期のバージョンで、仮想記憶機構の改良やUNIX系OSにおけるインターネット接続に必要な機能を確立するなど、その後のUNIX系OS各種ばかりかWindowsなど技術的な系譜の異なるOSにまで大きな影響を残した重要なバージョンとして知られています。

具体的に言うと、マルチCPUコアによるSMP(Symmetrical Multi Processing:対称マルチプロセッシング)機能や高度なメモリ管理機能などを含むOSカーネルやファイル管理システム、それにGUIシェルを一から開発するとなると単にコードを書くだけでは駄目で、様々なシチュエーションでの動作検証を行って信頼性を確認しなくてはなりません。つまり、莫大なマンパワーと時間、そして何より巨額の開発費用がかかってしまいます(※注6)。

 ※注6:例えばLinuxでSMPへの対応がまともに実装されてそこそこ使えるようになるまでには、問題点を見つけ出しては不具合を潰し、さらに必要と考えられる機能を段階的に追加する作業を行う必要があって、とりあえず最低限のコードによる原始的な実装でSMPがサポートされるようになったカーネルバージョン2.0(1996年リリース)の頃からバージョン2.6の頃まで7年以上かかっています。また、Windowsでも現在使用されているNTFSと呼ばれるファイルシステムが当初計画されていた機能のフルサポートを実現するまでファイルシステムの3回のメジャーバージョンアップと7年の時間を必要としています。

スマートフォンでマルチコアCPU搭載のためにSMP機能への対応が当たり前に必要とされ、強力なGPUや大容量のストレージが搭載される昨今、こうしたモダンOSの主要構成要素を新規にスクラッチで開発するのは、ほとんど自殺行為に近い状況なのです。

そもそも、現在モバイル機器用OSとして一大勢力となっているAndroidもカーネルやファイルシステムなどの基礎的な部分をLinuxに依拠していて、それ以外の付加要素によって大きな成功を収めているのですから、開発リソースを差別化できる固有部分や標準搭載の付属アプリなどに集中投入してOS全体の完成度を上げるためにも、その方法論を真似しない手はないわけです。

2つめは、いずれのOSもHTML5との親和性を前面に押し出していたことです。

これは単に当時の流行に乗っただけでなく、既に多くの開発者がいるHTML 5+CSS+JavaScriptを使用することでWebプログラマがそのままアプリ開発者となれる仕組みを提供し、新OSの開発でしばしば鶏卵問題を引き起こすアプリ開発者不足を比較的容易に解決できるようにするという重要な意味合いを持っていました。

Firefox OSではこの図で示したとおり、HTMLレンダリングエンジンであるGeckoの上で直接Webアプリが動作するのみで、ターゲットマシンに搭載されているCPUのネイティブコードで書かれたアプリは存在しない。

Firefox OSでは、HTMLレンダリングエンジンであるGeckoの上で直接Webアプリが動作するのみで、ターゲットマシンに搭載されているCPUのネイティブコードで書かれたアプリは存在しない。

中でも特に、Firefox OSがネイティブコードでのアプリ動作をばっさり切り捨てて、標準搭載Webブラウザのレンダリングエンジン上でHTML 5+CSS+JavaScriptを用いて書かれたアプリを実行させるようにすることで代替するという思い切った方針を示したことは、(ある意味潔癖すぎる理想主義的な青臭さが目立ったものの)注目を集めました。

このFirefox OSの基本コンセプトにはネイティブコード動作に必要なAPIやライブラリを最小限にとどめることで、HTML 5で書かれたWebアプリをWebブラウザ上で動作させることで、アプリ開発者不足問題を解決するだけでなく、OS動作に必要となるリソースを極限まで切り詰めることができるという大きなメリットがあって、実際にこのOSを搭載して発表された幾つかの端末では当時のAndroidでは考えられないような低スペックのハードウェアとなっていました。

もっとも、HTML 5をアプリ開発の中心に据え、Webアプリ以外のネイティブアプリに対応しないということは、標準的なAPIでサポートされない機種固有の機能を使ったアプリが開発しにくいということでもあって、また標準としてのHTML 5に従って書かれたWebアプリは競合する各OSのWebブラウザがHTML 5の仕様を満たすようになれば、そちらでも動作するようになります。

つまり、HTML 5が当たり前の技術となってしまえば、もはやそれとの親和性は特に大きな強みとはならないのです。

実際、自社開発のWebブラウザを持つAppleとGoogleは急ピッチでFlashコンテンツのHTML 5ベースへの移行を促すような施策を採っており、今やHTML 5との親和性を謳ったところで大したセールスポイントにならなくなってしまっています。

それどころか、特にHTML 5との親和性を謳っていないWindows 10 Mobileでさえ新搭載のMicrosoft Edgeと呼ばれるブラウザで当たり前にHTML 5サポートが行われており、今やHTML 5サポートは当たり前のことになってきているのです。

このため、「第三のOS」がそれ相応の市場シェアを確保してゆくためには、こうした要素以外に何らかの取り柄を見いだす必要があります。

次回では、そうした部分について考えてみたいと思います。

▼参考リンク
Firefox OS — 必要なものを、必要な時に — スマホとして持つべきものを全て備えた OS — Mozilla
Tizen | An open source, standards-based software platform for multiple device categories.
Ubuntu on phones | Ubuntu

PageTopへ