Sailfish OS
Sailfish is a mobile operating System (OS) combining the Linux Kernel, the Mer core and proprietary software written by mobile software developer Jolla. Sailfish is being developed by Jolla in cooperation with the Mer project community and corporate members of the Seilfish Alliance. Sailfish is used in the Jolla smartphone, in the upcoming Jolla Tablet, and by other licensees.The OS is mainly targeted at mobile devices and is also intended to support other devices.
The Sailfish OS and the Sailfish Software Sevelopment Kit (SDK) are based on the Linux Kernal and Mer Sailfish OS includes a multi-tasking graphical Shell called "Lipstick" built by Jolla on top of Jolla uses free and open source grpahics drive the Hybris library allows use of proprietary graphics device drivers for Android.Jolla's stated goal is for Sailfish to be open source eventually.
Sailfish OS can run Android applications through a proprietary compatibility layer.
The Sailfish OS SDK was announced in Helsinki at Slush in 2012, and the alpha was published in February 2013. The SDK, installation and coding tutorials are available for free download from the Sailfish OS website although the overall license is not open source.
Sailfish SDK uses Qt with Virtual Box for development, compiling and emulation purposes, in contrast to simulation method.This technique allows compilation on the Sailfish OS and full testing of developed software in the virtual Machine, emulating but not simulating the whole Sailfish OS.The technique also separates development activities and side effects from everything else running on the host particular computer, leaving it undisturbed by developments and tests. According to Jolla, development with Sailfish SDK is development on Sailfish OS itself; there are no differences between developed software appearance and behaviour in the SDK and on a device running Sailfish OS.
The availability of source code to the SDK allows shaping and rebuilding for 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 Sailfish OS devices from Linux sources. Its general console/terminal mode follows a commonly used standard. A compatible binaries or libraries can also be used.
Application programming interfaces
SailfishOS 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 Archieve have been cooperating to share common APIs and this, when successful, will make the platforms compatible on the API level .