This proposal has been approved and the Eclipse Oniro for OpenHarmony project has been created.
Visit the project page for the latest information and development.

Eclipse Oniro OH

Thursday, December 22, 2022 - 05:20 by Stefan Schmidt
This proposal is in the Project Proposal Phase (as defined in the Eclipse Development Process) and is written to declare its intent and scope. We solicit additional participation and input from the community. Please login and add your feedback in the comments section.
Parent Project
Proposal State
Created
Background

The Eclipse Oniro Core project hosts an open-source production ready platform that can run on a variety of IoT devices - from microcontrollers powered by an RTOS (such as Zephyr) to powerful multi-core CPUs running a general purpose kernel such as Linux.

The Oniro core platform is a stable horizontal base. For a full vertical solution or product more work need to be done on integration, testing and verification by the device maker. The Eclipse Oniro OpenHarmony aims to bridge this gap by providing the OpenHarmony software stack with conformance tests on top of the Oniro core platform for a better product creation experience.

Scope

Eclipse Oniro OH integrates Oniro reference hardware with OH software components on top of the Oniro core platform, to demonstrate a full vertical solution.

These blueprints can be used by any device maker as the basis to start customizing their own device software on top of Oniro and OH. This approach can significantly shorten the path to market as the vendor can skip the initial stages of implementing the custom OS architecture. It could also give access to an existing ecosystem of applications and services.

Eclipse Oniro OH will have a life cycle independent of Oniro Core to allow the roadmap to reflect the needs of the industry, the partners and the community. Adding functionalities from this add-on makes Oniro a OpenHarmony Compatible reference distribution.

Description

Creating a vertical Oniro OH solution has advantages for the Oniro Project. Some of them are outlined below.

  • Provides a way to demonstrate Oniro features and technology using functional IoT device examples.
  • Simplifies discussion with potential partners when one is able to show a real-world IoT device (albeit not fully-featured) built on top of Oniro by reducing the barrier to entry.
  • Allows more thorough integration testing of Oniro components based on real user stories.
  • Access to existing ecosystem for applications and services.

For Oniro, we want to provide blueprints of some IoT devices that can be built using Oniro. Eclipse Oniro OH is the first vertical solution add-on to provide this.

Why Here?

Oniro OH is a vehicle to market the uses of the Eclipse Oniro Core Platform. And while it will have its own life cycles, it is an add-on. Having it hosted in the same place as the Oniro Core Platform makes sense.

Future Work

Eclipse Oniro OH will work on the following key features over the next year to address

market gaps and partner requirements:

  • OpenHarmony Application Conformance Test Suite (ACTS) compliance
  • Support of Raspbery Pi4 and Qemu as hardware targets
  • First meta-openharmony release based on the Oniro 2.0.x release line
Project Scheduling

The initial contribution for the Eclipse Oniro OH project is now ready to be transferred to the Eclipse Foundation. We'd like to provision the project on Eclipse Foundation infrastructure as soon as possible to develop the first Eclipse Foundation Oniro OH release and continue future maintenance releases from the Eclipse infrastructure.

Mentors
Interested Parties

The following individuals, organisations, companies and projects have expressed interest in this project:

    Array

    NOI Techpark

    Huawei

Initial Contribution

Eclipse Oniro OH is designed to work with Oniro Core that uses the Yocto Project as its base and intends to keep compatibility with OpenHarmony. Following that choice, Eclipse Oniro OH includes various layers and recipes from the Yocto Project upstream to include various third-party software components into the project. Where needed, Eclipse Oniro OH may override the configuration of how a software component is built by overriding the default recipe inherited from the Yocto Project. In some cases, additional patches are applied to the component on a case-by-case basis. However, Oniro OH only uses a small fraction of the software components packaged inside the Yocto Project.

As described above, all the recipes and their overrides are licensed under the MIT License. Patches to software components are licensed under the original license of the software component. Newly written components will be under the Apache License,

Version 2.0 license.

Source Repository Type:

GitLab

Source Repositories:

https://gitlab.eclipse.org/eclipse/oniro-core/meta-openharmony/

Source Repository Type