The Linux Standard Base[6] (LSB) is a set of system and application requirements. It defines a common interface between the operating system and applications with the goal to ``increase compatibility among Linux distributions and enable software applications to run on any compliant Linux system.'' LifeKeeper's distribution enabling scheme also attempts to cope with the differences in the system interfaces of the various Linux distributions. However, since we cannot force standards on the distribution vendors, our distribution enabling scheme contains a compatibility layer that provides the (currently lacking) common interface between our application (and those under LifeKeeper's control) and the underlying operating systems. As the Linux Standard Base increases in scope and is increasingly adopted by Linux distribution vendors, our distribution enabling layer should diminish proportionally. Differences in system interfaces will either be eliminated or, at the very least, the compatibility layer (which, at present, must be contained within the applications themselves) will be pushed into the underlying operating system.
Adoption of the LSB is one very important step toward reducing the growing fragmentation among the Linux distributions. If this fragmentation is not addressed, Linux may succumb to the same fate that commercial Unix did. Therefore, adherence to the LSB and other standards (such as POSIX), while burdensome to software vendors, is a necessary evil. Without a common system interface, application vendors must bear the increased burden of scoping out and dealing with differences in underlying operating systems. This results in increased time to market and increased cost for application vendors, and may inhibit the porting of an application altogether.
While the LSB, in its current form, does address many of the needs of application vendors, there are also some areas where the goals of the LSB and our distribution enabling scheme diverge.