< Back to index

The Linux Standard Base, or LSB, is a joint project by several Linux distributions under the organizational structure of the Free Standards Group to standardize the internal structure of Linux-based operating systems. The LSB is based on the POSIX specification, the Single UNIX Specification, and several other open standards, but extends them in certain areas.

According to themselves:

The goal of the LSB is to develop and promote a set of standards that will increase compatibility among Linux distributions and enable software applications to run on any compliant system. In addition, the LSB will help coordinate efforts to recruit software vendors to port and write products for Linux.

The LSB compliance may be certified for a product by a certification procedure. The certification is carried out by The Open Group in cooperation with the Free Standards Group.

The LSB specifies for example: standard libraries, a number of commands and utilities that extend the POSIX standard, the layout of the file system hierarchy, run levels, and several extensions to the X Window System.

Criticism



The LSB has been criticized for not taking input from projects, most notably the Debian project, outside the sphere of its member companies.
For example, the LSB specifies that software packages should be delivered in Red Hat's RPM format, which was invented much later than Debian's deb package format, though the Debian developers are not likely to change their format, which they (and others) perceive as superior.
The standard does not dictate what package format the operating system must use for its own packages, but merely what package format must be supported to allow packages from third-party distributors to be installed on a conforming system.
Since Debian already includes optional support for the LSB (at version 1.1 in "woody" and 2.0 in "sarge"), this issue evaporates under closer scrutiny (i.e. the end-user just needs to use Debian's "alien" program to transform and install the foreign RPM packages in the native package format). So, by all practical means, Debian is LSB-compatible, but according to the description of the lsb-package, [the presence of the lsb-package] "does not imply that we believe that Debian fully complies with the Linux Standard Base, and should not be construed as a statement that Debian is LSB-compliant." This theoretical possibility of Debian's non-compliance to LSB might be considered a valid criticism, however slight.

Ulrich Drepper has criticized the LSB for poorly written tests, which can cause incompatibility between LSB-certified distributions when some implement incorrect behavior to make buggy tests work, while others apply for and receive waivers from complying with the tests. He also denounced a lack of application testing, pointing out that testing only distributions can never solve the problem of applications relying on implementation-defined behavior.

In other areas the LSB work is less controversial and has been well-received.

Version History



* 1.0: Initial release June 2001.
* 1.1: Released January 2002. Added hardware specific specifications (IA32).
* 1.2: Released June 2002. Added hardware specific specifications (PowerPC 32-bit). Certification began July 2002.
* 1.2.1: Released October 2002. Added Itanium.
* 1.3: Released December 2002. Added hardware specific specifications (Itanium, Enterprise System Architecture/390, z/Architecture).

* 2.0: Released September 2004. LSB is modularized to LSB-Core, LSB-CXX, LSB-Graphics, LSB-I18n (not released). New hardware specific specifications (PowerPC 64-bit, AMD64). LSB is synchronized to Single UNIX Specification (SUS) version 3.
* 2.0.1: ISO version of LSB 2.0, which included specification for all hardware architectures (except LSB-Graphics, of which only a generic version is available).
* 2.1: Released in 2004.
* 3.0: Released 2005-07-01. Among other library changes, C++ ABI is changed to the one used by gcc 3.4. The core specification is updated to ISO POSIX (2003), Technical Corrigenda 1: 2005
* 3.1: Released 2005-10-31. This version has been submitted as ISO/IEC 23360.
This entry uses material from from Wikipedia, the leading user-contributed encyclopedia. It is licensed under the GNU Free Documentation License. Disclaimer.