Sailfish OS (セイルフィッシュ オーエス)は、フィンランドのヨーラ社によって開発されているLinuxベースのオペレーティングシステム(OS)。Merなどのオープンソースを基本とするがクローズドソースのUIも含んでいる。

このOSは、2013年にヨーラ社スマートフォンで最初に出荷され、続いて2015年に同社タブレットおよび同OSとライセンス契約を結んでいる他の販売会社からも出荷された。このOSは、熱心なコミュニティによってスマートフォンやタブレットを含むサードパーティのモバイル端末に移植されている。Sailfish OSは様々な種類の端末で使用可能であり、日本国内だとソニーモバイルコミュニケーションズのXperia端末で使える仕様である。

## 経緯および開発

このOSは、ノキアとインテルの提携により以前開発されていたLinux系OSのMeeGo を進化させた後継種である。中核部のMerには、MeeGoの遺産といえるコードの約80%が含まれている。これを土台に、カスタムUIとデフォルト (コンピュータ)のアプリケーションを有するヨーラがOSの拡張を行なった。ヨーラとMER事業は、当時のMeeGo事業の予期せぬ頓挫につながった失敗を避けるため、メリトクラシー体制を敷いている。

### 開発状況

Sailfish OSはヨーラによって推進され、2011年に設立された企業提携グループSailfish Alliance (OEMおよびODMメーカー、チップセット供給業者、オペレーター企業、アプリ開発会社、小売業者を結びつけるために設立)によってサポートされている。2012年8月16日、同UIの公開準備が整ったと報道された。 ヨーラ社CEOのユッシ・ハルモラは「我々のUIは今や準備万端ですが、まだ非公開にします。我々は製品発売までそれを温存する予定で、現在プラットフォームの立ち上げ中なので、この事業はかなり上手く行きそうです」とZDNetのインタビューで語り、その翌日には、同じくヨーラ社CEOのマーク・ディロンが最初の開発目標に達したとTwitter上で語った。

Sailfishは、2012年11月21-22日にヘルシンキでのSlushイベントで、OSのデモとして、ヨーラチームによって初披露され(世界規模のネット配信含む)、またUIやソフトウェア開発キット(SDK)も公開された。Sailfish OS SDKのα版は2013年2月末に公開され、無料ダウンロードできるようになった。

2013年9月16日、ヨーラはこのOSにAndroidのアプリケーションおよびハードウェアとの互換性を持たせたと発表した。それを組み込んだ最初の電話は、2013年11月27日にヘルシンキで発売。そのイベントでは最初の450台が販売され、予約済みの端末の残り台数もほどなく出荷された。

2015年9月、ver1.1.9.28"Eineheminlampi"がリリースされ、改良されたSailfish OS 2.0のUIの主要素が追加された。Sailfish 2.0はヨーラのタブレット端末で発売され、既存デバイスについては同社公式チャンネルから2.0へのアップグレードでるように対応した。

2016年5月、ヨーラはSailfish コミュニティ向けの端末プログラムを公表し、SailfishOSコミュニティの開発者と会員をサポートした。

2018年、スペインのバルセロナで開かれたMWCでSailfish 3が発表され、日本だとXperia端末で使えるようになった。

## ソフトウェアアーキテクチャ

Sailfish OSと同ソフトウェア開発キットはLinuxカーネルとMerを土台としている。Sailfish OSには、ヨーラによってWayland(ディスプレイサーバの通信プロトコル)上に構築された"Lipstick" と呼ばれるマルチタスク実行のグラフィカルシェルが入っている。ヨーラは自由でオープンソースの描画デバイスドライバを使用しているが、Hybris (ソフトウェア)ライブラリではAndroid向けに独自のドライバを使うこともできる。ヨーラの掲げる目標は、Sailfishが最終的にオープンソースになることである。

Sailfish OSは、独自の互換性レイヤを介してAndroidアプリケーションを実行することができる。

## ソフトウェア概要

### UI の対応言語

公式では、ヨーラはこのUIについて14言語対応(デンマーク語,ドイツ語,イギリス英語,スペイン語,フランス語,イタリア語,ノルウェー語,ポーランド語,ポルトガル語,フィンランド語,スウェーデン語,ロシア語,中国語,香港語)を公言している。

このそれぞれに対して、OSには専用のキーボードがある。ヨーラの管轄下ではない有志コミュニティによって非公式ながらサポートされている言語が幾つかあり、合計で20以上の言語(日本語など)に対応している。追加言語は、Linuxアーキテクチャのため若干知識も要るがユーザー側でインストール可能である。

### バージョン履歴

| バージョン | リリース日 | 名称 |
| --- | --- | --- |
| v0.99.5 | 2013.11.13 | Haaganlampi(開発者向け限定) |
| v0.99.6 | 2013.11.11 | Idörpottarna(開発者向け限定) |
| v1.0.0 | 2013.11.16 | Kaajanlampi(最初の公開バージョン) |
| v1.0.1 | 2013.12.02 | Laadunjärvi(1回目の更新) |
| v1.0.2 | 2013.12.27 | Maadajärvi (2回目の更新) |
| v1.0.3 | 2014.01.27 | Naamankajärvi (3回目の更新) |
| v1.0.4 | 2014.03.11 | Ohijärvi |
| v1.0.5 | 2014.04.07 | Paarlampi |
| v1.0.6 | 未公開 | Raatejärvi 、これはv1.0.7と同時更新 |
| v1.0.7 | 2014.06.03 | Saapunki |
| v1.0.8 | 2014.07.03 | Tahkalampi |
| v1.1.0 | 2014.09.16 | Uitukka 、オプトイン型の更新と称された |
| v1.1.1 | 2014.12.14 | Vaarainjärvi |
| v1.1.2 | 2015.02.01 | Yliaavanlampi |
| v1.1.3 | 未公開 | Åkanttrasket、これはv1.1.4と同時更新 |
| v1.1.4 | 2015.03.24 | Äijänpäivänjärvi |
| v1.1.5 | 未公開 | Österviken、これは公表前段階で削除 |
| v1.1.6 | 2015.05.27 | Aaslakkajärvi |
| v1.1.7 | 2015.06.24 | Björnträsket |
| v1.1.9 | 2015.08.18 | Eineheminlampi |
| v2.0.0 | 2015.10.19 | Saimaa |
| v2.0.1 | 2016.01.12 | Taalojärvi |
| v2.0.2 | 2016.05.13 | Aurajoki |
| v2.0.3 | 2016.07.06 | Espoonjoki、これはTuring Phone専用 |
| v2.0.4 | 2016.11.04 | Fiskarsinjoki |
| v2.0.5 | 2016.12.14 | Haapajoki |
| v2.1.0 | 2017.02.03 | Iijoki |
| v2.1.1 | 2017.05.15 | Jämsänjoki |
| v2.1.2 | 2017.09.20 | Kiiminkijoki |
| v2.1.3 | 2017.10.06 | Kymijoki |
| v2.1.4 | 2018.02.12 | Lapuanjoki |
| v2.2.0 | 2018.05.30 | Mouhijoki |
| v2.2.1 | 2018.08.31 | Nurmonjoki |
| v3.0.0 | 2018.10.29 | Lemmenjoki |
| v3.0.1 | 2019.01.02 | Sipoonkorpi |
| v3.0.2 | 2019.03.13 | Oulanka |
| v3.0.3 | 2019.04.23 | Hossa |
| v3.1.0 | 2019.07.15 | Seitseminen |
| v3.2.0 | 2019.10.24 | Torronsuo |
| v3.2.1 | 2019.12.05 | Nuuksio |
| v3.3.0 | 2020.04.01 | Rokua |
| v3.4.0 | 2020.09.22 | Pallas-Yllästunturi(ヨーラ社スマホ向け最終公開版) |
| v4.0.1 | 2021.02.03 | Koli |
| v4.1.0 | 2021.05.10 | Kvarken |
| v4.2.0 | 2021.08.25 | Verla |
| v4.3.0 | 2021.10.28 | Suomenlinna |
| v4.4.0 | 2022.03.15 | Vanha Rauma |

\*Sailfish 1.0は、フィンランドの湖にちなんでバージョン名が付けられている

- Sailfish 2.0は、フィンランドの川にちなんで命名されている
- Sailfish 3.0 および 4.0 は、フィンランド国立公園にちなんで命名されている
- Sailfish 4.1以降は、フィンランドのユネスコ世界遺産にちなんで命名されている

なお、インストール済みSailfishOSを古い(例えば工場出荷時の端末)バージョンから更新する場合に、必要なバージョン(Stop release)が幾つかある。これらを飛ばしてはならず、後続バージョンを導入する前にインストールする必要がある。これらは以前のバージョンと互換性のない新機能を提供しており、SailfishOSのインストールを不安定状態にさせないために必要なバージョンで、以下のものがある。

| バージョン | リリース日 | 名称 |
| --- | --- | --- |
| v1.0.2.5 | 2013.12.27 | Maadajärvi |
| v1.1.2.16 | 2015.02.25 | Yliaavanlampi |
| v1.1.7.28 | 2015.08.31 | Björnträsket |
| v1.1.9.30 | 2015.10.22 | Eineheminlampi |
| v2.0.0.10 | 2015.11.03 | Saimaa |
| v2.0.5.6 | 2016.11.22 | Haapajoki (Jolla CやIntex Aquafishonlyなど、一部端末のみ必要) |
| v2.2.0.29 | 2018.06.07 | Mouhijoki |
| v3.0.0.8 | 2018.11.11 | Lemmenjoki |
| v3.2.0.12 | 2019.11.05 | Torronsuo |
| v3.4.0.24 | 2020.10.13 | Pallas-Yllästunturi |
| v4.0.1.48 | 2021.02.16 | Koli |
| v4.1.0.24 | 2021.05.27 | Kvarken |
| v4.2.0.21 | 2021.09.16 | Verla |
| v4.3.0.15 | 2022.02.16 | Suomenlinna |
| v4.4.0.58 | 2022.05.29 | Vanha Rauma |

Sailfishのウェブサイトでは、移植の問題に関する知識・リンク・手順のオンライン概要が公開されている。

### Sailfish OS上で実行するAndroid

既存のアプリに加えて、SailfishはアプリストアまたはAPKファイルを介して直接インストールすることで、大半のAndroidアプリを実行可能である。対応しているAndroidのバージョンは、ヨーラ社独自のスマホでは4.1.2、ヨーラC(携帯電話)とヨーラ社タブレットおよびXperia Xでは4.4.4 、Xperia XA2とXperia 10とXperia 10 IIでは8.1.0 と9と10である(Sailfish OSのリリース時による)。これらのアプリが制御に関する Android規格に従わずに構築された場合は問題を起こす可能性があり、正しく画面表示されず使用できなくなる場合がある。

Sailfish OSは、Alien Dalvikという自社権利のAndroid互換性レイヤを使用している。それはAndroidコピーをエミュレータ (コンピュータ)しないが、代わりにAndroidオープンソース・プロジェクト(ASOP)コードをアプリとして実行するよう適合させることでそのAPIを実装している。こうすることでAndroidアプリは、何らかの知覚できる遅延もなく本来の速度で実行可能である。Sailfish は、ユーザーが臨機応変にそれを切り替えて、Sailfish 本来のソフトとAndroidソフトの両方を同時実行することが可能である。

Alien Dalvik 8.1以降は、LXCを活用してセキュリティを向上させている。

## ハードウェア概要

Sailfish OSは、LinuxカーネルのサポートがありMerコアを利用したミドルウェアと互換性のあるハードウェアで使用可能である。有志コミュニティがこの手法で多くの端末にSailfish OSを移植している。特定のHRPを指定する代わりに、Sailfish SDKでのVirtualBox実装がLinuxやOS XやWindowsでの開発用に利用可能である。このバーチャルマシンの実装にはローカルリソースとローカルOS から孤立したSailfish OS全体が含まれ、実際の端末に展開する前にコード化ないし移植されたソフトウェアの動作およびパフォーマンスを簡単に評価できるようになる。

### ヨーラ社端末

- ヨーラC(携帯電話)
- ヨーラタブレット
- ヨーラフォン(スマートフォン)

### ライセンス供与の他社端末

メーカーは、ライセンス供与されたSailfish OSを組み込んだ又はオープンソースと組み合わせたモバイル端末を提供可能である。以下は、バージョンXのSailfishが利用可能な端末機種である。

- Xperia 10 III
- Xperia 10 II
- Xperia 10 Plus
- Xperia 10
- Planet Computers Gemini PDA
- Sony Xperia XA2 Plus
- Sony Xperia XA2 Ultra
- Xperia XA2
- Xperia X

### 同志コミュニティによる他社製端末への移植

移植の比較的容易さとオープンソースのライセンスにより、Sailfish OSは他のサードパーティ社製端末へ非公式に移植されている。移植者向けにハードウェア適応開発キットが公開されており、無料である。これらの移植は、主にMaemoやXDA Developersの討論コミュニティで公開されており、Mer wikiでは移植リストがまとめられている。ライセンス制限のため、Androidアプリ用の互換性レイヤ(Alien Dalvik)などの権利部分や拡張機能は含まれていない。ただし、例えばメーカーや販売代理店がコミュニティ版から特定端末向けに公式サポートされているバージョンに変えた場合などは、それらの追加も可能となる。当初は80以上の移植があって、依然として運用中の移植版が19存在しており(2019年3月現在)、それらはSailfish 3に更新されたことになっている。

日本国内メーカーの製品では、ソニーのXperia X Compactにコミュニティ移植版がある。

### Sailfish アライアンス

Sailfish アライアンスは、MeeGoの収益協調体制を支援するべくヨーラ社によって2011年に設立された門戸開放型企業提携であり、様々な目的やモバイル端末向けにヨーラや他の当事者による独自コンポーネントとmerとを組み合わせたLinux運用システムのSailfish OSを活用した、新製品や新サービスや新たなビジネスチャンスを提供している。また、SailfishOSが一部含まれるLinuxMeeGo収益協調体制の開発を続けている。

この提携は、Androidのオープン・ハンドセット・アライアンスのような他団体の競争相手と見なされている。

2011年、ノキアで働いていたMeeGoチームの一部が去り、元従業員による企業独立事業に資金提供する「ブリッジ(橋渡し)」プログラムを通じてノキアから資金提供を受けた。Sailfishアライアンスは、フィンランドのソフトウェア開発会社と海外の携帯電話メーカーとの協業を模索しており、その一部が中国にある。ニュースメディアは、中国やインド国内にあるメーカーの多くがAndroidの代替品を望んでいると報じている。

この企業提携は、「OEMおよびODMメーカー、チップセット提供企業、運用事業者、アプリ開発業者、小売業者を統合する」ことを目的としている。