Eclipse Oniro Core Platform is an open-source project aimed at reducing fragmentation in the consumer and IoT device industry which is interoperable with OpenAtom Foundation's OpenHarmony project. The project aims at fulfilling the vision of "any app running anywhere", where "any app" is achieved via building Oniro as an OpenHarmony compatibile implementation, ensuring interoperability, and "anywhere" is achieved by leveraging the Linux Foundation's Yocto Project tools, technology, and rich ecosystem of support CPUs and middleware.
Eclipse Oniro Core Platform is designed to be a distributed operating system that powers devices regardless of their make, model or size (mobile devices, fitness and health targets, entertainment systems, and so on) and allows them to interoperate and share resources with each other.
Interoperability at the edge is the first goal of the Oniro project, the second goal being that of enabling any application to run on any device.
The value of Eclipse Oniro Core Platform to a developer lies in a consistent, thoroughly tested, set of defaults for the software stack, configuration, security policies, and providing software services essential to create a modern IoT device. OEMs and ODMs can then use the output of this shared engineering while reducing costs and time to maintain all this software stack on top of which their application runs. For the user, Oniro-based devices offer value by seamlessly communicating with each other without needing vendor-specific gateways or bridges and have the ability to create richer user experiences out of a combination of Oniro-based devices.
Eclipse Oniro Core Platform will strive to be a coherent, open-source product platform with consistent defaults that follow industry best practices to allow developers to focus on their applications. Developers will get out-of-box functionalities providing for essential features required for a modern IoT product as part of the operating system. The operating system will receive security updates and there will be OTA mechanisms to deploy these updates to the devices. Furthermore, devices built with Eclipse Oniro will have the ability to seamlessly communicate with each other autonomously to allow for a seamless and richer experience without needing to send data to a cloud-based service provider.
This is done by leveraging the Yocto build system, which is designed exactly for this purpose: providing a standard framework and a standard format for "books of recipes" that can be used by device makers to "cook" custom embedded operating system distributions. In particular, its bitbake-based build system, officially supported BSP layers and thousands of pre-packaged software components to provide the scaffolding needed to provide a consistent interface to developers. The layers and recipes in a Yocto-based project provide the flexibility for Eclipse Oniro to use multiple kernels and enforce consistent policies for package versioning and security while also allowing OEMs and ODMs to tweak the OS settings for their own products if they choose to.
While the Yocto Project and its bitbake build engine allow Eclipse Oniro to glue different ecosystem components and technologies together -- application portability across different geographies, devices, brands, etc. is also achieved by working together with the OpenHarmony Working Group inside the OpenAtom Foundation in order to design, develop and implement an OpenHarmony Compatible Specification. In short, the Any App, Anywhere vision is obtained by combining together the embedded operating system ecosystem and its tools from Yocto Project with the application and content creation ecosystem from OpenHarmony.
In the beginning, Linux will be the OS kernel of choice for devices running on CPUs with more than 128MB of RAM and storage. On devices at the resource-constrained end of the spectrum, Zephyr has the ability to run in as little as a few hundred KB of RAM and storage. Both ecosystems have diverse and active communities and an open governance model. The platform's layered architecture allows the addition of additional kernel options as required by the community, e.g. LiteOS, FreeRTOS.