なぜHaikuなのか?


注意 このページは作成中です。


今や数多く普及しているWindowsやMac、LinuxがあるのになぜHaikuを使うのか?
以下にその理由を説明します。

・最先端ソフトウェアに於けるLinuxをはじめとするオープンソースソフトウェア(OSS)の台頭


現在、マニア志向の人達が多く使っているであろうOSがLinuxではないでしょうか?

Linuxは色々なところで数多く使われています。例えば、サーバー(クラウド)や携帯端末(Android)にも使われています。
更に、AI関連ソフトウェアやビッグデータ分析などの次世代型最先端ソフトウェアにも広く浸透するとともに、ITの新たな潮流を担う中核的な存在ともなっています。
益々、今後オープンソースソフトウェアの需要度は多くなると思われます。

それではなぜ、Linuxが多く使われているのでしょうか?

多分それは、オープンソースであることが大きいと思います。
オープンソースは無償で利用でき、ソースコードを自由に改良、再配布できます。
そのため、ソースコードのバグを見つけたり、修正したりといったことが世界中のユーザーによって行われ、ソフトウェアの安定性が増し、高品質なものが出来ることが理由だと思います。

・GUIユーザーに見るコマンドラインの苦悩


需要度がこれからも多くなると思われるオープンソース・Linuxですが、一方でGUI(グラフィカルユーザインターフェース)ユーザーにとってはLinux及びCLI(コマンドラインインターフェイス)は扱いにくく、操作に戸惑いがあるでしょう。
Linuxの基本操作はCLIと言われるコマンド入力です。
元々Linuxの用途はサーバー用の利用が多く、CLI操作がメインになります。

GUIでは、予備知識がなくても適当にアイコンやメニューをクリックしてみることで直感的に操作できますが、CLIではコマンドを覚えていないと何も操作できないという欠点があります。

しかし、特に繰り返し同じ操作する場合などに少ない操作で済むことや、遠隔地にあるコンピュータをリモート操作できるという利点があり、これがサーバに多く利用されている理由一つだと思います。


今では、そのようなCLIメインで使うことの多いLinuxの短所を補うべく、使いやすさを重要視したディストリビューションとしてUbuntuなどが登場しはじめました。


・進むWindowsLinux化?(Microsoftの変貌)


近年のオープンソース・Linuxの躍進のためか、Microsoft側が少しずつLinuxに歩み寄っているような気がします。

例えば、WSL(Windows Subsystem for Linux)。

Linux環境を立ち上げるにはWSLや仮想化などの方法がありますが、WSLを導入すれば、

物理マシンや仮想マシンを1台用意してLinuxをインストールするより簡単にWindowsLinuxのコマンドを利用できるようです。


更に、Microsoftソースコードの共有プラットフォームGitHub買収
そしてついに、Linuxの普及をサポートする非営利団体のLinux Foundationに加盟することを発表しました。

かつてMicrosoftLinuxを酷評していましたが、これらの動きは過去のMicrosoftではあり得ない動きであり、明らかにオープンソースソフトウェアの躍進高需要であることの現れではないかと思います。


一方、もう一つの商用OSであるAppleのmacOSは、カーネルがUNIX系のDarwinをベースとしている為、POSIXに準拠したコマンドが使えます。
そういう意味では、macOSも同じような理由で普及が拡大しているのかもしれません。
しかしながら、macOSはクローズドOSであり、オープンソースではありません。(カーネルのDarwinはオープンソースです。)


・HaikuとLinuxを比較


上記までは、Linuxおよびオープンソースソフトウェアを中心に述べてきました。

特に、進むWindowsLinux化?(Microsoftの変貌)では、WindowsLinuxのコマンドを利用する方法として、WSL(Windows Subsystem for Linux)を例に説明しましたが、似たようなことがHaikuでも可能です。


Haikuのシェルはbash(Linux標準シェル)なので、WSLのようにLinuxカーネルのインストールは必要なく、ターミナルを起動するだけでPOSIX互換のCLI環境が体験できます。


そこで、オープンソースでもあるHaikuLinuxを比較してみました。



 HaikuとLinuxの比較

特徴HaikuLinux
類似点
オープンソースライセンスMITライセンスGNU GPLライセンス
シェルコマンド
bash 
Haiku特有のコマンドあり
bashLinux標準のシェル) 
その他
アプリケーションソフトUnix系からの移植、及びBeOSZetaからのアプリを含む豊富
相違点
主な用途デスクトップ(クライアント)サーバー
ユーザーインターフェースGUIがメインCLIがメイン
フォーク(派生)少数多数(ディストリビューション)
軽量さ軽いディストリビューション及びデスクトップ環境による
習得難度容易困難


Linuxと似ているところ(類似点)


1 オープンソースライセンス

HaikuLinuxと同じようにオープンソースなので無償で利用でき、ソースコードを自由に改良、再配布できます。


現在、HaikuのソースコードはすべてMITライセンスと呼ばれるものの元でライセンスされています。

このライセンスは、私企業やほかのオープンソースプロジェクトを含むほとんどすべての人々に対して完全で自由なコードの使用を許可するものです。


一方、Linux(カーネル)はGNU General Public Licenseでライセンスされています。


2 シェルコマンド


HaikuUnix系のOSではありませんが、ターミナルからbashシェル(POSIX互換)が利用できます。

一般的なコマンドラインツール(POSIX互換)が組み込まれていて(一部、Haiku特有のコマンド有り)、UnixOSのようにCLIで必要な処理ができます。


一方、多くのLinuxディストリビューションでは、Unix系シェルが利用できますが、中でもbashシェルが標準的に使われており、Ubuntuでもbashがデフォルトのシェルになっているようです。


3 アプリケーションソフト


Linuxには及びませんが、HaikuHaikuPortsプロジェクトで導入された多くのアプリケーションソフトが利用できます。


Unix系からのソフトウェア移植バージョンとBeOSおよびZetaからの更新ソフトウェアを含むHaiku専用アプリやユーティリティなどが、パッケージマネージャである pkgmanCLI)やソフトウェアパッケージ管理のHaikuDepot GUI)を通してパッケージの検索、インストール、更新、およびアンインストールができます。


一方、LinuxではUnix由来のソフトウェアが数多く存在します。



Linuxと違うところ(相違点)


1 主な用途

Haikuはデスクトップ(クライアント)用のOSです。
WindowsMacのように汎用的な使い方も可能ですが、メディアOSと言われたBeOSと同様に、マルチメディア分野の用途に最適なOSです。

Haiku は、マルチプロセッサ/コアCPUによる高効率な完全なスレッド設計により、速い動作、優れた反応性で高度なマルチメディアをキビキビと動かします。

一方、Linuxにもデスクトップ用のUbuntuなどがありますが基本的にはサーバー用のOSです。ただ近年では、最新ITの基盤となるソフトウェアの開発環境として多く使われています。



2 ユーザーインターフェース

Haikuはわかりやすいグラフィカルユーザインターフェース(GUI)により、GUIメインで直感的に操作できます。WindowsMacを使いこなす方であれば、操作に戸惑いが少ないでしょう。
また、HaikuでのCLIは補助的なものとなり、必要な際にターミナルからコマンドで必要な処理をします。

一方、LinuxではGUIメインで操作が可能なUbuntuなどのディストリビューションがありますが、基本の操作としてはCLIがメインです。



3 フォーク( 派生 )


Haikuでフォークといえるものは筆者が知る限り、以下のものが存在します。


● Senryu
    Haiku をベースにしたディストリビューション。

● Poem
    Haiku Alpha 4.1をベースに独自のGUIを持ったOS
    Haiku に優良ソフトウェアを追加したディストリビューション。


紹介動画


一方、Linuxではカーネル(Linux)とデスクトップ環境(GNOMEなど)等を含めた、ディストリビューションという形で数多く存在します。
例えば、人気のあるUbuntuLinux Mintなどがあります。



4 軽量さ


Haikuは速い動作、優れた反応性、高効率というような、他のOSに比べて際立った特徴があります。

その特徴の核心となるのは、マルチプロセッサ/コアCPUのパワーをフルに生かした広範なマルチスレッド機構です。
これにより、Haikuは並列・並行処理のパフォーマンスがとても優れ、高度なマルチメディアソフト等のアプリケーションをリアルタイムに扱うことができます。

他のOSでは、アプリケーション上で高い負荷の作業または他の原因で処理がとても渋滞すると、全体が動かなくなり、応答待ちメッセージなどの進捗インジケータやレインボーカーソルなどが発生しますが Haikuではほとんど起こりません。

結果的に、アプリケーション自体のバグ等を除けば、Haikuではアプリケーションに遅れや停滞することがほとんどないと言えるでしょう。

一方のLinuxでは、ディストリビューション及びデスクトップ環境が様々な形態で存在するため、軽量なものから重いものまでそれぞれのシステム構成により違いがあります。



習得難度

Haikuは面倒な管理を必要としないパーソナル指向のOSです。


他のOSに見られるインストール時の困難さはなく、短時間に終了し直ちに使えます。
また、Haikuはグラフィカルユーザインターフェース(GUI)やファイル(システム)構造などがシンプルにデザインされているため、操作がわかりやすくて簡単です。WindowsMacが使いこなす方であれば習得は容易でしょう。


一方、Linuxの操作の基本はCLIがメインです。
CLIではコマンドを習得する必要があり、コマンドを使いこなすまでには、それなりに時間を要するでしょう。


使いやすさを重要視したGUIメインで操作ができるUbuntuがありますが、あくまでも使いやすさでのことであり、システムが複雑なLinuxに変わりはありません。




Linux依存からの脱却か? GoogleLinuxカーネルに依存しない新OS Fuchsiaを一般ユーザー向けに公開!


GoogleMicrosoftとは対照的に脱Linuxに向かっているようです。


Google2016年ごろから開発を進めていたAndroidChrome OSに続く第3のOS Fuchsia20215月にNest HubGoogle製スマートホームデバイス)に向けて配信を開始(参照:GIGAZINE )しました。


配信されたFuchsiaは、Linuxをベースにしていない、ゼロから構築されたOSGoogle2016年に公式な告知も一切なく突如 GitHub上で公開したことから存在が明らかになった新しいOSの名称です。


Googleはこれまで、Chrome OSAndroidLinuxカーネル(モノリシックカーネル)を採用していますが、これに代わりFuchsiaではZirconと呼ばれるマイクロカーネルをベースとしています。


既に多数の機器に対応し、さまざまな機能を備えているLinuxカーネルではなく、あえて新しいカーネルを採用して新OSの開発を進める理由はなぜか?


それは、Googleがこれからの新しい未来を考えて、組み込みシステムからスマートフォン、PCIoT(モノのインターネット)まであらゆるデバイスに共通して動作するOSを作りたいという事でOSを開発する際、現在のAndroidChrome OSをベースとするLinuxカーネルでは幾つか問題があるため、それらを解決すべくFuchsiaは生まれたのだと推測されます。


つまり、Googleはスマホやタブレットの普及が飽和状態になった現在、その先にある、あらゆる種類のデバイス上で動作するユニバーサルオペレーティングシステムの主導権を握ろうと本格的に動き出したということです。



ここで、現在抱えていると思われる問題とFuchsiaに変更することで改善できる理由を以下に示します。


モノリシックカーネル(Linuxカーネル)に関する問題


Linuxが採用したモノリシックカーネルはOSの中核となるカーネルとその他のOSの機能を1つのメモリ空間で動作します。

このため、何か1つでもデバイスドライバなどに不具合があった場合、その影響がカーネル全体に波及しOSシステムごとダウンする恐れがあります。


これに対してマイクロカーネルを採用したFuchsia(Zircon)は割り込み処理やプロセス間通信の処理など必要最小限の機能をカーネルに残し、デバイスドライバを含むその他をカーネル空間とは異なるメモリ空間で動作させます。

これによりデバイスドライバの深刻な不具合を引き起こす危険が少なくなり、デバイスドライバの安全性・安定性の向上が期待できます。


更に、Linuxカーネルはモノリシックカーネルの構造上、OSの機能を全て取り込むため、長期にわたっての機能強化に伴いカーネルサイズが年々肥大化しています。


これに対しマイクロカーネルのFuchsia(Zircon)では、必要とされる最小限の機能をカーネルに残し、他の処理はサーバモジュールに任せるため、カーネルの肥大化を防ぎ、そのうえ移植や機能追加を容易にできることなど、開発効率を上げられるメリットがあります。



GNU GPL(ライセンス)の制約


LinuxカーネルのライセンスはGNU GPLを採用しています。
そのため、Linuxカーネルを採用したソフトウエアや機器を配布する場合には、プログラムの改変や自らのプログラムの一部として組み込んだ場合などの変更点のソースコードを公開する義務があり、ハードウェアメーカーの負担になります。

これに対しFuchsiaは、制限の緩い修正BSDライセンスやMITライセンスを採用しているため、GPLライセンスのような変更点のソースコードを公開する義務はありません。
これはハードウェアメーカーの負担低減になります。


JavaOracle)に関する特許

Androidはアプリケーション開発の主なプログラミング言語としてJavaを採用するなど、Javaの技術を多用していますが、その権利はOracleにあります。


Googleは長年OracleとのJavaに関する特許侵害訴訟(参照: GoogleOracleとの10年越しの裁判で勝訴。最高裁はJava著作権侵害せずの判断 [ ITmedia ] )で争っており、そのため、今後Javaを使わないFuchsiaを採用することでOracleとの特許紛争を回避したいと考えているのではないかと思われます。



以上がFuchsiaを採用することで改善できる内容ですが、今後、FuchsiaAndroidChrome OSに続く本格的な新プラットフォームに成長できるのか開発状況に注目していきたいと思います。



 Googleの新OS Fuchsia(Zircon)とHaiku(NewOS)との関係


繰り返しにはなりますが、上記で述べたようにGoogleFuchsiaを将来的に組み込みシステムからスマートフォン、PCまであらゆるデバイスをターゲットとした、軽量かつ高機能なOSを目指して開発を始めたようです。


将来は LinuxベースのChromeOSAndroidに取って代わるとも言われています。


FuchsiaLinuxカーネルに基づくChromeOSAndroidなどのモノリシックカーネルをベースとしたOSとは対照的に、Zirconと呼ばれる新しいマイクロカーネルをベースにしています。

そのZirconはかつてBeOSのカーネルを開発した経歴をもち、Haikuが採用したマイクロカーネルをベースとするNewOSの作成者であるTravis Geiselbrecht氏によって開発されました。


もし、FuchsiaAndroidに代わる新OSとなれば、iOS vs Fuchsiaとなり、現代に蘇るNeXTの末裔とBeOSの末裔とのかつて次期macOS候補争いと同じような構図となるのかもしれません。


歴史は繰り返すのか?


そういった意味でもHaikuの今後の展開が面白くなりそうです。




 おわりに


本ページの冒頭で述べたようにLinuxは色々なところで数多く使われており、主にサーバー系の需要では、ほぼ独り勝ち状態の模様です。


一方で、Linuxの基本操作はCLIと言われるコマンド入力のため、CLIに不慣れなユーザーにとっては操作に戸惑いがあり、Linuxを敬遠してしまう人がいるのではないかと思います。


そもそも、一般の人が最初にコンピュータ(パソコン)に触れるOSWindowsmacOSがほとんどなので、GUIにより予備知識がなくてもアイコンやメニューをクリックしてみることで直感的に操作できていますが、CLI操作が前提のLinuxではコマンドを覚えていないと操作できないということもあり、CLIに慣れていない人はLinuxの利用をためらってしまうのではないかと思います。


このようにオープンソースの人気によりLinuxが多く使われていますが、その利用には困難が伴うでしょう。


そこで、簡単にオープンソースのOSを利用してみたいと思う人にCLI操作もこなすデスクトップに特化したHaikuをおすすめします。


是非、使ってみてください。


Linuxになかなか手が出せない人に使ってほしいOSです。



彼ら( 旧:OpenBeOSプロジェクト )はなぜ、OS名をHaiku( 2004年にコミュニティの投票によって選ばれた。)にしたのか?


それは多分、俳句は短い文のため誰にも簡単に作れることから、それがHaikuの特徴として上げているシンプルさ、分かりやすさと一致しているからだと思われます。


Haikuは、GUIやファイル(システム)構造などがシンプルにデザインされているため、操作がわかりやすく、初心者にも高速でパワフルな機能を簡単に扱えます。


Linuxに比べて簡単さは歴然です。



最後に、改めてHaikuの特徴を述べると、速い動作、優れた反応性、高効率というような他のOSに比べて際立った点があります。


現在、市場規模が拡大中のゲーム業界や今話題の  AR(拡張現実)、 VR(仮想現実)、MR(複合現実)、更にメタバースが注目されています。

それらを快適に楽しむには、データ処理性能の高いものが必要とされています。


その際、必要とされるスペック等の考察が、ハードウェアのスペックのみで、OSについてはほとんど語られていないようです。


しかし、このような高負荷な処理は、ハードウェアだけでなくOSにも処理が求められるのではないかと考えられます。


そこで、Haikuであれば、BeOS譲りのハードウェア本来の性能を引き出すというOSの特徴があるため、そのパワーを発揮できるに違いありません。



以上がHaikuを使う理由ですが、これを機に少しでも多くの人がHaikuに興味を持っていただけたら幸いです。



0 件のコメント:

コメントを投稿