Linux Standard Base
This article needs additional citations for verification. Please help improve this article by adding reliable references. Unsourced material may be challenged and removed. (April 2008) |
The Linux Standard Base, or LSB, is a joint project by several Linux distributions under the organizational structure of the Linux Foundation (merger of the Free Standards Group and the Open Source Development Labs) to standardize the software system structure, including the filesystem hierarchy, used with Linux operating system. 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 the LSB:
- The goal of the LSB is to develop and promote a set of open standards that will increase compatibility among Linux distributions and enable software applications to run on any compliant system even in binary form. In addition, the LSB will help coordinate efforts to recruit software vendors to port and write products for Linux Operating System.
The LSB compliance may be certified for a product by a certification procedure.[1]
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, the printing system, including spoolers such as CUPS and tools like Foomatic and several extensions to the X Window System.
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++ API 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.
- 3.2: Released 2008-01-28. This version has been submitted as ISO/IEC 23360.
- 4.0: Released 2008-11-11. This version contains the following features:
Backwards compatibility
The LSB is designed to be binary compatible and produce a stable ABI for ISVs. To achieve backward compatibility, each subsequent version is purely additive. In other words, interfaces are only added, not removed. The LSB adopted an interface deprecation policy to give application developers enough time in case an interface is removed from the LSB. This allows the developer to rely on every interface in the LSB for a known time and also to plan for changes, without being surprised. Interfaces are only removed after having been marked "deprecated" for at least three major versions, or roughly six years.[2]
Criticism
The LSB has been criticized for not taking input from projects, most notably the Debian project, outside the sphere of its member companies.
Choice of RPM package format
For example, the LSB specifies that software packages should either be delivered as an LSB compliant installer[3], or (preferably) be delivered in a restricted form of the RPM format.[4] Debian, however, uses its own format, the deb package format, which predates rpm. Debian developers argue their format is superior to RPM, and that further changing the underlying package format of a distribution to satisfy the LSB is fairly unrealistic. Most packages can be converted between .rpm and .deb with alien or other package conversion program, but each format has capabilities the other lacks, so this operation doesn't work every time and is impossible to use with some packages.
To address this, the standard does not dictate what package format the software system must use for its own packages, merely that RPM 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). This is part of the reason the specified RPM format is a restricted subset—to block usage of untranslatable RPM features. By using alien, Debian is LSB-compatible for all intents and purposes, 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.
Quality of compliance test suites
Additionally, the compliance test suites have been criticized for being buggy and incomplete—most notably, in 2005 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. However, the LSB test coverage has been improved significantly for the recent years.[citation needed] Also, the Linux Foundation released a tool to address application compatibility testing.[5]
See also
References
External links
- Linux Standard Base (LSB)
- OLVER Test Suite for LSB - Open Linux VERification project
- Linux Foundation's Linux Developer Network (LDN) - to help developers building portable Linux applications.
Media
- Four Linux Vendors Agree On An LSB Implementation (slashdot)
- August 26, 1998 press release describing breakdown of teams (at the time) and who was involved, of historical interest
- Do you still think the LSB has some value? - Criticism by Ulrich Drepper
- Yes, the LSB Has Value - Response to Drepper by Jeff Licquia
ca:Linux Standard Base
cs:Linux Standard Base
da:Linux Standard Base
de:Linux Standard Base
es:Linux Standard Base
fr:Linux Standard Base
it:Linux Standard Base
nl:Linux Standard Base
ja:Linux Standard Base
pl:Linux Standard Base
pt:Linux Standard Base
ru:Linux Standard Base
sk:Linux standard base
fi:Linux Standard Base
uk:Linux Standard Base
zh:Linux标准规范
If you like SEOmastering Site, you can support it by - BTC: bc1qppjcl3c2cyjazy6lepmrv3fh6ke9mxs7zpfky0 , TRC20 and more...