A question of leadership
Summary
Topics
My very first ZDNet column was about the pain being experienced by users upgrading to Red Hat 5.0, about a year and a half ago.
Version 5 featured a major upgrade of Linux's libc, which is easily thethird most important and complex software component of a Linux system (afterthe kernel and "C" language compiler).
(And, yes, it's still a "Linux system," despite RichardStallman's continuing The upgrade of libc in Red Hat 5.0 was a major overhaul of the library,going to a GNU-developed codebase more commonly referred to asglibc. Most importantly at the time, the upgrade brokecompatibility with previous editions, meaning that software developed onthat new version of Red Hat wouldn't run on earlier versions of Red Hat. But it also wouldn't run on other Linux distributions that hadn't yet taken the plunge into glibc. The result was a mess that lastedsome months until the other distributions caught up. I fear that with the recent release of Red Hat 7 we may be back inthis mess again. Lucky seven? The compiler is so new that it can't be used to compile the kernel on RedHat 7 boxes -- you use a different (older) compiler, renamed kgcc,to do that. The use of this new compiler, and the new RPM(version 4) and new glibc (2.1.92), means that: Fair enough. The company has gone to admirable pains to ensure that backwardscompatibility (the ability to run older software and packages oncurrent releases of Red Hat) has been maintained.Still, the Linux community takes Microsoft to task for its breaking offorwards compatibility in file formats as a way to strong-arm users toupgrade, and this situation is similar in some ways. The Red Hat upgradeisn't done primarily as a money maker as a Microsoft Office one is -- allthis new Red Hat software is, after all, open source. Still there arecertainly common frustrations. Users of perfectly good Linux systems willhave to upgrade to get new Red Hat packages, unless they want tore-compile and re-assemble the code themselves. Troan believes that Red Hat can use its position of leadershipto help drive users into using more-advanced software.In the case of the move to glibc in Red Hat 5, Red Hat used a versionof glibc (2.0.6) that wasn't a fully-cooked production release."We didn't feel that the software would ever stabilize unless mainstreamdistributions used glibc and the benefits glibc 2.0 provided," hesaid. Following Red Hat's lead, the other distributions eventually caught up,but the transitional period was especially painful for non-Red Hatusers and software developers wanting to create software installable onall Linux systems. Unfortunately, I suspect that the same mistakes are about to berepeated. Version (out of) control The fact that the GNU page doesn't appear to have been updated in a yearmakes one wonder whether it's the definitive source of glibc progressreports and stability information. Release information for glibc is allover the place. The GNUFTP site doesn't go past 2.1.91. Debian's "stable" version is 2.1.3and its "unstable" one is at 2.1.94. And the In other words, glibc's maintainers haven't expressed confidence thatanything newer than 2.1.3 will be stable, and you can't even findanything newer than 2.1.91 on the official glibc website. Yet somethingnewer than both is exactly what's in today's shipping release of Red Hat. The base code for 2.1.92 (and newer) releases of glibc are currentlyfound only atthe website ofCygnus, the influential development shop that's now part of Red Hat.Coincidentally (or maybe not), the main developer of glibc, The situation with the gcc C compiler is almost as strange. The version inRed Hat is 2.96 which, according the to the GNU maintainers, does not exist.Indeed, the GNU gcc maintainers -- far more up-to-date than their glibccounterparts -- recentlyissued awarning about the gcc used in Red Hat 7. Leadership or gamesmanship? And RPM, the package management system Red Hat invented that's widely usedon other distributions, is also not immune from such games. While Red Hat7 boasts the new (and also not forwards-compatible) release 4 of RPM, the(Red Hat maintained) RPM community sitesays the newest release is still only 3.0.4. RPM 4.0 is Maybe this is also what Red Hat considers leadership at work, filling avoid left where GNU appears to be dropping the ball on its maintenance ofglibc, making its own non-standard changes to gcc, and silentlysynchronizing RPM development with that of its own distribution. Thefallout experienced by users of other distributions, or by softwaredevelopers wanting to use Red Hat to develop distribution-neutralproducts, is apparently irrelevant to the company. .Such attitude is fair game for a competitive player in a marketplace ofLinux vendors. However, I submit that Red Hat's actions, which needlessly throw partsof the community into disarray for a significant period oftime, work against the company's long-term goals of portraying Linux as anattractive environment and a cohesive community. Furthermore, theinevitable scramble to catch up with Red Hat's new versions, or at least becompatible with them, diverts community resources and energy from the coretask of making Linux -- all Linux, not just not just Red Hat's -- as goodas it can be. The cynical, including those who are In any case, there's got to be a better way to evolve the Linux world intobetter technologies than to use development-stage releases in productiondistributions. I vividly remember the problems that happened last time,and I hope the community will get through this transition with less griefthis time around. Errata In last week's column, posted October 4, I incorrectly made anunjustified analysis based on the value of Apple stock. This commentdid not consider a split of Apple stock that occurred in June 2000. Thecolumn was modified to remove this reference, and I believe theother points made in the column are still valid given the IDC report andother circumstances. However, I am truly sorry for the oversight and anyinconvenience or upset this may have caused. At the very least, perhaps it might be best to stick with the common wisdomthat I've heard from many places: wait to deploy Red Hat until it comesout with 7.1. If we're very lucky, all this mess will have sorted itselfout by then. Are you willing to upgrade to Red Hat 7, complete with all itscompatibility issues? Tell Evan in the TalkBack below or in the
The Red Hat 7 package is certainly impressive, and comes with the firstnon-WordPerfect keyboard template I've seen in a long time. But what'smost significant -- for the entire user and developer communities -- isRed Hat 7's default use of new versions of the RPM package manager, thegcc C compiler, and the aforementioned glibc.
Past and future at odds
On the surface, this is fair game. According to Erik Troan, vice president ofproduct development at Red Hat, the company was caught between the need toinnovate, meet deadlines, and provide a stable platform. "We were in a bind,"Troan said. "We plan our releases well in advance, and we've deliveredreleases at regular intervals for many years." He added that a numberof new glibc features, such as support for 16-bit languages and multiplehardware platforms, justified breaking some compatibility. "With RedHat 7, we decided it was the righttime to hurt forward compatibility in order to move to the nextgeneration."
Red Hat 7's version of glibc hasn't been cleared for production use by theglibc maintainers at the GNU project. The
The inevitable question is, then: who's in control of glibc and gcc?The GNU Project or Cygnus? TheRed Hat page on glibcstill says it's GNU. Yet the GNU website information is ancient andits release recommendations are ignored.
Talkback - Tell Us What You Think
The best of ZDNet, delivered
ZDNet Newsletters
Get the best of ZDNet delivered straight to your inbox




