operating system
An operating system (OS) is system software that manages computer hardware, software resources, and provides common daemon (computing), services for computer programs.
Time-sharing operating systems scheduler (computing), schedule tasks for ef ...
based on
free software
Free software or libre software is computer software distributed under terms that allow users to run the software for any purpose as well as to study, change, and distribute it and any adapted versions. Free software is a matter of liberty, ...
, and
open source
Open source is source code that is made freely available for possible modification and redistribution. Products include permission to use the source code, design documents, or content of the product. The open-source model is a decentralized sof ...
projects such as
Mer
Mer or MER may refer to:
Business
* Management expense ratio
* Market exchange rate
* Merrill Lynch's former NYSE stock symbol
People
* Francis Mer (born 1939), a French businessman, industrialist and politician, former Minister of the Economy
...
as well as including a closed source UI. The project is being developed by the
Finnish
Finnish may refer to:
* Something or someone from, or related to Finland
* Culture of Finland
* Finnish people or Finns, the primary ethnic group in Finland
* Finnish language, the national language of the Finnish people
* Finnish cuisine
See also ...
company
Jolla
Jolla Oy (sometimes referred to as Jolla Ltd.) is a Finnish technology company; vendor and developer of Sailfish OS. Headquartered in Tampere, Finland, Jolla has its own research and development offices in Helsinki, Tampere and Cyberport, Hong ...
.
The OS first shipped with the original
Jolla Phone
The Jolla smartphone (or Jolla 1 or J1) is a smartphone produced by Jolla that runs the Sailfish OS. Following a successful crowdfunding campaign, it was manufactured in China and released on 27th November 2013. The Jolla smartphone is no long ...
in 2013 (its sale stopped in 2016, but it was supplied with software updates until the end of 2020), then the Jolla Tablet in 2015 and from other vendors licensing the OS. The OS is ported by community enthusiasts to third-party mobile devices including
smartphones
A smartphone is a Mobile device, portable computer device that combines Mobile phone, mobile telephone and Mobile computing, computing functions into one unit. They are distinguished from feature phones by their stronger hardware capabilities ...
and
tablet computers
A tablet computer, commonly shortened to tablet, is a mobile device, typically with a mobile operating system and touchscreen display processing circuitry, and a rechargeable battery in a single, thin and flat package. Tablets, being comput ...
. Sailfish OS can be used for many kinds of devices.
History and development
The OS is an evolved continuation of the Linux
MeeGo
MeeGo is a discontinued Linux distribution hosted by the Linux Foundation, using source code from the operating systems Moblin (produced by Intel) and Maemo (produced by Nokia). Primarily targeted at mobile devices and information appliances ...
OS previously developed by alliance of
Nokia
Nokia Corporation (natively Nokia Oyj, referred to as Nokia) is a Finnish multinational telecommunications, information technology, and consumer electronics corporation, established in 1865. Nokia's main headquarters are in Espoo, Finlan ...
and
Intel
Intel Corporation is an American multinational corporation and technology company headquartered in Santa Clara, California, Santa Clara, California. It is the world's largest semiconductor chip manufacturer by revenue, and is one of the devel ...
which itself relies on combined
Maemo
Maemo is a software platform originally developed by Nokia, now developed by the community, for smartphones and Internet tablets. The platform comprises both the Maemo operating system and SDK. Maemo played a key role in Nokia's strategy to c ...
and
Moblin
Moblin, short for 'mobile Linux', is a discontinued open source operating system and application stack for Mobile Internet Devices (MIDs), netbooks, nettops and embedded devices.
Built around the Intel Atom processor, all builds were designed to ...
. 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:
* Technically stronger OS core
* Improved Android application compatibility
* Support for ARM and Intel architectures, including the Intel Atom x3 processor, or any platform with kernel useable (settle-able) for MER core stack (also called middleware of Sailfish).
* Design to provide visibility in the UI for digital content providers and to enable OS level integration for mobile commerce
* Strong multitasking (one of the most important advantage of the OS and declared to be the best one on the market)
* Strong privacy and personalization features
* Enhanced user interface with new UI/UX features, including simpler swipe access to main functions, enhanced notifications and events views.
Software architecture
The and the Sailfish
software development kit
A software development kit (SDK) is a collection of software development tools in one installable package. They facilitate the creation of applications by having a compiler, debugger and sometimes a software framework. They are normally specific ...
(SDK) are based on the
Linux kernel
The Linux kernel is a free and open-source, monolithic, modular, multitasking, Unix-like operating system kernel. It was originally authored in 1991 by Linus Torvalds for his i386-based PC, and it was soon adopted as the kernel for the GNU ...
and
Mer
Mer or MER may refer to:
Business
* Management expense ratio
* Market exchange rate
* Merrill Lynch's former NYSE stock symbol
People
* Francis Mer (born 1939), a French businessman, industrialist and politician, former Minister of the Economy
...
. includes a multi-tasking
graphical shell
In computing, a shell is a computer program that exposes an operating system's services to a human user or other programs. In general, operating system shells use either a command-line interface (CLI) or graphical user interface (GUI), depending ...
called "Lipstick" built with Qt by Jolla on top of the
Wayland display server protocol
Wayland may refer to:
Computers
* Wayland (display server protocol), a graphical display system for Unix-like computers
Fiction
* Jace Wayland, a character in the ''Mortal Instruments'' book series
* Wayland (''Star Wars''), a planet in the '' ...
. Jolla uses
free and open-source graphics device driver
A free and open-source graphics device driver is a software stack which controls computer-graphics hardware and supports graphics-rendering application programming interfaces (APIs) and is released under a free and open-source software licen ...
s but the Hybris library allows use of proprietary drivers for
Android
Android may refer to:
Science and technology
* Android (robot), a humanoid robot or synthetic organism designed to imitate a human
* Android (operating system), Google's mobile operating system
** Bugdroid, a Google mascot sometimes referred to ...
. Jolla's stated goal is for Sailfish to be open source eventually.
can run some Android applications through a proprietary compatibility layer.
Targeted device classes
Sailfish is 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
Aaltoes, also known as Aalto Entrepreneurship Society, is a non-profit organization run by students, based in Helsinki, Finland. Founded in 2009, Aaltoes has helped the rapid emergence of a startup culture in Finland in 2008-2011.
Aaltoes's purp ...
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
Oracle VM VirtualBox (formerly Sun VirtualBox, Sun xVM VirtualBox and Innotek VirtualBox) is a type-2 hypervisor for x86 virtualization developed by Oracle Corporation.
VirtualBox was originally created by Innotek GmbH, which was acquired by ...
for development, compiling and
emulation
Emulation may refer to:
*Emulation (computing), imitation of behavior of a computer or other electronic system with the help of another type of system
:*Video game console emulator, software which emulates video game consoles
*Gaussian process em ...
purposes, in contrast to the
simulation
A simulation is the imitation of the operation of a real-world process or system over time. Simulations require the use of models; the model represents the key characteristics or behaviors of the selected system or process, whereas the ...
method. This technique allows compilation on the and full testing of developed software in the
virtual machine
In computing, a virtual machine (VM) is the virtualization/ emulation of a computer system. Virtual machines are based on computer architectures and provide functionality of a physical computer. Their implementations may involve specialized har ...
, 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
Android may refer to:
Science and technology
* Android (robot), a humanoid robot or synthetic organism designed to imitate a human
* Android (operating system), Google's mobile operating system
** Bugdroid, a Google mascot sometimes referred to ...
64-bit
In computer architecture, 64-bit integers, memory addresses, or other data units are those that are 64 bits wide. Also, 64-bit CPUs and ALUs are those that are based on processor registers, address buses, or data buses of that size. A comp ...
versions of
Linux
Linux ( or ) is a family of open-source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically packaged as a Linux distribution, which i ...
, 64-bit versions of
OS X
macOS (; previously OS X and originally Mac OS X) is a Unix operating system developed and marketed by Apple Inc. since 2001. It is the primary operating system for Apple's Mac computers. Within the market of desktop and la ...
, 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
Ubuntu ( ) is a Linux distribution based on Debian and composed mostly of free and open-source software. Ubuntu is officially released in three editions: '' Desktop'', '' Server'', and ''Core'' for Internet of things devices and robots. All th ...
and
Plasma Active
KDE Plasma 4 was the fourth generation of the KDE workspace environments. It consisted of three workspaces, each targeting a certain platform: ''Plasma Desktop'' for traditional desktop PCs and notebooks, ''Plasma Netbook'' for netbooks, and ''Pla ...
have been cooperating to share common APIs. When successful, this will make the platforms compatible on the API level.
Sailfish Browser is the default web browser based on
Gecko
Geckos are small, mostly carnivorous lizards that have a wide distribution, found on every continent except Antarctica. Belonging to the infraorder Gekkota, geckos are found in warm climates throughout the world. They range from .
Geckos ar ...
and using embedlite (also known as IPCLiteAPI), a lite-weight embedding API from Mozilla.
Software overview
UI supported human languages
Officially Jolla declares supporting the following 14 languages for the user interface:
Danish
Danish may refer to:
* Something of, from, or related to the country of Denmark
People
* A national or citizen of Denmark, also called a "Dane," see Demographics of Denmark
* Culture of Denmark
* Danish people or Danes, people with a Danish ance ...
,
German
German(s) may refer to:
* Germany (of or related to)
**Germania (historical use)
* Germans, citizens of Germany, people of German ancestry, or native speakers of the German language
** For citizens of Germany, see also German nationality law
**Ger ...
,
English (UK)
British English (BrE, en-GB, or BE) is, according to Oxford Dictionaries, "English as used in Great Britain, as distinct from that used elsewhere". More narrowly, it can refer specifically to the English language in England, or, more broadly ...
,
Spanish
Spanish might refer to:
* Items from or related to Spain:
** Spaniards are a nation and ethnic group indigenous to Spain
**Spanish language, spoken in Spain and many Latin American countries
**Spanish cuisine
Other places
* Spanish, Ontario, Ca ...
,
French
French (french: français(e), link=no) may refer to:
* Something of, from, or related to France
** French language, which originated in France, and its various dialects and accents
** French people, a nation and ethnic group identified with France ...
,
Italian
Italian(s) may refer to:
* Anything of, from, or related to the people of Italy over the centuries
** Italians, an ethnic group or simply a citizen of the Italian Republic or Italian Kingdom
** Italian language, a Romance language
*** Regional Ita ...
,
Norwegian
Norwegian, Norwayan, or Norsk may refer to:
*Something of, from, or related to Norway, a country in northwestern Europe
* Norwegians, both a nation and an ethnic group native to Norway
* Demographics of Norway
*The Norwegian language, including ...
,
Polish
Polish may refer to:
* Anything from or related to Poland, a country in Europe
* Polish language
* Poles, people from Poland or of Polish descent
* Polish chicken
*Polish brothers (Mark Polish and Michael Polish, born 1970), American twin screenwr ...
,
Portuguese
Portuguese may refer to:
* anything of, from, or related to the country and nation of Portugal
** Portuguese cuisine, traditional foods
** Portuguese language, a Romance language
*** Portuguese dialects, variants of the Portuguese language
** Port ...
,
Finnish
Finnish may refer to:
* Something or someone from, or related to Finland
* Culture of Finland
* Finnish people or Finns, the primary ethnic group in Finland
* Finnish language, the national language of the Finnish people
* Finnish cuisine
See also ...
,
Swedish
Swedish or ' may refer to:
Anything from or related to Sweden, a country in Northern Europe. Or, specifically:
* Swedish language, a North Germanic language spoken primarily in Sweden and Finland
** Swedish alphabet, the official alphabet used b ...
,
Russian
Russian(s) refers to anything related to Russia, including:
*Russians (, ''russkiye''), an ethnic group of the East Slavic peoples, primarily living in Russia and neighboring countries
*Rossiyane (), Russian language term for all citizens and peo ...
, 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:
* The early release access is meant primarily for advanced users and developers.
* To sign up for the program there is a checkbox in the Jolla accounts profile page.
* Installed early-access release cannot be downgraded. The only way to downgrade from early access releases is to do a factory reset after removing the sign up check from the user's account profile.
* Early access releases should be considered "reasonably stable". Issues found during that period will either be fixed, or added to "known issues" on the release notes.
* Signing up for the early access releases will not void warranty.
Version history
has three naming conventions: version number, update number and version name.
* Sailfish OS 1.0 versions were named after Finnish lakes.
* Sailfish OS 2.0 supports the Jolla Tablet with
x86
x86 (also known as 80x86 or the 8086 family) is a family of complex instruction set computer (CISC) instruction set architectures initially developed by Intel based on the Intel 8086 microprocessor and its 8088 variant. The 8086 was intro ...
platforms and featured a reworked touch based UI. Releases were named after Finnish rivers.
* Sailfish OS 3.0 and 4.0 features a slightly reworked UI. Releases are named after Finnish national parks.
* Sailfish OS 4.1, 4.2, 4.3 and 4.4 features 64 bit support on the Sony Xperia 10 II, plus a new sharing system. Releases are named after Finnish Unesco world heritage sites.
Stop releases
When updating an installed Sailfish OS from an earlier release, for example after device factory reset, there are several stop releases which must not be skipped and have to be installed before continuing on the path to subsequent releases. These releases provide new functionality that is not compatible with previous releases and have to be traversed in order not to put the Sailfish OS installation 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 some 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
The Jolla smartphone (or Jolla 1 or J1) is a smartphone produced by Jolla that runs the Sailfish OS. Following a successful crowdfunding campaign, it was manufactured in China and released on 27th November 2013. The Jolla smartphone is no long ...
; 4.4.4 "Kit-Kat" on the Jolla C, Jolla tablet and
Xperia X
The Sony Xperia X is an Android smartphone produced by Sony. Part of the Sony Xperia X series, the device was unveiled along with the Sony Xperia XA and Sony Xperia X Performance at MWC 2016 on February 22, 2016. The Sony Xperia X series will ...
; 8.1.0 "Oreo", 9 "Pie" and 10 (depending on the Sailfish OS release) on Xperia XA2, Xperia 10 and Xperia 10 II. 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
Dalvik Turbo is a proprietary alternative to Google's implementation of the Dalvik virtual machine that runs on the Android operating system and other platforms developed by French/Swiss firm Myriad Group.
The virtual machine runs the Java plat ...
Comparison of mobile operating systems
This is a comparison of mobile operating systems. Only the latest versions are shown in the table below, even though older versions may still be marketed.
About OS
Advanced controls
Accessibility features
App ecosystem
Browser ...
*
Hongmeng OS
HarmonyOS (HMOS) () is a distributed operating system developed by Huawei to collaborate and interconnect with multiple smart devices on the Internet of Things (IoT) ecosystem. In its current multi-kernel design, the operating system selects ...
*
KaiOS
KaiOS is a mobile Linux distribution for keypad feature phones based on the Firefox OS open-source project. It is developed by KaiOS Technologies (Hong Kong) Limited; a company based in Hong Kong, whose largest shareholder is Chinese multin ...
*
Nokia Asha platform
The Nokia Asha platform is a mobile operating system (OS) and computing platform designed for low-end borderline smartphones, based on software from Smarterphone which was acquired by Nokia. The platform inherits UI similarities mostly from MeeGo ...
*
Nokia X platform
The Nokia X platform was a Linux-based mobile operating system and Computing platform, software platform originally developed by Nokia, and subsequently by Microsoft Mobile. Introduced on 24 February 2014, it was Fork (software development), fork ...