The Rapid Development of Operating Systems: How openEuler Takes the Lead

The Rapid Development of Operating Systems: How openEuler Takes the Lead

On December 31, 2019, openEuler officially opened its source code, images, and development testing environment. Today, in just a year and a half, openEuler has released three versions, has over 4700 community developers, and the community version has been downloaded more than 60,000 times. The community has rapidly grown and stabilized its releases on schedule. InfoQ exclusively interviewed Xiong Wei, a member of the openEuler Technical Committee, to discuss the stories and insights behind the growth of openEuler.

1With the adoption of Linux kernel 5.10, openEuler 21.03 has taken the lead

When talking about the community, people are always concerned about its product development. Since its open-source inception, three versions have been released: 20.03 LTS, 20.09, and 21.03. Among them, 20.03 LTS is a long-maintenance version widely used by many OSVs and partners, while 20.09 and 21.03 are two innovative versions.

The Rapid Development of Operating Systems: How openEuler Takes the LeadImage source: openEuler official website

openEuler 21.03 is the latest released version, and compared to the previous two versions, Xiong Wei stated that version 21.03 includes many technological innovations, such as adopting the new Linux 5.10 kernel, developing a kernel hot-upgrade framework, and providing memory tiering expansion capabilities.

Firstly, the most significant change in version 21.03 is the major change in the kernel, which adopts the Linux 5.10 kernel. The 5.10 kernel has better support for new architectures like RISCV, allowing x86, ARM64, and RISCV architectures to be fully supported under one version. Moreover, the second LTS version to be released next year, 22.03, will also adopt the 5.10 kernel, which requires high quality standards. Therefore, kernel selection must be made in advance, and stability and reliability must be verified over a long period. Hence, openEuler 21.03 also bears the important responsibility of “paving the way” for 22.03.

Secondly, version 21.03 implements a new feature that the industry has long anticipated—kernel hot-upgrade. In critical fields and businesses, some core applications require non-stop service, while the operating system may have security vulnerabilities that need frequent updates. How to switch kernels without downtime has become a sought-after technology. Kernel hot-upgrade is a solution for OS vulnerability repair and upgrade, enabling rapid hot upgrades of the kernel without user awareness. The openEuler community has developed the prototype system for kernel hot-upgrade, allowing applications like MySQL and Nginx to achieve kernel hot-upgrade without user awareness. However, currently, kernel hot-upgrade remains a prototype system, and we hope that the community can work together to improve it and achieve commercial deliverability as soon as possible.

Furthermore, openEuler 21.03 has realized a new software framework—the memory tiering expansion system etmem, which can be used to manage various levels of storage media uniformly, achieving smooth expansion of system storage capacity. This function can precisely identify the hot and cold distribution of process memory pages through the kernel-level memory page busy-idle statistical mechanism, supporting various media such as SCM, XL Flash, NVMe SSD as expanded memory, and then specifying the memory hot and cold tiering scheme according to the access speed of the media to achieve memory expansion while reducing performance loss. It is reported that using this function in MySQL can achieve a performance improvement of 40%-50%.

Lastly, partners of the openEuler community have contributed many new features to version 21.03, such as OpenStack Victoria integration and HA high-availability cluster solutions. The OpenStack support was developed by China Unicom and other partner companies, and with this feature, openEuler can provide complete IaaS layer support; the HA high-availability cluster solution was contributed by Kylin Software, supporting fault-level switching to guarantee business continuity, data protection, and disaster recovery in a high-availability environment.

In addition, other partners participating in the openEuler community have also contributed to version 21.03, which cannot be listed one by one here. Specific features can be referred to in the technical white paper for 21.03 or directly discussed with the relevant SIG groups.

2Connecting upstream communities and downstream manufacturers, openEuler flourishes everywhere

Recently, everyone may have noticed a piece of news that the maintenance cycle of the Linux kernel 5.10 version will be extended from 2 years to 6 years, and the next LTS version of openEuler is just adopting the Linux kernel 5.10. In this regard, Xiong Wei stated:

The maintenance cycle of the Linux kernel is very important for the lifecycle of operating system versions. If the kernel maintenance cycle is shorter than the maintenance cycle of the operating system version, it means that the community needs to invest more effort in maintenance. Conversely, it can rely on the community and global partners for maintenance, making it a common choice for global manufacturers and reducing maintenance costs for all manufacturers. Therefore, after deciding that version 22.03 will adopt the Linux kernel 5.10, openEuler has actively communicated with upstream communities and ultimately gained community recognition.

Supporting multiple processing architectures is one of the important features of openEuler, reflecting openEuler’s support for diverse computing power. For specific chip support, the community has two adaptation methods. One is that chip manufacturers send their chip characteristics, driver codes, etc., to the community, which will be reviewed and merged into the openEuler version to support that chip. The other is that chip manufacturers adapt openEuler themselves and finally provide feedback to the community, which will then publish the relevant adaptation results. Regardless of the method, openEuler welcomes both.

As an open-source operating system, any partner can freely obtain the openEuler community version and commercialize it. It is understood that currently, there are 8 enterprises that have released commercial distribution operating systems based on openEuler, including Kylin, Puhua, Deepin, and other leading domestic OS companies.

In addition to its development in China, in 2020, Xiong Wei explicitly stated in an interview that openEuler has international development plans. Now, in 2021, has there been progress in the international development of openEuler?

According to Xiong Wei, openEuler has already established landing cases overseas. A Russian company has built a local commercial version based on openEuler. In addition, openEuler has deployed images globally to facilitate users worldwide for download. In our backend statistics, we have indeed found considerable download volumes from various continents. Additionally, the Raspberry Pi OS image based on openEuler has also entered the official Raspberry Pi repo. In the future, we will further promote the internationalization of openEuler and actively integrate into the global software ecosystem.

3Technology is essential, but so is the community: Open governance brings rapid development

Domestic operating systems inevitably face “skin-changing” criticisms, and domestic open-source projects often encounter “KPI project” criticisms… openEuler has naturally experienced such scrutiny, but after three releases, the focus has shifted from mere questioning to what the openEuler community has accomplished.

In Xiong Wei’s view, the initial doubts about openEuler and the community are understandable. For a long time, “skin-changing” development has been the choice of many manufacturers, but this model cannot establish an independent evolution system or form a complete ecosystem. In contrast, openEuler has chosen the “correct but difficult” path, which is to build an independent system from the ground up—creating a “native open-source operating system”. Regarding community development, Xiong Wei also stated that under the model of open governance, the three key factors constituting the community—organization, people, and technology—have undergone significant changes over the past year.

In terms of organization, the openEuler community has adhered to a flat governance principle over the past year, establishing a basic organizational structure that includes a council, technical committee, security committee, market committee, etc., creating a complete community governance mechanism, and gradually forming supporting operational processes during operation, which is a milestone in the history of open-source development in China.

In the operational process, for example, the community technical committee adheres to the principle of open governance, with 50% of its members being representatives from companies outside Huawei.

At the community engineering organization level, as of June 6, the number of SIG groups in openEuler has reached 84. These SIG groups include both general technology groups for public technology and solution groups targeting specific business scenarios. Moreover, the latest SIG group applications are combined with business scenarios, indicating that openEuler has begun to evolve from merely filling functional gaps to developing in-depth business solutions, which is a positive change.

In terms of personnel, the operating system field has long faced a situation where, despite the field being “hot” and much discussion, there are actually very few practitioners. The year and a half of development in the openEuler community has fostered a batch of excellent engineers, outstanding operational talents, and open-source infrastructure talents. Everyone has gradually become familiar with the community’s practices and accustomed to community-based development methods, ensuring the long-term healthy development of the openEuler community and reserving a talent pool for the entire industry. Xiong Wei believes that among these individuals, future leaders in the open-source industry and operating system field will emerge.

Technologically, the released LTS version has been widely used across various industries, and the scale of commercial deployment continues to expand. Furthermore, the OS’s quality has proven itself through rigorous commercial environment testing. Additionally, the goal of the openEuler community is not merely to create an OS distribution version but to become an incubator for innovation. Currently, the community has already incubated many independently developed, zero-based new projects, such as iSula, stratoVirt, secGear, etmem, etc. This momentum is promising, and we expect that in the near future, the community will incubate world-class high-level software.

Since its open-source inception, after over 500 days of community building, the openEuler community has formed a relatively complete management process.

For example, the technical committee of the openEuler community holds a technical committee meeting every two weeks. Topics such as SIG group establishment applications, SIG group operational reviews, technical decisions, and new technology sharing can all be proposed for discussion or decision at the meeting. The decision-making strategy is straightforward, based on a simple majority principle. If a new SIG group is established, the technical committee will appoint a member as a mentor to join the SIG group and help everyone integrate into the community quickly.

In many people’s impressions, all technologies in openEuler are decided by the technical committee. However, Xiong Wei stated that this is actually a misunderstanding.

The technical committee is not the “technical god” as imagined, guiding the technical direction from a god’s perspective. The technical committee’s task is more about formulating technical strategies, principles, regulating development processes, supervising development activities, reviewing SIG group operations, and coordinating technical conflicts, while the specific technical selection power is fully delegated to the SIG groups. For example, the decision to adopt the Linux kernel 5.10 for version 22.03 LTS was made by the kernel SIG group through its discussions and was approved by the technical committee. The openEuler community firmly believes that professional matters must be entrusted to professional teams; only by fully trusting the professionalism of the team can the correct development direction of the product be ensured and bring about more innovations.

Open governance has led to rapid development. After exploring the previous paths, the openEuler community has already embarked on the fast track.

The entire organizational structure of the openEuler open-source community has initially taken shape, and the community will adhere to the principle of flat governance, delegating technical power to be led by technical experts and core members. In terms of talent cultivation, more community developers should become familiar with the community’s operational model. Currently, the openEuler community has incubated many excellent new projects, and we believe that in due time, these new “saplings” will grow into “towering trees.” In today’s digital transformation across thousands of industries, the underlying operating system has also ushered in a spring of rapid development, and among them, the open-source operating system openEuler has already taken the lead.

Finally, we wish openEuler even greater achievements in the future, and we look forward to the next interview with Xiong Wei, hoping he will bring us more fresh developments.

The Rapid Development of Operating Systems: How openEuler Takes the Lead

Click to view less bugs 👇

Leave a Comment