The Oniro Working Group, a newcomer to the Eclipse Foundation, is building an open source community around Oniro, a vendor neutral, open source operating system (OS) for next-generation IoT devices. The Eclipse Oniro top-level project has been created to support the ongoing evolution of the software, and the Oniro team is in the process of contributing the code to the Eclipse Foundation.
To help explain the need for the Oniro OS and the benefits of adopting it, we asked Amit Kucheria, Project Management Committee lead for the Eclipse Oniro Top-Level Project, to walk us through the history and goals of the project.
Q: What was the impetus for developing the Oniro OS?
A: The IoT industry can be roughly divided into two categories of devices: limited-function devices and extensible devices. Limited-function devices do only one or two things and tend to have limited computing capacity. Extensible devices tend to have a lot more computing capacity and their functionality can be extended by adding software applications. The problem is these two ecosystems are completely disjointed – the former running some minimal real-time operating system such as Zephyr on a micro-controller, the latter running a full-fledged OS such as Linux on a CPU. Oniro is trying to bring these two ecosystems together.
Q: How does Oniro bridge the gap for developers working in different ecosystems and device categories?
A: Oniro gives developers a common user experience across device types so they don't have to learn new technologies and approaches when they're working on different types of devices. There are hundreds or thousands of small, IoT-based companies that don't necessarily have the expertise to do this, so the ability to reuse existing knowledge is very important.
To reduce this gap, Oniro was conceived of as a highly modular operating system that is translated into what you see as a multi-kernel architecture that features a Linux kernel, which enables Oniro to run on Raspberry Pi devices with a feature-rich set of capabilities and a Zephyr kernel so it can run on much more resource-constrained devices, such as coffee makers or thermostats.
By providing Oniro as free, open source software at the Eclipse Foundation, we can set the bar for a good quality IoT software stack that can go into every device. Anybody should be able to incorporate and ship the features Oniro provides without requiring a large in-house development team.
Additionally, because we’re taking a specifications-based approach, we can ensure the OS is compatible with other systems and rules in other jurisdictions, while still allowing projects to cater to specific markets.
Q: Are there other reasons to adopt Oniro?
A: The number one reason is to reduce engineering expenses. Working with IoT devices requires a lot of expertise in security, handling over-the-air updates, managing IP compliance, and so on. Writing your application is a tiny portion of the entire device life cycle. If you have to maintain that device for four to five years, Oniro allows you to focus on the application you want to provide on your device and leave the rest to Oniro.
Also, with Oniro, there are experts working on security and the other areas I mentioned, and they will make sure the software follows the best standards. Of course, all of these aspects will be configurable to your environment, and it's all open source, so there is no vendor lock-in.
Last, but not least, is thinking about how to make end users’ lives easier with high-end, rich user experiences that impact people’s lives daily by using AI to gain greater insight into consumers’ routines.
Q: Why is the specifications-based approach so important?
A: There are a few reasons. One is that a one-size-fits-all approach wouldn’t work for Oniro. This isn’t just related to software, but also to governance models and intellectual property law in various jurisdictions. We needed to give companies the flexibility to cater to specific customers and specific geographies. Having common specifications for the system allows for cross-OS application compatibility. That's always been one of the key design goals.
The specifications-based approach also allows us to establish an Oniro compatibility branding program. The program includes a checklist of requirements a device or product must pass to be certified by Oniro. The certification test suite — CTS — enforces the requirements and makes it easy to quickly check that software conforms to the specifications. Organizations can then leverage the certification and the Oniro brand for their own benefit.
Also, with a consistent set of APIs, we can support a much richer range of devices. Today, if you buy a smart lightbulb, it only works in its own ecosystem, and a remote control from a different manufacturer won’t work with it. With certification, it will. As said before, this makes life easier for end users.
Q: Oniro is an independent implementation of OpenHarmony, which is hosted at the OpenAtom Foundation. Is compatibility with OpenHarmony one of the goals?
A: Yes. OpenHarmony is based on HarmonyOS, a multi-kernel OS that was developed by Huawei and contributed to the OpenAtom Foundation last year.
Ensuring that an application developed with Oniro will be compatible with one developed using OpenHarmony has been a key design goal from day one. With the specifications and the CTS, devices can be certified for both the Oniro and OpenHarmony ecosystems.
This will enable the Oniro community to create a truly global marketplace and ecosystem, drive adoption worldwide, and ensure applications or services developed with Oniro can be used anywhere in the world.
Q: How and when can people get involved in Oniro?
A: Any and all organizations that want to join the working group are more than welcome. Current members include Huawei, Linaro, SECO, Array, NOITechPark, and Synesthesia. With multiple levels of membership to choose from, organizations can get involved as much or as little as they’d like, from submitting code to steering and sustaining the development of the Oniro technology ecosystem.
Several projects will be part of the working group. For example, we anticipate the over-the-air work will become its own project eventually. The distributed agents, smart agents, and IP compliance tooling will also probably become their own projects at some point.
When these technologies become independent projects under the Oniro Working Group umbrella, it also means that other projects in the Eclipse Foundation community, as well as the wider open source community, will be able to use them without having to use the rest of Oniro.
I would love to see all the enthusiasts and developers out there download the Oniro code and run it on an inexpensive Raspberry Pi or Arduino board. It's not a very high barrier to entry to start playing with Oniro.
There are also resources available right now, including:
- The code, downloadable here
- The project documentation, available here
- Libera Chat, if you want to discuss or ask questions, in the #oniroproject channel
- Join the Oniro-Dev mailing list
Help us test this thing out. Kick the tires, come back with feedback, with ideas, with patches. Everything is welcome.