When the Oniro Project was launched in 2020, it started with a very simple goal: bring together the fragmented landscape of operating systems serving mobile and Internet of Things (IoT) devices. After all, across verticals there’s a massive variety of device sizes serving hugely different use cases, from ultra-tiny devices meant to meet real-time responsiveness needs to extremely large, graphics-heavy devices. To ensure all devices function optimally for their particular environment, the industry developed a huge number of specifications and protocols.
The hope was to build on the strong foundations already established and bring them together into one de-facto standard, which is where the OpenAtom Foundation came in. Its OpenHarmony project filled the bill perfectly as a basis for cross-industry standards. In 2021, the Eclipse Foundation and the OpenAtom Foundation partnered in an effort to make OpenHarmony compatible with the global market, ensuring diverse global product requirements and standards are met through the Oniro Project.
This was the largest and most ambitious partnership of its kind in the open source world, and the first to collaborate so closely on the technical aspects of a project. And at last year’s EclipseCon in October, the foundations announced that a collaboration agreement had been signed. It took a lot of work to get there, and now that the agreement has been signed, there’s plenty more to come.
Groundwork Laid Solving IP Compliance and Collaboration Procedure
Getting to the point where we could sign a collaboration agreement took a lot of work. This was an ambitious arrangement, particularly when you consider how large the OpenHarmony project itself is. It has around 5,000 committers, millions of lines of code, and over 50,000 forks. Obviously, this makes for a fantastic foundation for the Oniro Project to build on, but it also meant we had a lot of work to do.
Much of that was legal work, meant to establish the ground rules of collaboration and ensure IP compliance. We needed to be sure that we didn’t violate any IPs that could be cross-regional and figure out how to share code and licences in accordance with both of our existing processes.
We finally finished that work in 2023, which is what led to the signing of that collaboration agreement. That has, in turn, set the stage for two major projects to get underway:
- The specification process
- Globalising the codebase and its resources
Resolving the Specification Process
Our first priority is to resolve the specification process. The Eclipse Foundation, of course, has the Eclipse Foundation Specification Process (EFSP) governing the licences and artifacts that will be delivered to the community to contribute to the development. Similarly, the OpenAtom Foundation has its own specification process and IP compliance program.
So, one of the first efforts underway for the Oniro Project and Eclipse Foundation is to launch the Oniro Specification Committee to consolidate the creation of the Oniro specification following EFSP, using OpenHarmony as the main input. This will help set the stage for resolving the engineering challenge.
Globalising the Codebase and Resources
Obviously, OpenHarmony is enormous, representing over 650 repositories of code with more than a million lines of code between them. Trying to make sure we’re re-using the right components is an enormous task.
Right now, we have a complete mirror of the OpenHarmony code base. But because the repositories are so large, it’s an ongoing process to try to globalise them. And because OpenHarmony was developed in China, there is of course a lot of documentation written in Chinese. One of the things we’re working on is translating that documentation into other languages so that international developers can also access it.
Another aspect of this is working with the code itself. The OpenHarmony operating system supports some devices that aren’t available in Europe or outside of China, and doesn’t support others that are. So work is also ongoing to ensure that Oniro supports that full spectrum of devices.
Add-On Development Already Underway
But because a complete mirror of OpenHarmony is already available, the Oniro project team has already been able to develop a number of add-ons for Oniro. This has progressed quite quickly, and we were able to show off most of them at EclipseCon last year when we announced the signing of the collaboration agreement.
For example, take ReactNative. We have ReactNative libraries sitting on top of the OpenHarmony application framework, which enable cross platform application developers to quickly spin up apps. This is really interesting because although OpenHarmony was started to just focus on IoT devices, it has expanded to a lot more consumer devices. This add-on makes app development for these consumer devices much faster and easier.
We also integrated with the Eclipse Kanto project to showcase a personal assistant robot at EclipseCon, which could navigate by itself and had a graphical display for a face. ReactNative and Oniro offer a lot of potential for graphical user interfaces, and combining with Kanto let us get all the device parameters, as well as enabling us to monitor and control the robot remotely.
Community Development a Huge Goal for Oniro
We’re just scratching the surface of what’s to come from the Oniro project. Work is underway on an IDE, for example, and we have plans to further integrate both mobile technologies and IIoT technologies into Oniro.
A huge priority for the project is to start building up our developer ecosystem. To do that, we’ve started to collect feedback from the community at EclipseCon with a developer survey that will help us understand what kind of technologies are important to the developers.
We are trying to use the developer feedback to build a road map for Oniro. At the same time, we do have a lot of expertise within our working group itself. We have quite a few senior developers that can use their experience to try to make our OS as developer friendly as possible.
Another important aspect of what we’ve done in Oniro is to break down silos. Usually, in open source projects, we just focus on our own community. But we’ve been working with other projects like Kanto, trying to gather communities together, let them see what we are doing, and find new ways to collaborate.
One thing we want to engage the community in is building interesting use cases around OpenHarmony, which has a bunch of very cool reference projects. The Oniro community can make use of these.
We have an initial release of Oniro, and work on an updated release is ongoing in parallel with the work around the specification process, updating the documentation, working on the code, and developing add-ons.
If any of this sounds interesting to you, you can learn more about the project by visiting the Oniro website.