OpenHarmony
OpenHarmony is a family of open-source distributed operating systems sharing some principles from Huawei LiteOS lineage. Huawei donated the pure HarmonyOS L0-L2 single framework branch, non-AOSP source code, to the OpenAtom Foundation. Similar to HarmonyOS, the open-source distributed operating system is designed with a layered architecture, consisting of four layers from the bottom to the top: the kernel layer, system service layer, framework layer, and application layer. It is also an extensive collection of free software, which can be used as an operating system or in parts with other operating systems via Kernel Abstraction Layer subsystems.
OpenHarmony supports various devices running a mini system, such as printers, speakers, smartwatches, and other smart device with memory as small as 128 KB, or running a standard system with memory greater than 128 MB.
The system contains the basic and some advanced capabilities of HarmonyOS such as DSoftBus technology with distributed device virtualization platform, that is a departure from traditional virtualised guest OS for connected devices.
The operating system is oriented towards the Internet of things and embedded devices market with a diverse range of device support, including smartphones, tablets, smart TVs, smart watches, personal computers and other smart devices.
History
The first version of OpenHarmony was launched by the OpenAtom Foundation on September 10, 2020, after receiving a donation of the open-source code from Huawei with internal development of the open source project going back as far as 2015 with Project 543 as its codename within the company.In December 2020, the OpenAtom Foundation and Runhe Software officially launched OpenHarmony open source project with seven units including Huawei and Software Institute of the Chinese Academy of Sciences.
The OpenHarmony 2.0 was launched in June 2021, supporting a variety of smart terminal devices.
Based on its earlier version, OpenAtom Foundation launched OpenHarmony 3.0 on September 30, 2021, and brought substantial improvements over the past version to optimize the operating system, including supports for file security access and support for basic capabilities of relational databases and distributed data management.
A release of OpenHarmony supporting devices with up to 4 GB RAM was made available in April 2021.
OpenAtom Foundation added a UniProton kernel, a hardware-based Microkernel real-time operating system, into its repo as part of the Kernel subsystem of the OpenHarmony operating system as an add-on on August 10, 2022.
On September 15, 2025, OpenAtom Foundation stated on the developer notice board that they have officially migrated the OpenHarmony open source code to Gitcode from original official Gitee platform repo on the maintenance of the platform for better efficiency, DevOps development tooling and speed of the development.
Development
The primary IDE is known as DevEco Studio, which is used to build OpenHarmony applications with OpenHarmony SDK full development kit. The kit includes a comprehensive set of development tools, including a debugger, tester system via DevEco Testing, a repository with software libraries for software development, an embedded device emulator, previewer, documentation, sample code, and tutorials.Applications for OpenHarmony are mostly built using components of ArkUI, a Declarative User Interface framework. ArkUI elements are adaptable to various custom open-source hardware and industry hardware devices and include new interface rules with automatic updates along with HarmonyOS updates.
Hardware development is developed using DevEco Studio via DevEco Device tool for building on OpenHarmony, also creating distros with operating system development with toolchains provided, including verification certification processes for the platform, as well as customising the operating system as an open source variant compared to original closed distro variant HarmonyOS that primarily focus on HarmonyOS Connect partners with Huawei.
OpenHarmony Application Binary Interface ensures compatibility across various OpenHarmony powered devices with diverse set of chipset instruction set platforms.
HDC is a command-line tool tailored for developers working with OpenHarmony devices. The BM command tool component of HDC tool is used to facilitate debugging by developers. After entering in the HDC shell command, the BM tool can be utilised.
Like HarmonyOS, OpenHarmony uses App Pack files suffixed with.app, also known as APP files on AppGallery and third party distribution application stores on OpenHarmony-based and non-OpenHarmony operating systems such as Linux-based Unity Operating System which is beneficial for interoperability and compatibility. Each App Pack has one or more HarmonyOS Ability Packages containing code for their abilities, resources, libraries, and a JSON file with configuration information.
While incorporating the OpenHarmony layer for running the APP files developed based on HarmonyOS APIs, the operating system utilizes the main Linux kernel for bigger memory devices, as well as the RTOS-based LiteOS kernel for smaller memory-constrained devices, as well as add-ons, custom kernels in distros in the Kernel Abstract Layer subsystem that is not kernel dependent nor instruction set dependent. For webview applications, it incorporates ArkWeb software engine as of API 11 release at system level for security enhancing Chromium Embedded Framework nweb software engine that facilitated Blink-based Chromium in API 5.
Unlike with open-source Android operating system with countless third-party dependency packages repeatedly built into the apps at a disadvantage when it comes to fragmentation. The OpenHarmony central repositories with the Special Interest Group at OpenAtom governance provides commonly used third-party public repositories for developers in the open-source environment which brings greater interoperability and compatibility with OpenHarmony-based operating systems. Apps can leverage many built-in third-party dependencies, such as Chromium, Unity and Unreal Engine. This greatly reduces the system ROM requirements.
Harmony Distributed File System is a distributed file system designed for large-scale data storage and processing that is also used in openEuler as essential core part of the distributed operating system characteristics. It is inspired by the Hadoop Distributed File System. The file system suitable for scenarios where large-scale data storage and processing are essential, such as IoT applications, edge computing, and cloud services coexisting with traditional local file system with local storage support. On Orange Pi OS, the native file system shows LOCAL and shared_disk via OpenHarmony's Distributed File System
File path/root folder for the file system uses both and traditional similar in Unix/Linux/Unix-like unlike on Windows with its DLL system.
Access token manager is an essential component in OpenHarmony-based distributed operating systems, responsible for unified app permission management based on access tokens. Access tokens serve as identifiers for apps, containing information such as app ID, user ID, app privilege level, and app permissions. By default, apps can access limited system resources. ATM ensures controlled access to sensitive functionalities which combines both RBAC and CBAC models as a hybrid ACL model.
OpenHarmony kernel abstract layer employs the third-party musl libc library and native APIs, providing support for the Portable Operating System Interface for Linux syscalls within the Linux kernel side and LiteOS kernel that is the inherent part of the original LiteOS design in POSIX API compatibility within multi-kernel Kernel Abstract Layer architecture. Developers and vendors can create components and applications that work on the kernel based on POSIX standards in the POSIX-like environment.
OpenHarmony NDK is a toolset that enables developers to incorporate C and C++ code into their applications. Specifically, in the case of OpenHarmony, the NDK serves as a bridge between the native world and the OpenHarmony ecosystem.
This NAPI method is a vital importance of open source community of individual developers, companies and non-profit organisations of stakeholders in manufacturers creating third party libraries for interoperability and compatibility on the operating system native open source and commercial applications development from third-party developers between southbound and northbound interface development of richer APIs, e.g. third party Node.js, Simple DirectMedia Layer, Qt framework, LLVM compiler, FFmpeg etc.
Timeline
- September 10, 2020 – Initial release of OpenHarmony with support for devices with 128 KB – 128 MB RAM
- 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.
Hardware
- Mini system – running on such devices as connection modules, sensors, and wearables, with memory equal to or larger than 128 KB and equipped with processors including ARM Cortex-M and 32-bit RISC-V.
- Small system – running on such devices as IP cameras, routers, event data recorders, with memory equal to or larger than 1 MB and equipped with processors including ARM Cortex-A.
- Standard system – running on devices with enhanced interaction, discrete GPU, rich animations and diverse components, with memory equal to or larger than 128 MB and equipped with processors including ARM Cortex-A.
Compatibility certification
The following two types of certifications were published for the partners supporting the compatibility work, with the right to use the OpenHarmony Compatibility Logo on their certified products, packaging, and marketing materials.
- Development boards, modules, and software distributions
- Equipment