Haliumプロジェクト始まる
「Halium」プロジェクトは、モバイル向けOSの共通基盤を開発するためのプロジェクトです。Andoroidがプリインストールされたデバイス上で、Linuxベース(非Andoridベース)のOSを動作させるため、Hardware Abstraction Layer(HAL)の統一化を目指しています。
今まで以下のような多くのLinuxベースのモバイル向けOSが登場しました。
- Maemo
- Meego
- Mer
- SailfishOS
- Ubuntu Touch
- Plasma Mobile
新しく登場したものもあれば、現在も開発が続いているものもあります。
その一方で消えていった・消えそうなOSもあります。
各プロジェクトはそれぞれの方針や目標を持ち、OSは各プロジェクトでごとに開発が行われていました。
状況を変える時
どのプロジェクトの目標も究極的には「モバイル向けOSを開発し提供する」ことであり、過程や手法は違えど同じ目標を持っています。過去に何度も各プロジェクトのコミュニティーが一緒に作業し同種の目標を目指そうという提案がありました。
しかし様々な理由から、過去一度も共同作業が実現したことはありませんでした。
このような状況を変える時に来ています。
モバイルOSの共通点
現在以下のようなモバイルOSが持っている共通点は、「Android」のバイナリーブロブと連携するため「libhybris」を利用している点です。- AsteroidOS
- LuneOS
- Mer
- Plasma Mobile
- SailfishOS
- Ubuntu Touch
また各OSは、それぞれ異なる手法を用い様々なAndroidデーモンを動かしています。
最終的な目的は「Android」のバイナリーブロブを利用するということであり、同じ目的のために異なる手法を採用する必要性がないにもかかわらず、処理方法に様々な手法が存在しているため一貫性がありません。
Haliumプロジェクトの目的
Haliumプロジェクトはコミュニティー主導のプロジェクトです。Haliumプロジェクトの目的は、異なるディストリビューション(OS)に共通基盤を提供することです。
この共通基盤には、以下の仕組みやソフトウェアを含みます。
- Linux kernel
- Android Hardware Abstraction Layer(HAL)
- libhybris
共通基盤に含まれるスタックの詳細は、以下を参照してください。
もう一つ目的があります。
それはAndroidデーモンやハードウェアにアクセスするためのミドルウェアの標準化です。
例えばこのミドルウェアには、以下の仕組みやソフトウェアを含みます。
- OFono/RILd
- Camera service
- Pulseaudio / Audiofingerglue
- GPS
- Media codecs
これらの目的を実現し、各OSが共通の仕組みを利用することで、現在バラバラになっている様々な手法やそれに付随するコストを減らすことができるでしょう。
一方、以下のようなディスプレイサーバー以上のソフトウェアは各OSの方針に任せ、Haliumプロジェクトでは標準化を行いません。
- Display server
- Toolkit
- User interface
- Applications
既存ディストリビューションの置き換えが目的ではない
Haliumプロジェクトは、既存のディストリビューションの置き換えが目的ではなく、それらのディストリビューションで共通して再利用可能な基盤を開発することが目的です。ですのでディストリビューションの一部として成果物が活用されることになります。
開発計画
Haliumプロジェクトはまだ始まったばかりです。多くの内容が草案レベルのものです。
開発計画や概要に関しては描かれていますが、具体的な内容は今後明らかになっていきます。
開発計画や概要の詳細及び現状は、以下を参照してください。
UBportsコミュニティーがHaliumプロジェクトに加わる
UBportsコミュニティーがHaliumプロジェクトに加わりました。Haliumプロジェクトには、「Plasma Mobile」及び「Sailfish OS」コミュニティーも参加しています。
UBportsコミュニティーは、「Ubuntu Touch」の開発を行うコミュニティーです。
- コミュニティーによるUbuntu Touch及びUnity 8の継続
- しばらくは現状維持だが、将来はWaylandへ移行か
- OpenStoreのフォークが行われる・AnboxによるAndroidアプリの利用
今後の展開が楽しみですね。