Huawei Announces OpenHarmony Project With A BSD-Licensed HarmonyOS Source Code Release
Chinese telecommunications giant Huawei has been working on a scalable operating system since at least 2013. Huawei has now released the source code for HarmonyOS under the 3 clause BSD license has part of their new OpenHarmony project. The new operating systems "liteos" kernel is currently limited to devices with just 128 MiB RAM. A closed-source Harmony OS 2.0 beta version with support for devices with up to 4 GiB memory will become available in December with OpenHarmony source-code coming in April 2021. OpenHarmony development boards are available for around $50 plus shipping.
Huawei announced the Harmony OS operating system last year after six years of development. Very little was known about this operating system until now and Huawei employees were extremely tight-lipped about it.
"... I cannot leak some words on this ... It is a secret..."
Huawei CEO Richard Yu announced the availability of Harmony OS 2.0 under the 3-clause BSD license at the Huawei Developer Conference keynote yesterday. The operating system source code, including the "kernel_liteos_m" kernel source code, is now available from openharmony.gitee.com.
Huawei is using a release model similar to the Android Open Source Project (ASOP). Closed-source versions, called "HarmonyOS", are released first and source-code releases, under the "OpenHarmony project" brand, are made available after four to six months. A "OpenAtom Foundation" has been set up to manage the OpenHarmony releases.
Harmony OS is written in clean and fairly beautiful C. It uses a microkernel similar to GNU Hurd in concept (Linux is a monolithic kernel). Communication between the microkernel and external kernel services such as drivers, file systems and the network stack is handled using fast IPC calls.
Huawei plans to use the Harmony operating system on their future smartphone, tablet and IoT products. This decision is partly taken due to unwarranted and unjust interference from the American government in their relationship with Google and the Android ecosystem. Huawei begun developing the Harmony operating system in 2013.
The current OpenHarmony kernel is limited to devices with less than 128 MiB RAM. A closed-source HarmonyOS beta version with support for smartphones and other devices with up to 4 GiB memory will be available in December with a "OpenHarmony" source code release coming in April 2021. Huawei has promised an additional OpenHarmony release with support for devices with more than 4 GiB memory in October 2021.
|September 10, 2020||Initial OpenHarmony release with support for devices with 128 KB - 128 MB RAM|
|December 2020||Smartphone-capable HarmonyOS 2.0 beta version, SDK, tools and simulator.|
|April 2021||OpenHarmony release with support for smartphones and other devices with 128 MB - 4 GB RAM|
|October 2021||OpenHarmony release with support for additional devices with 4+ GB RAM|
Developers who want to make applications for OpenHarmony can get started using the Hi3861 Development Board which is available in several variants such as the bare HarmonyOS HiSpark IPC DIY board and the WIFI-capable HarmonyOS HiSpark Wi-Fi IoT. The optional Wi-fi connectivity is limited to 2.4 GHz wireless N.
The basic HarmonyOS HiSpark IPC DIY board will cost you between $44 (¥299) and $54 (¥369) plus shipping.
HarmonyOS HiSpark IPC DIY development board.
"First Distributed OS Build for the All-scenario Era"
HarmonyOS is built to be cross-platform from the ground up. The initial HarmonyOS release is targeting IoT devices, smart watches and simpler devices with 128 kB to 128 MiB memory. The next version will be capable of running on smartphones and more advanced devices. It will eventually be able to run on regular consumer laptops and desktops too. Huawei promised fast and secure cross-device integration between different HarmonyOS devices during their keynote presentation.
Huawei has also releases source code for a lot of other technologies like their camera toolkit and their augmented reality map system. Source code for a total of 134 different repositories have been made available under the OpenHarmony banner. Several repositories are not directly related to Harmony OS. A few repositories contain previously unreleased Linux kernel drivers and modifications. Others contain custom forks of common libraries like libpng which are, apparently, a part of the "OpenHarmony 1.0 baseline".