March 20, 2001, 1:41 PM —
After three years of hibernation, LSB has finally produced a deliverable. It is called the Linux Development Platform Specification, or LDPS 1.0. According to the LDPS 1.0 documentation, "This specification is designed so that programs developed on a conforming platform are expected to be portable to all generally available Linux distributions as of October 7, 2000."
Does it meet that goal? Not at all. Although LDPS 1.0 falls short in nearly every aspect, I can illustrate the problem through one example: ncurses. The ncurses library provides programmers a common way to write sophisticated character-mode applications. In order to be LDPS 1.0 compliant, a distribution must include either ncurses version 4.2 or ncurses version 5.0.
The specification states that applications compiled for one version should run without modifications on the other, with some exceptions. Then the specification goes on to list some of those exceptions.
By admitting the exceptions, LDPS 1.0 leaves developers unable to pick one library version and use it confidently. You have to make sure you haven't used some feature that would cause incompatibilities, whereas you should just be able to compile your application for one library version and expect it to run properly. Since the LDPS 1.0 document does not attempt to detail all of the possible incompatibilities, you're basically on your own.