Days of Wine & OSes

Most productivity applications are written to the Win32 API. Like a house chardonnay, everyone is willing to drink down this API, although few would heap praise upon it. While the pool of talent that writes software for Windows steadily grows, the chance of building critical mass on other OSes, in terms of talent and available applications, diminishes. The Wine project (www.winehq.com), managed by Alexandre Julliard, hopes to change that landscape. By creating both a binary and an API-compatible Win32 layer on top of Intel Unix variations, Wine hopes to jump-start the desktop side of the open-source market.

Wine is an experiment that grew out of a Usenet discussion and has since taken on a life of its own. Its goal is not to replace or improve Windows, but to provide a bug-for-bug identical platform for running Windows applications on Unix platforms. Wine supports two compatibility modes: a binary-compatibility layer that allows loading and running unmodified executables and DLLs; and an API library layer that gives source compatibility with the Window API, but requires recompilation of the original source. In the same way American wineries borrowed the techniques for creating champagne from the monks of Champagne, France, these developers reverse-engineered Wine from Windows. The resulting product contains no Microsoft code.

We’ll Sell No Wine Before Its Time

Wine is not for sale. It is freeware, licensed under an agreement similar to that of BSD. Wine is also what a vineyard might call young -- Alpha code. Wine-compatible applications are rated on a scale from one to five. Today, over 100 titles claim a five rating running on Wine. Nearly 600 claim a rating of three or better. These relatively low numbers and Wine's own literature attest that Wine is not yet ready to uncork. As more Windows vendors expand their productivity applications to the much less crowded Linux world, the price of admission might be the addition of a few fixes or features to the Wine layer. Because Wine is dynamic freeware, all Wine users will benefit from each new fix.

While Wine has significant work ahead, it has picked up its first large corporate customer. Corel Corp. announced that it would port WordPerfect to Linux with the help of Wine. Corel, a long-time supporter of Windows alternatives, is also planning a graphical front-end to Linux based on Wine. If Corel succeeds in these endeavors, the Wine platform will emerge with significant improvements. Corel’s execution in the past, however, --exemplified by a number of failed Java ports -- has not always been able to match its vision.

Assuming Wine succeeds, I see three possible scenarios for change in the development landscape. The first is that Wine ensures the longevity of Win32 by making the Win32 framework into the de facto GUI standard for Linux as well as Windows. Companies wanting to port to both platforms will continue to write natively for Windows, using Wine to bring the application to Linux. In this scenario, Windows remains in the driver's seat, as most applications are going to run best on their native target. Enterprises will still continue to choose the Microsoft OS, because Wine can never, by definition, become better than Windows.

The second scenario is that Wine simply jump-starts the desktop product class on other open-source systems like Linux. Once users can do their basic home and business work on Linux, they'll have little reason to buy Microsoft. At this point, native application developers for Linux can begin to target the growing desktop Linux community. When Microsoft executive Paul Maritz talked about Wine on the witness stand of Microsoft's ongoing anti-trust case, he claimed it was a direct competitor to Windows.

The last scenario is that Wine, and other applications in its class, will have little effect either way. This scenario is based on the notion that we have reached the end of the era of traditional productivity applications. In this scenario, all future applications are Web-oriented, and do not require installation on a host machine. A prime example is Intuit's tax-preparation site. It allows users to complete their taxes without installing an application on their machine. Sure, the experience isn't quite as seamless as TurboTax, and privacy and security issues abound, but the model is compelling. Only a few of today's application classes -- desktop publishing, CAD, and gaming -- absolutely require a dedicated desktop environment.

Wine or Vinegar

Yet another possibility is that Wine simply fails due to the complexity of the project. The vines of the Windows emulation vineyard are bursting with grapes that didn't make the cut. A notable also-ran in the Unix-Windows emulation field is the WABI project from Sun Microsystems, which is no longer sold. Is Windows emulation on Unix interesting to enterprises? I'd like to know what you think. --Eric Binary Anderson is a development manager at PeopleSoft's PeopleTools division (Pleasanton, Calif.) and has his own consulting business, Binary Solutions. Contact him at ebinary@yahoo.com.