Unveiling openKylin 2.0 - Introduction to the Kaiming Software Package Format
To address issues in traditional package formats—such as the lack of a clear boundary between the system and applications, fragmentation of distributions, and poor compatibility—the openKylin community has introduced the Kaiming software package format. This format aims to provide a high-compatibility, highly secure solution for newly released software.
On October 5, 1991, Linux was born as an open-source operating system, and while the "open" part refers to its source code, the final product that runs on users' machines is compiled into binary files. A software package format is a specific format used in Linux to manage these binary executable files, development libraries, and configuration files. Common package formats include DEB, RPM, Flatpak, Snap, and AppImage.
Linux has various software package formats, each suited to different scenarios with their own strengths and weaknesses. However, in the desktop environment, the growth of applications has exposed several issues with these traditional package formats:
● Compatibility Issues: The dependency relationships between the system and various software are complex. Application software is often treated as part of the system and relies heavily on the system's provided libraries. With each update or iteration of the operating system, all applications need to be rebuilt or made compatible in order to run smoothly.
● Lack of Clear Boundaries Between System and Applications: There is no clear separation between application software and the operating system. Unregulated applications can negatively affect the stability and reliability of the system.
● Security Concerns: Malicious code embedded in applications could access users' private data, leading to security vulnerabilities.
The Kaiming software package format was developed by the openKylin community's Kaiming SIG to solve the issues found in traditional package formats. The goal is to provide a high-compatibility and high-security solution for new software releases. The format supports the import and management of a wide range of existing Linux applications, helps mitigate version fragmentation, and simplifies installation and upgrades.
"Kaiming" comes from the ancient Chinese mythological creature Kaiming Beast, which is said to guard the Kunlun Mountains. According to The Classic of Mountains and Seas: Classic of Regions Within the Seas - West, it's described as: "South of Kunlun, the abyss is 300 fathoms deep. The Kaiming Beast, with a body resembling a tiger and nine human-like heads, stands atop Kunlun facing east." The Kaiming package format aspires to be the guardian of application software, safeguarding each application's security, isolating the system from the application and apps from each other, and supporting the integration and compatibility of various common application formats.
Compared to traditional software package formats, Kaiming offers the following benefits:
● Decouples Application and System Dependencies: It separates applications from the system, allowing them to run independently of the host system's environment.
● Isolation of Malicious Code: It provides isolation to prevent malicious code from accessing users' private data.
● Supports Permission Control: Users can configure resource permissions for Kaiming applications independently, enhancing both flexibility and security.
In summary, for users, the Kaiming package offers better compatibility, enabling software to run seamlessly across various systems, even after OS upgrades. It also protects users' privacy and data. For developers, the Kaiming package format supports "package once, deploy anywhere," breaking the traditional tie between software packages and specific platforms. This reduces the need for repeated packaging, saving time and development costs.