January 05, 2001, 9:40 AM — LAST WEEK I PETITIONED for tangible, far-reaching results from Linux Standard Base (LSB), and I hope you will demand them in a timely manner. Among many other things, I asked for a comprehensive self-hosting sample implementation of an LSB-compliant Linux distribution. In plain language, that means I want a standard Linux distribution anyone can install and run. Every commercial and nonprofit Linux distributor would start with this standard then add the unique kind of value that does not cause incompatibilities.
Paul Thomas, CEO of TurboLinux, outlined a similar vision recently in an article published by CNet. In it, he says he envisions the consolidation of Linux distributions such that everyone ends up using the same basic distribution. Personally, I don't care whether the result comes from commercial consolidation or consolidation of Linux distributions through standards. All I care about is that we get there.
LSB currently does not officially plan to deliver a comprehensive self-hosting standard implementation. Depending on who you talk to, it is either a terrific or horrific idea.
That is a big mistake that leads to other mistakes. For example, if one could agree on a self-hosting standard, one can solve lots of packaging and installation problems that the LSB does not address. Right now LSB is going to declare RPM the standard package format and leave it at that. By doing so, LSB is missing the point of what users and developers really need. They don't need to be told what package format to use; they need a cohesive and intelligent plan for installing and updating applications.
I'm talking about a policy of how applications must be installed and configured, how dependencies are defined, and how the installation and removal process should address unmet dependencies. By dependencies, I mean other applications and libraries that an application may need to run properly. LSB also should define the protocol for updating those application libraries, adding new versions of libraries, and then set rules on how applications must look for and use those libraries.
The Debian GNU/Linux installation system is still a work in progress, but it could be an excellent start in solving these types of installation issues. Debian's system creates a catalog of all the applications that exist on any number of servers or other storage resources that you define. When you use the "apt-get" command to install a package, it automatically finds where to get the package you want and attempts to resolve the package's dependencies. If necessary, it removes whatever conflicting versions you may have on your system and installs the correct newer versions. Then it installs and configures the package you want.