Sailfish OS

From Infogalactic: the planetary knowledge core
Jump to: navigation, search
Sailfish
240px
Developer Jolla
Written in Qt/QML, C++
OS family Linux (Unix-like)
Working state Current
Source model Open source with added closed-source components and extensions of third parties which can be of other licences as well.[1][2]
Latest release 3.1.0 (Seitseminen) / 25 July 2019; 4 years ago (2019-07-25)
Latest preview 3.1.0.11 (Seitseminen) / 18 July 2019; 4 years ago (2019-07-18)
Marketing target Mobile and general purpose
Available in English for development, SDK & supporting documentation; over 21 national languages versions of UI in user's device
Package manager RPM Package Manager[3]
Platforms 32-bit ARM and 64-bit x86
Kernel type Monolithic (Linux)
License For end-user the EULA defines used open source and other licences components with a component's origin.[1][2]
Preceded by MeeGo by alliance of Nokia & Intel
Official website sailfishos.org
Hackday with Jolla, Mer and Nemo Mobile in September 2012

Sailfish OS (also styled as SailfishOS[4] or abbreviated to SFOS) is a general purpose Linux distribution used commonly as a mobile operating system combining the Linux kernel for a particular hardware platform, the open-source Mer core stack of middleware, a proprietary UI contributed by Jolla or an open source UI, and other third-party components.[1][2]

Sailfish is being developed by Jolla, the Sailfish and Mer project communities, corporate members of the Sailfish Alliance and various open community members. The Sailfish community members make development requests and decide development priorities by voting. The Mer project receives contributions from Jolla and its community, and Mer is the source of middleware for Jolla, thereby continuous development and compatibility of all Mer based projects is maintained.[5]

The OS is shipped with the Jolla smartphone and tablet (both discontinued in 2016)[6] and from other vendors licensing the OS.[7] More or less unofficially the OS is being ported by community enthusiasts to third-party mobile devices including smartphones[8] and tablet computers.[9] 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 Sailfish OS 2.0 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 Sailfish OS and the Sailfish software development kit (SDK) are based on the Linux kernel and Mer.[10][11][12] Sailfish OS includes a multi-tasking graphical shell called "Lipstick" built by Jolla on top of the Wayland display server protocol.[13] Jolla uses free and open-source graphics device drivers but the Hybris library allows use of proprietary drivers for Android.[14][15] Jolla's stated goal is for Sailfish to be open source eventually.[2][needs update?]

Sailfish OS can run Android applications through a proprietary compatibility layer.[16]

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 ranging from 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.

Sailfish OS SDK

The Sailfish OS SDK was announced at the Slush Helsinki conference in 2012, and the alpha was published in February 2013.[17] The SDK, installation and coding tutorials are available for free download from the Sailfish OS website despite the overall license not being open source.[1]

Sailfish SDK uses Qt with VirtualBox for development, compiling and emulation purposes, in contrast to the simulation method.[citation needed] This technique allows compilation on the Sailfish OS and full testing of developed software in the virtual machine, emulating – not simulating – the whole Sailfish OS.[citation needed] This also separates development activities and side effects from everything else running on the host computer, leaving it undisturbed by developments and tests.[18] 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.[citation needed]

The availability of source code to the SDK allows shaping and rebuilding to companies' or developers' specific needs,[citation needed] 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.[19] It can be used for compiling software for Sailfish OS devices from Linux sources. Its general console/terminal mode follows a commonly used standard. Compatible binaries or libraries can also be used.[citation needed]

Application programming interfaces

Sailfish OS 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.[20]

Sailfish, Ubuntu and Plasma Active have been cooperating to share common APIs. When successful, this will make the platforms compatible on the API level.[21]

Software overview

File:SailfishOS Screenshot1.png
Sailfish OS version 2.0.2.51 running on Intex Technologies Aqua Fish

UI supported 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.[22]

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 Sailfish OS 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 Sailfish OS.

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.[4]

Version history

Sailfish OS has three naming conventions: version number, update number and version name.

Software version Release date Name Notes
v1.0.0.5 27 November 2013 Kaajanlampi[23] Initial release
v1.0.1.10 9 December 2013 Update 1, Laadunjärvi[26]
v1.0.1.12 16 December 2013
v1.0.2.5 27 December 2013 Update 2, Maadajävri [sic][27]
v1.0.3.8 31 January 2014 Update 3, Naamankajärvi[28]
v1.0.4.20 17 March 2014 Update 4, Ohijärvi[29]
v1.0.5.16 11 April 2014 Update 5, Paarlampi[30][31]
v1.0.5.19 24 April 2014 Hotfix
v1.0.6.x N/A Update 6[32] Merged into Update7, Saapunki
v1.0.7.16 9 June 2014 Update 7, Saapunki[33] Includes Update 6
v1.0.8.19 14 July 2014 Update 8, Tahkalampi[34][35]
v1.0.8.21 6 October 2014 Security hotfix
v1.1.0.38 23 October 2014 Update 9, Uitukka[36][37] Opt-in update
Introduction of opt-in updates
v1.1.0.39 24 October 2014 Opt-in update
v1.1.1.26 18 December 2014 Update 10, Vaarainjärvi[38] Opt-in update
v1.1.1.27 19 December 2014 Opt-in update
v1.1.1.27 22 December 2014 Public release
v1.1.2.15 19 February 2015 Update 11, Yliaavanlampi[39] Opt-in update
v1.1.2.16 25 February 2015 Public release
v1.1.3.x N/A Update 12[40] Merged into Update 13, Äijänpäivänjärvi
v1.1.4.28 15 April 2015 Update 13, Äijänpäivänjärvi[40][41] Early access release
v1.1.4.29 28 April 2015 Early access release
v1.1.4.29 4 May 2015 Public release
v1.1.5.x N/A Update 14[42] Dropped during Release Candidate phase
v1.1.6.27 8 June 2015 Update 15, Aaslakkajärvi[42] Early access release
v1.1.6.27 15 June 2015 Public release
v1.1.7.24 15 July 2015 Update 16, Björnträsket[43] Early access release
v1.1.7.25 27 July 2015 Early access release
v1.1.7.27 13 August 2015 Early access release
v1.1.7.28 27 August 2015 Early access release
v1.1.7.28 31 August 2015 Public release
v1.1.9.28 9 September 2015 Update 17, Eineheminlampi[44] Early access release
Introduction of the Sailfish OS 2.0 GUI
v1.1.9.28 24 September 2015 Public release
v1.1.9.30 22 October 2015 Early access release
v1.1.9.30 3 November 2015 Public release
v2.0.0.10 22 October 2015 Update 18, Saimaa[45] Early access release
v2.0.0.10 3 November 2015 Public release
v2.0.1.7 19 January 2016 Update 19, Taalojärvi[46] Early access release
v2.0.1.11 28 April 2016 Early access release
v2.0.1.11 9 May 2016 Public release
v2.0.2.43 N/A Update 20, Aurajoki[47] Jolla C and Aqua Fish only
v2.0.2.45 N/A Jolla C and Aqua Fish only
v2.0.2.48 28 July 2016 Early access release
v2.0.2.51 31 August 2016 Early access release
v2.0.2.51 7 September 2016 Public release
v2.0.3.11 N/A Update 21, Espoonjoki Turing Phone only
v2.0.3.14 N/A Turing Phone only
v2.0.4.13 5 October 2016 Update 22, Fiskarsinjoki[48] Early access release
v2.0.4.14 19 October 2016 Early access release
v2.0.4.14 24 October 2016 Public release
v2.0.5.6 22 November 2016 Update 23, Haapajoki[49] Early access release
v2.0.5.6 30 November 2016 Public release
v2.1.0.9 8 February 2017 Update 24, Iijoki[50] Early access release
v2.1.0.10 23 March 2017 Early access release
v2.1.0.11 3 April 2017 Early access release
v2.1.0.11 11 April 2017 Public release
v2.1.1.23 24 July 2017 Update 25, Jämsänjoki[51] Early access release
v2.1.1.24 28 July 2017 Early access release
v2.1.1.26 24 August 2017 Early access release
v2.1.1.26 29 August 2017 Public release
Roll out ceased on 31 August 2017
Dropped on 20 September 2017
v2.1.2.3 2 October 2017 Update 26, Kiiminkijoki[52] Early access release
Includes Update 25
v2.1.2.3 9 October 2017 Public release
v2.1.3.1 4 October 2017 Update 27, Kymijoki[53][54] Cbeta release
Xperia X only
v2.1.3.3 6 October 2017 Cbeta release
Xperia X only
v2.1.3.5 11 October 2017 Public release of Sailfish X
Xperia X only
v2.1.3.7 31 October 2017 Early access release
v2.1.3.7 13 November 2017 Public release
v2.1.4.13 20 February 2018 Update 28, Lapuanjoki[55] Early access release
v2.1.4.14 28 February 2018 Early access release
v2.1.4.15 6 March 2018 Public release
v2.2.0.29 31 March 2018 Update 29, Mouhijoki[56] Early access release
v2.2.0.29 7 June 2018 Public release
v2.2.1.18 4 September 2018 Update 30, Nurmonjoki[57] Early access release
v2.2.1.18 12 September 2018 Public release
v3.0.0.5 31 October 2018 Update 31, Lemmenjoki[58] Early access release
Introduction of the Sailfish OS 3.0 GUI
Includes changes from planned 2.2.2 release
v3.0.0.8 11 November 2018 Public release
v3.0.1.11 7 January 2019 Update 32, Sipoonkorpi[59][60] Early access release
v3.0.1.11 16 January 2019 Public release
v3.0.1.14 31 January 2019 Beta release
Xperia XA2 (Ultra/Plus) only
v3.0.2.8 18 March 2019 Update 33, Oulanka[61] Early access release
v3.0.2.8 25 March 2019 Public release
v3.0.3.8 24 April 2019 Update 34, Hossa[62] Early access release
v3.0.3.9 7 May 2019 Public release
v3.0.3.10 29 May 2019 Public release
v3.1.0.11 18 July 2019 Update 35, Seitseminen[63] Early access release

For readers not speaking Finnish it might be difficult to remember the Finnish words. It might be helpful to note that the names start in the order of the Finnish alphabet. R, Å, and Ö are skipped with updates 6, 12, and 14. After reaching the last letter it restarts with the letter A for update 15. There are no native Finnish words beginning with C or D, which could explain the jump at update 17, but from update 18 onwards the rule does no longer hold.

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 no update path to next 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 get OS in unstable state.

Software version Release date Name
v1.0.2.5 27 December 2013 Maadajärvi
v1.1.2.16 25 February 2015 Yliaavanlampi
v1.1.7.28 31 August 2015 Björnträsket
v1.1.9.30 22 October 2015 Eineheminlampi
v2.0.0.10 3 November 2015 Saimaa
v2.2.0.29 7 June 2018 Mouhijoki
v3.0.0.8 11 November 2018 Lemmenjoki

Porting

A number of projects successful on other platforms are migrating to become native Sailfish OS applications. This gives abandoned Harmattan or Symbian projects a new life. Porting Qt-written projects may take only a few hours. In support, sailfish.org collects and publishes[64] 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 to the Sailfish OS devices
  • porting framework (Qt 4 to Qt 5, SDL 1.2 to SDL 2.0, Debian packaging to 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.

As Sailfish is a GNU/Linux-based OS, it is also possible to install other GNU/Linux applications on it, be they sources for compilation or direct binaries.

Using Android software running on Sailfish OS

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. Problems can arise, if these applications were built without following Android standards about controls, which might not display correctly and so become unusable. Built-in Alien Dalvik plays the role of an Android compatibility layer. It does not emulate, but instead implements Android OS APIs; an approach comparable to that of Wine. Thus, Android software can perform the function calls they require and run at native speed without any perceivable performance slow-down. Sailfish multitasking is always enabled by the nature of GNU/Linux, and this allows running both native Sailfish and Android software simultaneously, while the user can switch between them on the fly.[65]

Hardware overview

Advantages of the Mer standard

Sailfish OS can be used on any hardware with Linux-kernel support and compatible with the middleware utilising the Mer core. Community enthusiasts have ported Sailfish OS to a number of devices this way. Instead of designation to a specific reference hardware platform, a VirtualBox implementation with the Sailfish OS SDK is available for development on Linux, OS X and Windows operating systems. This virtual machine implementation contains the whole Sailfish OS 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.[citation needed]

Jolla devices

Devices from other vendors licensing Sailfish OS

Manufacturers can provide mobile equipment with a licensed Sailfish OS, 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 Sailfish OS for future release.

Community enthusiasts' ports to devices from other vendors

Due to the relative ease of porting and the open source license, Sailfish OS has also been unofficially ported[67] to other 3rd-party devices. The Hardware Adaptation Development Kit for porters has been published and is free.[68] These ports are mostly published on the Maemo and XDA Developers forums, and in the Mer wiki a list of the ports is compiled.[69] 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 Sailfish OS to other devices, Jolla showed created ports and community ports at events like the Mobile World Congress, Slush and FOSDEM:

OS development status

Sailfish OS 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.[97] 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".[98]

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 Sailfish OS 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.[99] 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.[100]

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 Sailfish OS community.[101]

Cooperation and OS support

Jolla staff met with members of the Russian technology community to break ground on the new software and promote Sailfish OS, 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.[102][103] The Russian version is currently being developed under the brand name Aurora OS.[104] The Chinese multinational technology company Huawei may start using Avrora OS as Android’s replacement.[105]

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.[106]

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.[107][108][109] The Sailfish Alliance has sought to collaborate between the Finnish software developers, and overseas handset manufacturers, some of which are in China.[110][111] The news media reports that a number of manufacturers in China and India want an alternative to Android.[106][112][113]

The Alliance aims to "unite OEM and ODM manufacturers, chipset providers, operators, application developers and retailers." [114]

Participants

The Sailfish Alliance is open and the list of participants and their status de facto is fluctuating from time to time. Known present and previous members include:

  • Cyberport in Hong Kong – digital community with a cluster of technology and digital content tenants
  • D.Phone – China’s largest retailer for mobile phones and accessories
  • Digia – in 2011, Digia acquired the commercial licensing business for Qt from Nokia and in August 2012 acquired Qt from Nokia
  • DNA – Finnish mobile network
  • Invesdor – Northern European crowd funding platform
  • Joiku – produces Mobile WiFi HotSpot software for Nokia phones
  • Jolla Ltd. – Finnish smartphones manufacturer
  • Merproject.org – open source project developing the Mer tools and the Mer core based on MeeGo, on which the Sailfish OS has been built
  • Myriad Group – Myriad Alien Dalvik enables Android applications to operate on non-Android devices
  • Opera Software – company that makes browsers for most major mobile phone platforms
  • ST-Ericsson – defunct company doing design, development, and the creation of mobile platforms and wireless semiconductors
  • Tekes – Finnish Funding Agency for Technology and Innovation
  • Tencent Holdings – one of the largest portal service in China

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.[115]

This alliance is part of Jolla business strategy of free gathering 3rd parties, not necessary bound with partnerships or other agreements and also not necessary for contributing in Sailfish OS development. Besides the OS possibilities participants were motivated by Jolla model's advantages of open source and open community collaboration like: cost reductions, improved service for the customer, sharing skills, knowledge, specific resources towards providing new products and solutions which could not happen otherwise. This is the first time a business alliance conception was used in this way with meritocratically governed Jolla's model and for open source and open communities. Its important parts are:

  • companies supporting and using developed code and software in various devices like netbooks, laptops, computers, mobiles, in-vehicle infotainment, cars, yachts, navigations, household goods etc.
  • hardware vendors
  • innovative entrepreneurs and start-ups
  • the merproject.org, which develop code of core on open source basis
  • the open source community by all means, especially Linux and MeeGo Harmattan enthusiasts.

See also

References

  1. 1.0 1.1 1.2 1.3 Lua error in package.lua at line 80: module 'strict' not found.
  2. 2.0 2.1 2.2 2.3 Lua error in package.lua at line 80: module 'strict' not found.
  3. Lua error in package.lua at line 80: module 'strict' not found.
  4. 4.0 4.1 Lua error in package.lua at line 80: module 'strict' not found.
  5. Lua error in package.lua at line 80: module 'strict' not found.
  6. Lua error in package.lua at line 80: module 'strict' not found.
  7. Lua error in package.lua at line 80: module 'strict' not found.
  8. Lua error in package.lua at line 80: module 'strict' not found.
  9. Lua error in package.lua at line 80: module 'strict' not found.
  10. Lua error in package.lua at line 80: module 'strict' not found.
  11. Lua error in package.lua at line 80: module 'strict' not found.
  12. Lua error in package.lua at line 80: module 'strict' not found.
  13. Lua error in package.lua at line 80: module 'strict' not found.
  14. Lua error in package.lua at line 80: module 'strict' not found.
  15. Lua error in package.lua at line 80: module 'strict' not found.
  16. Lua error in package.lua at line 80: module 'strict' not found.
  17. Lua error in package.lua at line 80: module 'strict' not found.
  18. Lua error in package.lua at line 80: module 'strict' not found.
  19. Lua error in package.lua at line 80: module 'strict' not found.
  20. Lua error in package.lua at line 80: module 'strict' not found.
  21. Lua error in package.lua at line 80: module 'strict' not found.
  22. Lua error in package.lua at line 80: module 'strict' not found.
  23. 23.0 23.1 Lua error in package.lua at line 80: module 'strict' not found.[unreliable source?]
  24. Lua error in package.lua at line 80: module 'strict' not found.
  25. Lua error in package.lua at line 80: module 'strict' not found.
  26. Lua error in package.lua at line 80: module 'strict' not found.
  27. Lua error in package.lua at line 80: module 'strict' not found.
  28. Lua error in package.lua at line 80: module 'strict' not found.
  29. Lua error in package.lua at line 80: module 'strict' not found.
  30. Lua error in package.lua at line 80: module 'strict' not found.
  31. Lua error in package.lua at line 80: module 'strict' not found.
  32. Lua error in package.lua at line 80: module 'strict' not found.
  33. Lua error in package.lua at line 80: module 'strict' not found.
  34. Lua error in package.lua at line 80: module 'strict' not found.
  35. Lua error in package.lua at line 80: module 'strict' not found.
  36. Lua error in package.lua at line 80: module 'strict' not found.
  37. Lua error in package.lua at line 80: module 'strict' not found.
  38. Lua error in package.lua at line 80: module 'strict' not found.
  39. Lua error in package.lua at line 80: module 'strict' not found.
  40. 40.0 40.1 Lua error in package.lua at line 80: module 'strict' not found.
  41. Lua error in package.lua at line 80: module 'strict' not found.
  42. 42.0 42.1 Lua error in package.lua at line 80: module 'strict' not found.
  43. Lua error in package.lua at line 80: module 'strict' not found.
  44. Lua error in package.lua at line 80: module 'strict' not found.
  45. Lua error in package.lua at line 80: module 'strict' not found.
  46. Lua error in package.lua at line 80: module 'strict' not found.
  47. Lua error in package.lua at line 80: module 'strict' not found.
  48. Lua error in package.lua at line 80: module 'strict' not found.
  49. Lua error in package.lua at line 80: module 'strict' not found.
  50. Lua error in package.lua at line 80: module 'strict' not found.
  51. Lua error in package.lua at line 80: module 'strict' not found.
  52. Lua error in package.lua at line 80: module 'strict' not found.
  53. Lua error in package.lua at line 80: module 'strict' not found.
  54. Lua error in package.lua at line 80: module 'strict' not found.
  55. Lua error in package.lua at line 80: module 'strict' not found.
  56. Lua error in package.lua at line 80: module 'strict' not found.
  57. Lua error in package.lua at line 80: module 'strict' not found.
  58. Lua error in package.lua at line 80: module 'strict' not found.
  59. Lua error in package.lua at line 80: module 'strict' not found.
  60. Lua error in package.lua at line 80: module 'strict' not found.
  61. Lua error in package.lua at line 80: module 'strict' not found.
  62. Lua error in package.lua at line 80: module 'strict' not found.
  63. Lua error in package.lua at line 80: module 'strict' not found.
  64. Lua error in package.lua at line 80: module 'strict' not found.
  65. Lua error in package.lua at line 80: module 'strict' not found.
  66. Lua error in package.lua at line 80: module 'strict' not found.
  67. Lua error in package.lua at line 80: module 'strict' not found.
  68. Lua error in package.lua at line 80: module 'strict' not found.
  69. Lua error in package.lua at line 80: module 'strict' not found.
  70. Lua error in package.lua at line 80: module 'strict' not found.
  71. Lua error in package.lua at line 80: module 'strict' not found.
  72. Lua error in package.lua at line 80: module 'strict' not found.
  73. Lua error in package.lua at line 80: module 'strict' not found.
  74. Lua error in package.lua at line 80: module 'strict' not found.
  75. Lua error in package.lua at line 80: module 'strict' not found.
  76. Lua error in package.lua at line 80: module 'strict' not found.
  77. Lua error in package.lua at line 80: module 'strict' not found.
  78. Lua error in package.lua at line 80: module 'strict' not found.
  79. Lua error in package.lua at line 80: module 'strict' not found.
  80. Lua error in package.lua at line 80: module 'strict' not found.
  81. 81.0 81.1 Lua error in package.lua at line 80: module 'strict' not found.
  82. Lua error in package.lua at line 80: module 'strict' not found.
  83. Lua error in package.lua at line 80: module 'strict' not found.
  84. Lua error in package.lua at line 80: module 'strict' not found.
  85. Lua error in package.lua at line 80: module 'strict' not found.
  86. Lua error in package.lua at line 80: module 'strict' not found.
  87. Lua error in package.lua at line 80: module 'strict' not found.
  88. Lua error in package.lua at line 80: module 'strict' not found.
  89. Lua error in package.lua at line 80: module 'strict' not found.
  90. Lua error in package.lua at line 80: module 'strict' not found.
  91. 91.0 91.1 Lua error in package.lua at line 80: module 'strict' not found.
  92. Lua error in package.lua at line 80: module 'strict' not found.
  93. Lua error in package.lua at line 80: module 'strict' not found.
  94. Lua error in package.lua at line 80: module 'strict' not found.
  95. 95.0 95.1 Lua error in package.lua at line 80: module 'strict' not found.
  96. 96.0 96.1 96.2 Lua error in package.lua at line 80: module 'strict' not found.
  97. Lua error in package.lua at line 80: module 'strict' not found.
  98. Lua error in package.lua at line 80: module 'strict' not found.
  99. Lua error in package.lua at line 80: module 'strict' not found.
  100. Lua error in package.lua at line 80: module 'strict' not found.
  101. Lua error in package.lua at line 80: module 'strict' not found.
  102. Lua error in package.lua at line 80: module 'strict' not found.
  103. Lua error in package.lua at line 80: module 'strict' not found.
  104. Russian mobile operating system begins a new stage of development under the brand name 'Avrora'. Rostelekom, 7 Feb. 2019 (in Russ.).
  105. China's Huawei to start talks with Russia on using Avrora OS: RIA Reuters, 21 June 2019.
  106. 106.0 106.1 Lua error in package.lua at line 80: module 'strict' not found.
  107. Lua error in package.lua at line 80: module 'strict' not found.
  108. Lua error in package.lua at line 80: module 'strict' not found.
  109. Lua error in package.lua at line 80: module 'strict' not found.
  110. Lua error in package.lua at line 80: module 'strict' not found.
  111. Lua error in package.lua at line 80: module 'strict' not found.
  112. Lua error in package.lua at line 80: module 'strict' not found.
  113. Lua error in package.lua at line 80: module 'strict' not found.
  114. Lua error in package.lua at line 80: module 'strict' not found.
  115. Lua error in package.lua at line 80: module 'strict' not found.

External links