For a decade now, the computer industry has struggled to define standards that enable interoperable multi-vendor products and portable application software. Advocates of open systems have laboured mightily, if contentiously and not always consistently, to define such standards based around Unix. In just the operating system space, we have many iterations of SVID, OSF AES, Posix.n, XPGn, and Spec 1170. Graphical user interfaces gave us a similar number of rounds of Open Look, Motif, X Window, and Common Open Software Environment, Common Distributed Environment, among others. A dozen other areas of system behaviour were defined with their own set of two or three dozen efforts. But has all this come to nought? For all the effort, these Unix-based standards still don’t do the whole job. While they have significantly improved portability from (abysmal) historical norms, they have never truly delivered the extensive portability and interoperability repeatedly promised. Just because an application runs on Solaris, say, doesn’t mean it will run on HP-UX, or on any other Unix implementation. More than likely, invasive changes will be required. Thick tomes exist to guide developers among the different implementations. While Microsoft Corp’s Win32 specifications are as proprietary as they come, they deliver the cross-system application portability that users and software developers want. From the point of view of most applications, Win32 is the same running on a personal computer as it is on a RISC workstation, and the same from vendor A as from vendor B. Some hardware-related conversion issues still exist, but these are more manageable than the many out-and-out application programming interface differences between Unixes. Equally important, standards did not gel fast enough to capture the market. In-fighting and delays in the Unix community left Microsoft free not only to define its own set of interfaces, called Win32, but also to promote Windows NT and Win32 credibly as the sensible alternative to that Unix mess. Win3 2’s economic promise of a robust market proportional to the total personal computer market is also far more compelling than Unix’s weaker unified mid-range promises. Like Unix-based standards, Win32 has begun to spread beyond its home environment. Posix and XPG standards were implemented on heretofore totally proprietary environments from Digital Equipment Corp, Hewlett-Packard Co, IBM Corp, Stratus Computer Inc and Tandem Computers Inc, among others. Now Win32 begins that trek.
Win32 will spread
Recent DEC announcements have disclosed the company’s efforts to put key Win32 subsets on both DEC Unix and OpenVMS. Similar efforts appear under way at other Unix vendors. Win32 will spread, perhaps not as widely as Posix, but with great effect. Application programming interface compatibility does not lend the automatic benefits that accrue from binary compatibility. Sceptics can argue that application programming interface acceptance is as much a marketing gambit as a technical issue. And Win32 cannot replace Unix application programming interfaces, any more than Unix interfaces are likely to replace OpenVMS and MVS application programming interfaces. Nonetheless, Win32 provides an appealing alternative for a large chunk of the market, stealing much of the thunder from Unix standards in the process. It is ironic that customers over the last decade have increasingly eschewed IBM, at least in part a rebellion against proprietary hegemony. The rhetoric of neutral, openly defined standards providing comprehensive interoperability sounds good. But as with the United Nations, multilateral action has both its place and its limits. In practice we also need the coherence and drive that only unilateral action can consistently provide. Microsoft, long regarded as the gatekeeper to the personal computer space, is making itself into the new lodestone for the industry at large. – Jonathon Eunice, president Illuminata Inc.