Yes, the LSB Has Value

Ulrich Drepper slams on the LSB, suggesting that binary compatibility is a red herring and that the LSB is incompetent.

I think it best to respond to the substance of the allegations here. To do that, you’ve got to filter out the ad hominem slurs (“…they buy into the advertisement of the people who have monetary benefits from the existence of the specification, they don’t do any research, and they generally don’t understand ABI issues.”), ego (“After they added the 100+ reports I sent and those others sent the test suite is a somewhat good reflection of who a Linux implementation should behave…”), and contradictions (even though the LSB people are incompetent, their experience shows that their goal is unattainable; one would think you need to try with competent people before deciding that something is impossible).

So what are you left with?

  • Test suites have bugs, even embarassing ones. Are we supposed to be surprised by this? Yes, part of the thread test bug Drepper highlights is pretty stupid. But who can claim to have never written stupid code? Certainly not I, and certainly not Drepper.
  • The tests are incomplete. This is both because of incomplete specifications and bugs, which cause discrepancies from the specs. By this logic, software testing is also useless for the same reasons. In the cases where the tests are right, can we not depend on them? “Useful” need not imply “perfection”, as all users of glibc today can testify.
  • Waivers are signs of incompatibility. Drepper’s complaint: “The result of all this is that you can have a program which is certified for LSBv3 which doesn’t run on all LSBv3 certified systems, depending on whether the LSB environment worked around the broken test or not.” But software vendors can easily retrieve a complete list of waivers, which allows vendors to anticipate what discrepancies they’re likely to encounter. Vendors may be ignorant of the issues, but that is hardly the LSB’s fault.
  • Having separate runtime environments for LSB issues is bad. First of all, Drepper seems to think that people doing separate LSB runtimes (like me) are doing it to work around LSB test problems. In Debian, however, 100% of the bugs I work around with the dynamic linker are bugs in Debian, not bugs in the tests, and only one of those bugs is not a glibc bug. Second, if the separate LSB runtime environment is complete, why should it matter that it’s different from the default, as long as it follows LSB behavior?

As a final point, I would look at Drepper’s recommendations for a replacement of the LSB: source specifications, and identical binaries whenever ABI compatibility is an issue. He doesn’t answer the question of whose binaries those should be, probably because he’s happy with the current de facto answer: the binaries provided by his employer, Red Hat. No doubt he would prefer a world without competition, but should the rest of us?

(Seen via Slashdot.)


Joey Hess is happy to see us using debian-installer for the DCC Core, and speculates about whether Progeny will be moving away from Anaconda.

First of all, I certainly hope we can make useful contributions to d-i. As a first effort, the long-stalled debian-installer module for picax (started at DebConf 4) is now in good shape, and was what we used to build DCC 3.0 PR1. And I can honestly say that d-i has, so far, exceeded our expectations.

On the other hand, there’s no reason why we can’t have more than one installer for Debian. FAI has been around for a long time, after all. Some people like Anaconda’s UI better than d-i’s, and probably will continue to even after d-i goes graphical. As long as people want it, there’s no reason why Anaconda for Debian should die off.

Tragedy and Promise

I’ve been a little silent lately, because it seems that there isn’t much to write that trumps the suffering people are enduring in the South right now. That, and I’m going through a difficult time myself, which I may or may not post more about later.

In the midst of bad news, though, you can get some good.

I went to a wedding on Saturday. It was a very uplifting wedding, even enough to lift my spirits; as Tami could tell you, that can sometimes be quite a job. During the wedding, the best man’s wife delivered their child (not at the wedding, obviously), with no problems to speak of. And at the reception, my brother called to let me know he was engaged, to a wonderful woman he met after moving to North Carolina. Tidings of good news, even if most of it didn’t really concern me, has a way of putting life in perspective.

It seems that the news of the hour centers around someone getting blamed for incompetence in their handling of the Katrina aftermath. Not surprisingly, the targets of criticism could all have been predicted a month ago, with Democrats yelling at the White House and Republicans castigating the Democratic governor of Louisiana and mayor of New Orleans. Unfortunately, both sides seem to have too much material to draw from.

Some of the criticisms have been good, in that they have pointed at specific problems that we can do something about. The rest have been, well, damaging. Not to their intended targets–real damage to those people won’t be seen until the after-action reports come out months from now–but to all of us, and most importantly to the people who are suffering. Firing Michael Brown or impeaching Kathleen Blanco may make us feel good now, but will the additional command-and-control confusion save lives? Not likely.

My brother wanted to propose to his girlfriend at a lighthouse on a small bit of land off the Carolina shore, but there’s a new hurricane in the Atlantic, and it’s there. He could have thrown a fit and blamed the boat captain for interfering with his best-laid plans, but he didn’t. Instead, he proposed on the beach, and everything worked out well despite the circumstances. It may be callous to compare a minor setback for a romantic scenario to the deaths of many thousands, but it is no less so than to press our leaders to pay attention to their reputations instead of the people that are still dying. Maybe we in the chattering classes need to learn a little flexibility, and a little perspective.