![]() | This web page has been Archived. Its content will not be updated. Use this link to obtain further details of our archive policy . |
Linux Standard Base (LSB) is a project which aims to standardise Linux platforms and Linux applications. It enables applications, data and personnel to move easily between different Linux distributions by fostering and documenting their commonalities. It develops and releases test suites which enable automated checking for compliance with the LSB standards. This compliance is certified by a related organisation, the Free Standards Group.
The end result is that software vendors can release software that runs on a wide range of Linux distributions, including RedHat, SuSE, Debian and Mandrake. They can have confidence that their software will run without having to test it on each platform, greatly reducing the software vendor's effort. End-users also benefit as this process makes a wide range of software available to any certified distribution.
LSB standards relate largely to compiled applications. LSB compliant applications do not need to be compiled or debugged by the installer. Thus the installation process becomes as simple as unzipping a compressed file into an empty directory.
The LSB is mainly an organising standard, much of the actual standardisation effort is led by international standards bodies. These include:
The most crucial standards are, however, the Application Binary Interface (ABI) standards, which specify in great detail how programs interact with each other. The ABIs allow software to be distributed as compiled binaries rather than source code.
The LSB periodically takes a snapshot of each of these standards and bundles them up by giving them a single LSB version number and building test suites around them. Since following these base standards is generally best-practice, most high-quality software already uses them.
Despite these tensions, the LSB enjoys strong support, particularly from commercially oriented distributions and companies. Its supporters see the LSB as a way to reduce the effort needed to port proprietary applications to Linux and as a tool for ensuring that applications run on a wide range of Linux systems. Support for the LSB is less strong among open source advocates as it enables the proliferation of closed source software as compiled binaries, rather than encouraging software vendors to release the source code.
However, even these open source advocates acknowledge that formally specifying program behaviour and responsibility brings many advantages. It not only encourages interoperability between applications but also enables many bugs to be clearly assigned to a single application and greatly enhances the capabilities of autonomous testing. Such autonomous testing is widely used in large distributions to ensure changes in one package do not negatively impact any of the thousands of other projects. The more tightly the interfaces between the applications are specified, the greater the range of tests that can be performed and a larger proportion of bugs automatically detected.