Author: Joe 'Zonker' Brockmeier
Sam Greenblatt, senior vice president and senior technical advisor at CA, said that the company had been skeptical of the LSB in the past, and only recently “started to see some semblance of what we consider reality in the specification.” According to Greenblatt, prior versions of the LSB were trying to “boil the ocean,” but said that the latest version is “really down to binary compatibility.”
Right now, according to Greenblatt, it’s a “nightmare” trying to support different Linux distributions. Greenblatt mentioned that the problem isn’t limited to the distributions supported by different vendors, but also the patchlevels of those distributions. “We’re trying to get some semblance of order in how maintenance is done, so we don’t break every time somebody changes a patchlevel.”
Linux isn’t the only operating system that suffers from this problem. Greenblatt said that the problem also affects Microsoft Windows and “every OS that does patches on the fly.”
What does it mean to be LSB-compliant? Zemlin explained that the LSB specification covers a set of components that make up a Linux distribution — like the filesystem hierarchy, C++ compiler, supporting libraries, and package formats. “It makes it really easy to target the Linux platforms across multiple architectures on multiple distributions with minimal work.”
Zemlin said this does not necessarily mean that an application written for one LSB-certified distribution will run without any modification on another LSB-certified distribution, but that it will require less work to ensure that an application runs on multiple Linux distributions.
Why is the LSB so important? Zemlin said that “as the market expands, there is a second, more insidious form of lock-in,” that has nothing to do with being able to “touch the code.” Instead, organizations can become tied to a specific Linux distribution if the applications that they depend on run only on their version of Linux.
According to Zemlin, the LSB helps ensure that organizations have the ability to choose between competing vendors. “From an end users’ perspective, it helps them prevent the dreaded lock-in…. A standard gives you a choice among different implementations of that standard.”
How does a vendor go about being certified? Zemlin said that vendors can run a set of test suites provided by the Free Standards Group and then submit their results for verification. Each vendor that is certified is issued a certificate that states it is compliant, and it is licensed to use the trademark that’s used to show that it is compliant.
The LSB is created using a development process that is open to public participation, and the standard is available to anyone; there is no fee to acquire or implement the standard. “Anything that goes into the standard can’t allow for you being locked into a single vendor,” said Zemlin.
LSB 3.0 is not “a major technological change from LSB 2.0,” according to the release notes for the LSB 3.0 specification. However, the new specification is not guaranteed to be binary-compatible with the previous release and requires a newer version of the GNU Compiler Collection (GCC), which will require applications compiled with older versions of GCC to be recompiled. It should be possible for a distribution to support multiple versions of the LSB standard.
The specification is on an 18-month development cycle. The LSB 3.0 specification was released on July 1 this year, putting the LSB 4.0 specification on track for release in 2007.