Sailfish OS

Sailfish OS is a Linux-based operating system based on free software, and open source projects such as Mer as well as including a closed source UI. The project is being developed by the Finnish company Jolla.
The OS is shipped with the Jolla smartphone and tablet (the sale stopped in 2016 but devices are still supported with software updates) and from other vendors licensing the OS. The OS is ported by community enthusiasts to third-party mobile devices including smartphones and tablet computers. Sailfish OS can be used for many kinds of devices.
History and development.
The OS is an evolved continuation of the Linux MeeGo OS previously developed by alliance of Nokia and Intel which itself relies on combined Maemo and Moblin. The MeeGo legacy is contained in the Mer core in about 80% of its code; the Mer name thus expands to MEego Reconstructed. This base is extended by Jolla with a custom user interface and default applications. Jolla and MERproject.org follow a meritocratic system to avoid the mistakes that led to the MeeGo project's then-unanticipated discontinuation.
The main elements for include:
Software architecture.
The and the Sailfish software development kit (SDK) are based on the Linux kernel and Mer. includes a multi-tasking graphical shell called "Lipstick" built by Jolla on top of the Wayland display server protocol. Jolla uses free and open-source graphics device drivers but the Hybris library allows use of proprietary drivers for Android. Jolla's stated goal is for Sailfish to be open source eventually.
 can run Android applications through a proprietary compatibility layer.
Targeted device classes.
Sailfish is commonly known to be targeted at mobile devices, but since it inherited around 80% of MeeGo code, Sailfish can be used as a complete general-purpose Linux OS on devices including in vehicle infotainment (IVI), navigation, smart TV, desktops and notebooks, yachts, automotive, e-commerce, home appliances, measuring and control equipment, smart building equipment, etc. See use cases of original MeeGo to compare, and the Devices section for devices that run the .
Sailfish OS SDK.
The SDK was announced at the Slush Helsinki conference in 2012, and the alpha was published in February 2013. The SDK, installation and coding tutorials are available for free download from the website despite the overall license not being open source.
Sailfish SDK uses Qt with VirtualBox for development, compiling and emulation purposes, in contrast to the simulation method. This technique allows compilation on the and full testing of developed software in the virtual machine, emulatingnot simulatingthe whole . This also separates development activities and side effects from everything else running on the host computer, leaving it undisturbed by developments and tests. According to Jolla, development with Sailfish SDK is development on itself; there are no differences between developed software appearance and behaviour in the SDK and on a device running .
The availability of source code to the SDK allows shaping and rebuilding to companies' or developers' specific needs, creating a context-specific environment that is set once and needs no preparation when the device is booted. The SDK runs on the operating systems Android, 32- and 64-bit versions of Linux, 64-bit versions of OS X, and Microsoft Windows. It can be used for compiling software for devices from Linux sources. Its general console/terminal mode follows a commonly used standard. Compatible binaries or libraries can also be used.
Application programming interfaces.
 uses open source Qt APIs (Qt 5, QtQuick 2 etc.) and a closed source Sailfish Silica for the UI. Standard Linux APIs are provided by the Mer Core.
Sailfish, Ubuntu and Plasma Active have been cooperating to share common APIs. When successful, this will make the platforms compatible on the API level.
Software overview.
UI supported human languages.
Officially Jolla declares supporting the following 14 languages for the user interface:
Danish, German, English (UK), Spanish, French, Italian, Norwegian, Polish, Portuguese, Finnish, Swedish, Russian, Chinese (Mainland), and Chinese (Hong Kong). For each of them, the OS has a dedicated keyboard. There are a few more languages which are unofficially supported by community freelancers not under control by Jolla, hence more than 20 languages are supported in total. Additional languages can be installed by skilled users due to the Linux architecture.
Public "Early access" for beta testers and developers.
After positive experiences with pushing early updates to a small group of opt-in users for Sailfish Update 9 and for the connectivity hotfix, Jolla has allowed all interested parties to try a new version of about 1–2 weeks before official release, in a program called "Early access". It is expected to be useful for developers and technically minded users, and a step towards more community integration into the Sailfish release process, including improvement of quality by identifying critical issues which only show up in certain environments or device setups, before rolling the update out to the wider user audience. As an added bonus, it provides a window for developers to test their applications on new releases of .
In the long term it will help Jolla to establish a developer program with early release candidate access for registered developers, and to have more community involvement in platform development. The first detail Jolla is hoping to learn from this is how it can gather feedback from a large audience in a reasonable way.
Basic details about the early access update:
Version history.
 has three naming conventions: version number, update number and version name.
Stop releases.
When updating SFOS from earlier releases, for example after device factory reset, there are several stop releases which cannot be skipped and must be taken before continuing on the path to following releases. These releases provide new functionality that is not compatible with previous releases and have to be traversed in order not to lose data or put the OS into an unstable state.
Porting.
The Sailfish website publishes an online compendium of knowledge, links and instructions on porting issues.
Using Android software running on.
In addition to its native applications, Sailfish can run most Android applications by installing them from an application store or directly through an APK file. Supported Android versions are 4.1.2 "Jelly Bean" on the original Jolla phone; 4.4.4 "Kit-Kat" on the Jolla C, Jolla tablet and Xperia X; 8.1.0 "Oreo" on Xperia XA2 and Xperia 10. Problems can arise if these applications were built without following Android standards about controls, which might not display correctly and so become unusable.
Sailfish OS uses Alien Dalvik, a proprietary Android compatibility layer. It does not emulate a copy of Android, but instead implements its APIs, an approach comparable to that of Wine. Android applications can thus run at native speed without any perceivable slow-down. Sailfish can run both native Sailfish and Android software simultaneously, with the user switching between them on the fly.
Devices having Android 8.1 support are using LXC to improve the security with better isolation, in the same way the open source Android compatibility layer Anbox is doing.
Hardware overview.
Advantages of the Mer standard.
 can be used on any hardware with Linux-kernel support and compatible with the middleware utilising the Mer core. Community enthusiasts have ported to a number of devices this way. Instead of designation to a specific reference hardware platform, a VirtualBox implementation with the SDK is available for development on Linux, OS X and Windows operating systems. This virtual machine implementation contains the whole isolated from local resources and the local OS to enable convenient evaluation of the behaviour and performance of coded or ported software before deployment on real devices.
Devices from other vendors licensing.
Manufacturers can provide mobile equipment with a licensed , or as open source, or combining both and including their own or the operator's modifications and branding for specific markets or purposes.
Planned and announced devices.
Several devices have been announced with official support for for future release.
Cancelled devices:
Community enthusiasts' ports to devices from other vendors.
Due to the relative ease of porting and the open source license, has also been unofficially ported to other 3rd-party devices. The Hardware Adaptation Development Kit for porters has been published and is free. These ports are mostly published on the Maemo and XDA Developers forums, and in the Mer wiki a list of the ports is compiled. Due to license restrictions, proprietary parts or extensions such as the Alien Dalvik compatibility layer for Android apps are not included. However they can be added, e.g. when a manufacturer or distributor turns it from the community version into an officially supported version for a particular device. From the originally more than 80 ports, there are about 19 ports that are still in active development – as of March 2019 – meaning they have been updated to Sailfish 3:
To display the ease of porting to other devices, Jolla showed created ports and community ports at events like the Mobile World Congress, Slush and FOSDEM:
Jolla's Russian partner Open Mobile Platform (OMP) showed Aurora OS ported to different devices on their YouTube channel:
OS development status.
 is promoted by Jolla and supported by the open Sailfish Alliance established in 2011, a group established to unite OEM and ODM manufacturers, chipset providers, operators, application developers and retailers. On 16 August 2012, the user interface was reported to be ready for release. 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 said on social networking website Twitter that the company had reached the first development target. Sailfish was debuted by the Jolla team, including a worldwide internet stream, as a demo of the OS, and the UI and SDK during the Slush event in Helsinki, Finland, on 21–22 November 2012. The alpha stage of SDK was published at the end of February 2013 and was made available for free download.
On 16 September 2013, Jolla announced that its OS had been made compatible with Android applications and hardware. The first telephone to use it was launched on 27 November 2013 at a pop-up DNA Kauppa shop in Helsinki. The first 450 telephones were sold at this event, while the rest of the preordered devices were shipped shortly after.
In September 2015, version 1.1.9.28 "Eineheminlampi" was released, which added the main elements of the revamped Sailfish OS 2.0 user interface.
Sailfish 2.0 was launched with the Jolla Tablet, and existing devices, both smartphones and tablets, from Jolla's official distribution channels are supported with upgrade to Sailfish 2.0 and following updates.
In May 2016 Jolla announced the Sailfish Community Device Program, supporting developers and members of community.
Aurora OS.
Jolla staff met with members of the Russian technology community to break ground on the new software and promote , as part of Jolla's BRICS strategy. As a result of those efforts, on 18 May 2015 the Russian minister of communications Nikolai Nikiforov announced plans to replace Apple's iOS and Google's Android platforms with new software based on Sailfish. He intends it to cover 50% of Russian needs in this area during next ten years, in comparison to the 95% currently covered with western technology. The Russian version is currently being developed under the brand name Aurora (Avrora) OS. The Chinese multinational technology company Huawei may start using Aurora OS as Android's replacement.
Sailfish Alliance.
Sailfish Alliance is the open alliance established in 2011 by Jolla company to support the MeeGo ecosystem with new products, services and business opportunities around or using Sailfish OS, a Linux operating system combining mer with proprietary components from Jolla and other parties, for various purposes and mobile devices. And to continue the development of the Linux MeeGo ecosystem, which the Sailfish OS is a part of.
The alliance is seen as a competitor to other groups like Android's Open Handset Alliance.
In 2011 some of the MeeGo team working at Nokia left, and were funded by Nokia though their "Bridge" program to fund spin-out projects by ex-employees. The Sailfish Alliance has sought to collaborate between the Finnish software developers, and overseas handset manufacturers, some of which are in China. The news media reports that a number of manufacturers in China and India want an alternative to Android.
The Alliance aims to "unite OEM and ODM manufacturers, chipset providers, operators, application developers and retailers."
Business strategy.
The aim of the Alliance is to offer unique differentiation opportunities and sustainable competitive advantage for OEM and ODM manufacturers, chipset providers, operators, application developers, retailers and other interested in sides.
Sailfish Secure.
The Sailfish Secure is the first open and secure mobile phone platform, the secure mobile solution based on Sailfish OS. For the first time it was introduced publicly in Barcelona, Spain at Mobile World Congress on 2 March 2015 where plans for the Sailfish Secure were presented.
Established on foundations of a security-hardened version of the Sailfish OS and SSH's communication encryption and key management platform. Developed by Jolla (the Sailfish OS designer and developer) together with SSH Communications Security (the inventor of Secure Shell SSH protocol, among other advanced security projects it provides) in collaboration of Sailfish Alliance.
The hardware platform independent approach of the Sailfish Secure allow concept adaptation to e.g. local needs, and also in collaboration with other security partners. End customers like governments or large corporations are able to adapt the solution to their preferred or used hardware platform, as it is not tied to a specific hardware or configuration.
The aim is to answer increasing demand in privacy in mobile communications. Jolla and Sailfish OS has unique position to create and provide an alternative solution on markets dominated by Android or other non-EU based OSes. Target customers need a secure mobile solution, including government officials or corporations, but it is also to be the solution affordable for consumers.