In a recent editorial, Larry Augustin from VA Research said that Linux faces two main problems; Technical and Social. I agree with Larry, the technical probems will be dealt with - there are smart people out there. The social ones are more difficult. Last week, we used a fictitious corporation by the name of ACME and discussed what the process of standardizing their product (a version of Red Hat Linux 5.1) would be like.
This example illustrated, how standards issues tend to be divisive from the very start. Each group is convinced that "Their Way" is the "Best Way" and that everyone else will *have* to adopt it. This is just like UNIX, all over again. I have heard the full range of arguments; no standards, Adopt UNIX98, ignore TOG and make UNIX more like Linux.... The arguments are almost unchanged for the first standardization attempt.
As McCoy said in StarTrek, "Engineers, they love to change things."
And this is the problem that ACME faces. Change. Linux thrives on it, Users, Buyers and ISV's usually hate it.
Being wildly enthusiastic about Linux may not be enough to a Software Vendor community largely unware of what Linux is. They need to be attracted, coaxed and welcomed. They need to feel in familiar territory from the start. They need to know that what they port today will work tomorrow, next month and next year. Telling them that UNIX should become more like Linux (a recent email) will definately not work.
So what is a standard? Don't expect any major agreement other than something vague along the lines of "..what the majority of implementations conform to..." And that is what ACME wants to supply. Something that everyone uses. Not just Linux, ACME Linux!
ACME knows they have to consider the wider issues involved. The ISV's are caught between the Users wanting everything, the Buyers not wanting to pay for it and the Operating system vendors not caring. It is hard enough to cope with the first two, so they like a fixed, stable OS Platform. Just like UNIX, the Linux vendors have to maintain a competitive edge which almost mandates that any standard be as diluted and basic as possible. If all Linux distributions were the same, there would be One Linux vendor, the one with the largest existing market share. The problems the UNIX vendors faced are identical to those the Linux vendors face. One Linux? Sure, so long as it is ACME Linux!
Faced with Which Linux, the ISV's set themselves up for sucess by choosing the Linux they think has the largest market share; for some this might be ACME Linux. In the same way that Microsoft became the standards, ACME *becomes* the standard Linux for a great many ISV's. Perception is Reality! As more ports to ACME appear, the ACME "standard" is re-enforced. This is a difficult situation to change once it has occured.
Maybe ACME doesn't need to standardize at all. Maybe the fastest way to a Linux Standard is through ACME Linux? It would be interesting to see how much support this gained from the other Linux vendors; almost immediately, the LSB would appear an attractive way to regain lost market share. Sounds more like UNIX all the time!
For a standard to mean anything, it has to be adopted widely. No adoption, no standard. Period. For all its critism, UNIX98 is recognized and deployed. Changing this recognition would be hard work and send the wrong message to those Outside the Linux community. Linux is not a religious doctrine, it is just software!
Branding UNIX98 would impose huge constraints on the way that Linux was developed and sold and would undoubtedly lead to radical changes in the Operating System market. The costs involved would be high (described recently as "TOG's Ransoms") and it is doubtful if this would be a wise expenditure.
Linux could win huge support and credibility outside the Linux world by announcing and actually implementing a program to become "...as close as possible to UNIX98..." but leaving the Branding vague. Some Linux vendors will Brand, others wont. The Wider World would know that Linux has grown up; it has arrived.
This is the "Just Enough" attitude to Standards. By being close enough to UNIX, the ISV's could feel comfortable that the next kernel change wont break the glibc/compiler combination. If it does, they will switch to a Linux Vendor that provides the stability they need. An alternative, developing standards that solve Linux problems without addressing a wider audience, would risk alienating the very market we try to attract.
As has been argued, the ISV's will use whatever they are given. This is Linux; the source code is free and the ISV's will migrate to whatever Linux *they* think is best. Over a period of years this will become the standard.
Microsoft bypassed international standards sheer bulk of deployment. Linux is making huge inroads into mostly new markets where whatever Linux appears, *is* the standard.
Should ACME Brand to UNIX98? What the User, Buyers and ISV's want is a commitment to stability that is currently not there. Deliver this commitment in practice, remain as close as possible to the existing deployed standards, and porting will be a no-brainer. Just stand clear of the rush! Should ACME Brand? Nah - they have the largest market share. By deployment and usage, they are the perceived standard. Maybe we can learn from Microsoft.
-- Ian Nandhra Phone : 209 956 3047 NC Laboratories Inc. FAX : 209 956 1747 Suite G161, 4719 Quail Lakes Drive email : email@example.com Stockton, CA 95207, USA. http://www.nc-labs.com