.comment: How Distributions Can Succeed (and help Linux take over the world) - page 2
SuSE 7.1 Revisited
Comments are being accepted for the latest proposed incarnation of the Linux Standard base. I have three proposals that would make life easier:
-- The existence of /opt as the parking place for things that sensibly call for isolation. Desktops are an example, because these are frequently updated with the latest code, and it's easier to back up a directory that contains all of it than it is to go through the file system and pick out all the pieces. Failing this, create an exception for self-contained packages in /usr/local.
-- Settle on a standard package management system. It has to be one that traps and includes the results of "make install." Everything necessary for this exists; it simply needs to be incorporated.
-- Go into some detail. The effect ought to be that a competent Linux hand will be unsurprised by what he or she finds in the file structure of any Linux system.
The effect would be a Linux Standard Base with some meaning. While of course there will always be different versions of practically everything, there would be no doubt as to where they're found, and there would be a disincentive for distributors to take flyers off into /var/X11R6 and things like that (unless it is decided that all should).
I can anticipate some of the whines: "But that about choice?"
I'll give you choice: You could then choose to run any package on any distribution. Those who are kind enough to produce binaries of their programs would not have to go through hell to do so -- it'd be pretty much down to a version for each of the several common versions of glibc. Support would be less of a headache, because it would be the product, rather than the product on a particular distribution, that would be supported. This means that the authors would get to discuss their application, rather than its packaging (which is half or better of the support problems -- check any mailing list). And there would be fewer compilation problems from distribution to distribution.
But If the Distributions Were All Alike . . .
When you buy a distribution, what are you really seeking?
Well, CDs containing a kernel and everything else that makes a Linux system, because you don't want to download it all yourself and unless you are one of a relatively few, even if you did download it all you wouldn't know quite what to do with it. So there is the convenience of that which you can get online for free, more or less, all in one place. You're getting docs of quality varying from helpful to useless. You're getting some vestigial degree of support, though not much over what you can get online anyway.
And you're getting installation and configuration tools.
What would change if there were an absolutely iron-clad Linux Standard Base? Nothing. Distributions would still ship a CD full of Linux, because what you're paying for is the convenience of not having to download it all. They would ship documentation, and some of it would still be useful and some of it would still be awful. They would ship their own little configurators (some of which are good and some of which are linuxconf).
Actually, that's not quite right. Distributions would have to get better, but they'd also be able to get better. With a standard base that's an inviolable known quantity, the choice of one distribution over another would be made through the quality of the documentation and the quality and flexibility of the installation tools. These are perfectly salable, though usually overlooked, additions to the value of a distribution. Instead of the situation as it exists today, where many users are afraid to get binaries from anyone other than their distribution because otherwise they might not work, they would be able to get them from just about anywhere. This would free up distributional resources for the production of better tools and docs.
It would also free up distributions to specialize. I think that it's wonderful that SuSE has remained committed to the desktop (though they offer a server edition as well). Wouldn't it be even better if as part of the installation routine, the choice of desktops offered by SuSE were made with screenshots, a little about the applications that are native to each desktop, why you might choose one over the other (XFCe for low-resource systems, for instance), and so on? Mightn't it be good if, by the time the new user has installed a distribution, he or she has learned something about the Linux being installed?
It's also great that Caldera is going after the enterprise. Their tools have already become somewhat focused -- WebMin is not something a typical desktop user would employ frequently, but a sysadmin might use it a lot absent fluency in the details of editing configuration files -- and Caldera would be free to make them more so.
With it all would come less incentive, in fact, a community-based disincentive, to change other things. There really is little reason to screw around with rc.d, but lots of reason to come up with a bulletproof X configurator or an easy way to set up a Samba share.
Nor would this reduce the participation of distributions in project development. Many of the commercial distributors have people on the payroll whose sole job is to work on free projects, be they KDE or Gnome or WINE or something else. It makes sense that as distributors specialized they would probably choose to pay people to work on areas where the distribution itself is focusing, but there's nothing wrong with that. The fact is that to have a star developer with your company as part of his or her email address is a little like having a star basketball player wearing your shoes. It's a prestige thing. With less time and money spent messing around making your distribution incompatible with everyone else's, there would be more of both to devote toward improving the operating system in general.
The greatest advantage would come to Linux itself. There has been a subtle but insidious forking of Linux that, if it continues, will cause its hope for widespread adoption to disappear in a virtual Tower of Babel. Individuals and companies who are accustomed to getting a Windows application and that's that (okay, Windows itself is forking and may well get stuck in its own CE-ME-NT) are likely to be less patient than some of us have been in the lack of binaries for our particular distribution. (Just this week, I sought to add the estimable Plugger to my notebook, only to discover that there is no glibc-2.2 binary; yes, the source is available, but it requires the Netscape plug-in toolkit, and I've about had it with feeding details of my life to yet another Netscape form.) With a defined Linux, as opposed to [Distribution] Linux, this problem would disappear (though glibc version incompatibilities will forever be with us, developers would probably welcome the change).
All this would require a solid LSB to get published rather than just talked about. It would require the compliance of distributors. It would require a little vision, abandonment of the idea of knocking out the competition right now and instead understanding that if there is ever a one-distribution Linux, it won't be a commercial distribution and it won't be widely used. Linux is under fire, and it will get worse. A solid definition of what it is that constitutes Linux, plus a variety of distributions that employ different ways of utilizing it, would assure that Linux survives the onslaught.
I don't think anything else will.