The relevance of the Linux Standard Base
[Posted September 21, 2005 by corbet]
Back in May, 1998, a group of high-profile Linux development and business
figures (including Linus Torvalds, Jon 'maddog' Hall, Bruce Perens, Ransom
Love, Larry Augustin, Eric Raymond, and others)
proposed the creation of a
Linux application binary interface (ABI) standard. This effort, called the
"Linux Standard Base," would help to ensure that applications ran on all
Linux systems. In this way, it was hoped, a great wealth of applications
for Linux would be created, and Linux would avoid the sort of fragmentation
which afflicted proprietary Unix systems. The LSB would include a formal
specification and a reference implementation; applications which ran on the
reference system could be expected to run on all LSB-compliant systems.
More than seven years later, version 3.0 of the LSB specification has been
released.
With this release, the LSB requires the system to have a relatively new
compiler and toolchain (gcc-3.4 or newer), adds some libraries and
interfaces, and cleans up some obsolete interfaces. There are two core
variants of the LSB specification, depending on whether the target system
is expected to have graphics capability or not. Sample implementations are
available for eight different architectures. The release notes
have more details, for those who are curious.
In many circles, however, the LSB 3.0 release is being greeted with a big
yawn. Most Linux users probably have a hard time seeing how the LSB
benefits them. Ulrich Drepper, who, as maintainer of glibc is faced with a
wide range of LSB compliance issues, has recently claimed that
the LSB lacks value and should be dropped. It is a rare Linux user who
chooses a distribution or application based on its adherence to the LSB.
The stated purpose of the LSB was to encourage the availability of
applications - both free and proprietary - for Linux. So it is telling
that, among the available Linux applications, very few claim to be targeted
at LSB-compliant systems. In fact, your editor found just
one beyond the special versions of free applications in the LSB's own application battery: it's Appgen's
MyBooks, which works on bleeding-edge LSB-compliant systems like SUSE 8.1 and
SCO OpenLinux. In general, application vendors are not targeting the LSB;
they are, instead, certifying specific distributions.
Not everybody feels a need for wide availability of proprietary
applications for Linux. But, for those who do, the certification of
individual distributions is exactly the sort of situation that the LSB was
created to prevent. From that standpoint, the LSB would appear to have
failed.
That said, the LSB effort has certainly had a positive effect in bringing
Linux distributions closer, and in raising awareness among distributors of
how their offerings diverge from the standard. Even if an application is
not specifically aimed at LSB compliance, the fact that it probably just
works on non-certified systems is, at least in part, attributable to the
LSB. There is value in separating the core part of a distribution (that
which, in some sense, makes it "Linux") from the additional features and
services distributors throw in to add value to their offerings. The LSB
helps to bring that separation about.
From the moment that Linux started to attract attention outside of the development
community, detractors have grumbled that it would fragment in the same way
that Unix did. Yet, despite the existence of hundreds of distributions,
several of which are widely used, this fragmentation has not happened.
Linux applications remain portable, and, just as importantly, switching
from one distribution to another is (usually) nearly painless. Linux is
Linux, regardless of the distributor. The reasons for this state of
affairs include the use of a (more or less) common kernel and application
base, and the fact that free licensing makes it easy for good ideas to move
quickly from one distribution to another. But there is a place for
standards as well. As long as the LSB continues to codify current
expectations of what a Linux system should be, it will help to keep the
Linux universe coherent.
(
Log in to post comments)