|Company / developer||Jolla|
|Latest release||18.104.22.168 / 14 July 2014|
|Package manager||RPM Package Manager|
|Kernel type||Monolithic (Linux)|
|License||Open source for OS, but various for Jolla's swipe UI (see Licensing).|
Sailfish is a mobile operating system combining the Linux kernel with mer and proprietary software written by Jolla. Sailfish is being developed by the Sailfish Alliance. It is to be used in upcoming smartphones by Jolla and other licensees. Although it is primarily targeted at mobile phones, it is also intended to support other categories of devices.
- 1 Software architecture
- 2 Software overview
- 3 Hardware overview
- 4 Sailfish OS licensing
- 5 OS development status
- 6 See also
- 7 References
- 8 External links
The Sailfish OS and the Sailfish SDK is based on the Linux kernel and Mer. Sailfish OS also includes a proprietary multi-tasking Lipstick graphical shell built by Jolla on top of Wayland display server. While Jolla uses free and open-source graphics device drivers, Hybris library allows using proprietary graphics device drivers for Android.
Sailfish OS is intended to offer a competitive advantage against devices that run Google's Android or Apple's iOS. Due to direct ancesty, applications for MeeGo platform also run on Jolla devices.
Sailfish OS SDK
The Sailfish OS SDK was announced in Helsinki at Slush in 2012, and the alpha was published in February 2013. As open source software, it is available for free download from the Sailfish OS Wiki together with installation and coding tutorials. Most users have described positive impressions from using the alpha SDK, however some critical remarks have been reported. Several developers announced porting their existing software from various platforms to Sailfish OS at JollaHQ twitter channel.
The Sailfish OS SDK uses Qt with a virtual box for development, compiling and emulation purposes. This technique allows compilation on the Sailfish OS and to test developed software in the virtual machine. This also separate development activities and (side) effects from everything else going on this particular computer.
Jolla says that as development with Sailfish SDK is development on Sailfish OS itself, there are no differences between developed software appearance and behaviour in SDK and on end-user machine with Sailfish OS.
The SDK contains Sailfish OS in its entirety, and emulates (see: emulation, in contrary to simulation) the entire Sailfish OS at the host computer running SDK what in fact means that the entire Sailfish OS, including the kernel, is running in the SDK's virtual machine. That is why porting and developing of any software with Sailfish SDK is possible, even before Jolla mobile is available.
The open source nature of SDK allows shaping and rebuilding it for particular and specific needs of any company or any organisation or any group of developers or an advanced developer, which allows creating a context-specific environment. This supports creating a specific personalised coding environment with specific tools for specific needs that is set once and then always ready to work as set, and does not need initial preparation for specific needs every time it is turned on (booted).
Marc Dillon said about the SDK: "(...)Yes, there's an emulator so you can see how the applications work, and all of our UI features are available as UI components. Actually you can develop applications that have all these different UI components and different elements and use the power of the OS.(...)".
Application programming interfaces
Qt APIs (QtQuick, QtWebkit and more) should be used by typical Sailfish OS applications. Also standard Linux APIs within reason for mobile usage will be available.
Responding to privacy concerns in light of the PRISM spying program that came to light in summer 2013, a company representative said the US National Security Agency (NSA) would have no access to Jolla's servers. "Jolla servers are not in US, so we are not subject to any US rules or regulations regarding disclosing information." Many see in this the Sailfish OS and Jolla's smartphone advantage over other operating systems like Windows, Android or iOS, which are from companies that allegedly grant secret services wide access to user data.[who?]
List of software version and update names for Sailfish OS. Each Sailfish OS version will be named after a Finnish lake.
Migration to Sailfish OS and porting software
A number of projects successful at other platforms are migrating to become native at Sailfish OS. This enable developers to earn additional incomes, also for abandoned Harmattan or Symbian developers. In case of Qt written projects often it's a question of a few hours to port a whole project. This process is supported and for this purpose sailfish.org collects and publishes  an online compendium of knowledge, links and instructions on:
- software porting and migration to Sailfish OS
- similarities and differences between Harmattan and Sailfish
- guides how to port MeeGo 1.2 Harmattan applications for the Nokia N9 is the Sailfish OS devices
- porting framework (Qt 4 to Qt 5, SDL 1.2 is SDL 2.0, Debian packaging is RPM packaging)
- application porting tutorials and examples (QtQuick QML applications, the Flickr application Qt 5, SDL / OpenGL ES applications)
- Qt Quick Components map to Sailfish Silica
It gathers and links development resources of different kinds and origins.
Jolla Harbour for submitting software to the Jolla Store
The important element of the Sailfish MeeGo ecosystem is the Jolla Harbour (harbour.jolla.com) devoted for submitting applications to the Jolla Store, where one can submit and manage one's applications. Consumers are able to install available software directly from their Sailfish devices. As Sailfish is mobile OS of general purpose it is intended to make Sailfish software available for sale and as a free applications.
There are binary package naming guidelines for uploading files. Developers are to provide metadata:
- An app icon for the Store (86x86px, png)
- 1-3 screenshots (540x960px, png or jpg)
- An optional Cover image for developer's Store page (516x252px, png or jpg)
After submission an application to Jolla Harbour, so the metadata and the binary and required images, Jolla performs Quality Assurance testing on real Sailfish devices, then gets back with feedback of QA results within undefined "a few days" via the email address registered to Jolla account.
At the beginning of November 2013 it was launched but not fully operational as still under construction, so it is in advanced public betatesting, but not the full performance. It allows developers and users to test portal performance with free applications and Jolla to correct issues reported by users to avoid the shame of non-working properly store known generally from former mobiles vendor. That is also fulfilling of the one of the main demands from both customers and developers:
- the correct performance of searching & downloading & charging for customers,
- the correct performance of publishing & managing & paying for developers.
During the first days after launch at 6 November 2013 number of interested in exceeded expectations and hardware abilities. There were so many demands that the server was overloaded and access to the Harbour portal website was impossible.
||The neutrality of this section is disputed. (November 2013)|
Jolla declared Sailfish OS compatible with Android phone and tablets hardware, using existing Android device drivers. This was announced on September 2013 and it is a major milestone. This has been achieved with use of Alien Dalvik by Myriad Group. This is a big step forward for phone and tablet manufacturers which can immediately and effortlessly integrate their existing devices with the Sailfish OS and still have ability to use Android software. Unveiled in 2013 Jolla prototypes and Sailfish running on other non-Jolla devices have shown proves of compatibility and Android applications running without problems, with native speed, without lags or jams.
Jolla has previously stated that Sailfish is compatible with Android applications. This was done in collaboration with the creators of Alien Dalvik, the Myriad Group, known for running Android apps with the Nokia N9 (but the Android layer was never released as built-in on N9). Many Android applications run on Jolla devices unchanged. To take advantage of all UI and other features of Sailfish OS and make applications fast they may need porting to native Qt/QML, there are extensive guides available on porting to Qt/QML.
In all Sailfish OS devices released for sale (via mobile operators and internet Jolla's shop) in 2013 year the Android compatibility has been fully working as expected for almost all software. However, in a few cases, when original software was not following the Android standards, it was not launch-able or steering was a problem, as Jolla informed before.
Jolla has reported that Ubuntu, Sailfish and Plasma Active cooperation for sharing common APIs is in progress and - upon success - will make the platforms compatible on the API level.
As Jolla Sailfish is based on the open-source Meego, it is compatible to some extent with MeeGo Harmattan released by Nokia with the N9 phone. The applications written in Qt for N9 might need a minor conversion process before they can run on Sailfish.
Sailfish will be able to run most applications that were originally developed for MeeGo and Android, in addition to native Sailfish applications. This will give it a large catalogue of available apps on launch.
Considering upon Jolla's declarations that Sailfish OS is be able to use software from following platforms
- Sailfish (natively created + ported like from Qt, Symbian, MeeGo - developers have reported that porting a Qt written software with Sailfish SDK takes a few hours only)
- Android applications are directly running in Sailfish OS. They are compatible as they are in third-party Android stores, with no needed modification (in most cases).
- MeeGo (because of backward compatibility thanks to MeeGo code legacy included in the Mer core)
- Unix and Linux (as Sailfish is Linux then using such a software is possible, especially RPM packages, either in terminal/console mode or with limitations implying from using Sailfish UI, if not ported and adjusted)
Advantages due to the Mer
The Sailfish OS in general can be used on any hardware supported by the Mer core distribution.
Rather than designate a specific reference hardware platform, a VirtualBox implementation with the Sailfish OS SDK is available for development on most popular OSes like Linux, OS X, Windows, and this VM contains the whole Sailfish OS isolated from local resources to enable comfortable work at any particular PC. This allows evaluating coded or ported software behaviour and performance in future on any real device and safe experimenting de facto on Sailfish OS itself. This is also caused by fact that Sailfish OS is not limited only to Jolla products and devices, but open for other partners which can use any different hardware.
Types of devices
Although Sailfish has been presented first for mobile use with upcoming smartphones by Jolla, as a continuation of MeeGo and using Mer core and the open source philosophy behind them both, it is also an OS for general purposes including devices such as smart televisions, computers, laptops, netbooks, tablets, navigations, cameras, household devices of many kinds, for automotive in cars and IVI, for sailing purposes in yachts and boats, and others. The Sailfish Linux OS in the same way as the MeeGo and the Mer projects it is not limited to use in mobiles only, but can be used with other forms of consumer electronics.
Jolla's Sailfish OS works on a tablet too. Jolla managers said in November 2012 that there could be a Sailfish tablet, but Jolla itself will, in this first wave, concentrate on a smartphone, but it does not exclude devices of different types.
Devices running Sailfish OS
Sailfish runs on the Jolla phone.
Sailfish has also been ported to devices like:
- Acer Iconia Tab W500
- Google Nexus One
- Google Nexus 4
- Google Nexus 5
- Google Nexus 7
- Samsung Galaxy S3
- HP Mini
- O2 Joggler
- PackardBell Butterfly Touch 
- Nokia N950 and Nokia N9 - during several presentations given by Jolla
Sailfish OS licensing
Jolla said that any mobile phone manufacturer will be able to license and use Sailfish with their mobile phones and other mobile devices, as they can with Android. The details of licensing have not been presented yet, but it was mentioned that the whole of Sailfish OS is to be licensed as open source.
OS development status
Sailfish OS is promoted and supported in many ways with the open Sailfish Alliance established in 2011, a movement established to unite OEM and ODM manufacturers, chipset providers, operators, application developers and retailers.
On 16 August 2012, the user interface was reported as ready to go. Jolla's CEO Jussi Hurmola stated in a ZDNet interview: "(...) Our UI is ready now, we haven't released it yet, we will save it for the product launch and the platform is getting up now so the project looks pretty nice. (...)"
The next day, Jolla's CEO Marc Dillon tweeted that they had reached the first development target.
The Sailfish was presented for the first time by the Jolla team, including a worldwide internet stream, as a demo of the OS, as well as the UI and SDK during the Slush event in Helsinki, Finland, on 21–22 November 2012.
The Sailfish OS SDK in the alpha stage was published at the end of February 2013 and available for free download.
Jolla announced that the first phone to come with Sailfish OS will be[needs update] launched on 27 November at a pop-up DNA Kauppa shop in Narinkkatori, central Helsinki, Finland. The first 450 phones will be sold on this event, while the rest of the preordered devices will ship shortly after.
- "Packaging Applications for Distribution". SailfishOS.org. Retrieved 24 February 2014.
- "What is Sailfish OS? 5 Things to Know".
- Holwerda, Thom (30 January 2014). "From Providence to Lahaina: the Jolla review". Retrieved 21 April 2014.
- "Jolla Brings Wayland Atop Android GPU Drivers".
- "Jolla OS Will Run Android Apps Says CEO Jussi Hurmola".
- Joire, Myriam. "The Engadget Interview: Jolla CEO Marc Dillon at MWC 2013". The Engadget. AOL Inc. Retrieved 2 April 2013.
- "QA". SailfishOS. Retrieved 2013-06-14.
- Isom, Aran (5 July 2013). "Sailfish OS – When, Where And Why You Should Care". Coolsmartphone. Retrieved 24 April 2014.
- Suomalainen, Aleksi (28 November 2013). "Jolla system updates will be named after a Finnish lake". The Jolla Blog. Retrieved 24 April 2014.[unreliable source?]
- Wachter, Bernd (9 December 2013). "[SailfishDevel] [Update] Changelog for SailfishOS update 1 (22.214.171.124)". devel mailing list. https://lists.sailfishos.org/pipermail/devel/2013-December/001693.html. Retrieved 24 April 2014.
- Wachter, Bernd (27 December 2014). "[Release notes] Software version 126.96.36.199, Maadajävri". Jolla. Retrieved 24 April 2014.
- Wachter, Bernd (31 January 2014). "[Release notes] Software version 188.8.131.52, Naamankajärvi". Jolla. Retrieved 24 April 2014.
- bijjal (17 March 2014). "[Release notes] Software version 184.108.40.206, Ohijärvi". Jolla. Retrieved 24 April 2014.
- bijjal (11 April 2014). "[Release notes] Software version 220.127.116.11, Paarlampi". Jolla. Retrieved 24 April 2014.
- Wachter, Bernd (24 April 2014). "[hotfix] MMS changes for Paarlampi (18.104.22.168)". Jolla. Retrieved 24 April 2014.
- bijjal (9 June 2014). "[Release notes] Software version 22.214.171.124, saapunki". Jolla. Retrieved 9 June 2014.
- bijjal (14 July 2014). "[Release notes] Software version 126.96.36.199, tahkalampi". Jolla. Retrieved 14 July 2014.
- -, -. "Porting/Harmattan". sailfishos.org/wiki/. https://sailfishos.org/. Retrieved 25 January 2014.
- Bhushan, Amarendra. "Jolla Sailfish OS Now Supports Android Hardware And Applications". CEOWORLD Magazine. Retrieved 16 September 2013.
- McAllister, Neil. "Jolla Sailfish OS to support Android hardware, apps". The Register. Siig numbertuation Publishing. Retrieved 16 November 2013.
- McAllister, Neil. "Jolla's Android-aping Sailfish OS smartphones to land in November". The Register. Situation Publishing. Retrieved 16 November 2013.
- Reisinger, Don (16 September 2013). "Jolla's Sailfish OS adds Android compatibility". Cnet. Retrieved 20 April 2014.
- "Jolla phone will be priced premium". nokiagadgets.com. 2012-11-25. Retrieved 2013-06-14.
- Sfiet_Konstantin, -. "Sailfish on an Acer Iconia tab W500". vimeo.com. Vimeo.com DMCA. Retrieved 21 April 2013.
- vgrade100, -. "Sailfish on Exopc #merproject". youtube.com. vgrade100. Retrieved 21 April 2013.
- vgrade100. "SailfishOS for Android on Nexus One". youtube.com. vgrade100. Retrieved 25 May 2014.
- Jonne Eilimö. "Video: Sailfish OS running on a Google Nexus 4". Retrieved 23 January 2013.
- vgrade100. "SailfishOS for Android on Nexus 5". youtube.com. vgrade100. Retrieved 25 May 2014.
- Carlos_Gong （产品观察家）. "Retrieved 15 July 2013". Geekpark.net. Retrieved 2013-08-07.
- "Sailfish OS su Nexus 4, Samsung Galaxy S3 e Xiaomi Mi2 - MWC 2014". youtube.com. Retrieved 21 Mar 2014.
- "Sailfish". Mer Wiki. Retrieved 19 November 2013.
- vgrade100, -. "Sailfishos running on O2 Joggler. Modesetting xorg driver on gma500_gfx kernal driver with mesa-llvm". youtube.com. vgrade100. Retrieved 21 April 2013.
- Rigg, Jamie (21 November 2012). "Jolla's Sailfish OS promises multitasking, personalization and 'effortless interaction' (updated)". Engadget. Retrieved 20 April 2014.
- "Jolla". Retrieved 19 November 2013.
- Tung, Liam. "Jolla's MeeGo UI is ready to go - and it's on the hunt for mobile talent". ZDNet.com. 2012 CBS Interactive. Retrieved 16 August 2012.
- "First Jolla Phone with Sailfish OS to launch on November 27th".
- Official website
- Jolla website
- Programming for Sailfish OS with the Sailfish OS SDK - video tutorial for beginners (also developers porting software) by Leszek Lesner
- FlyingSheep on Sailfish - good reading for developers and porting from MeeGo Harmattan to Sailfish OS