Time to Break Out the WINE


In case you hadn't noticed, Firefox 3 was launched yesterday. Despite a misstep or two, it seems to be going swimmingly. And yet it's deeply ironic that this much-ballyhooed launch should obscure what, in some ways, is an even more important milestone: the appearance, on the same day, of WINE 1.0.

What is WINE? WINE Is Not an Emulator:

Wine is an Open Source implementation of the Windows API on top of X, OpenGL, and Unix.

Think of Wine as a compatibility layer for running Windows programs. Wine does not require Microsoft Windows, as it is a completely free alternative implementation of the Windows API consisting of 100% non-Microsoft code, however Wine can optionally use native Windows DLLs if they are available. Wine provides both a development toolkit for porting Windows source code to Unix as well as a program loader, allowing many unmodified Windows programs to run on x86-based Unixes, including Linux, FreeBSD, Mac OS X, and Solaris.

More information can be read in the articles Why Wine is so important, and Debunking Wine Myths. If you are wondering how well a particular application works in Wine, please examine the Applications Database. For installation instructions and step-by-step help with running Wine, take a look at the User Guide.

What makes the launch so notable is that it represents the culmination of 15 years' work by a bunch of dedicated coders:

Wine's roots can be traced back to 1993. At the time several forces were converging that made running Windows applications appealing. Microsoft had successfully steered its Windows program to the forefront of personal computers. IBM had hopes that OS/2 would catch on, but even they admitted that support of Windows programs was necessary and built the ability into their product. The free software movement spawned in the eighties was rapidly gaining ground as people discovered it was possible to run a multiuser, multitasking operating system on a PC.

Sun's acquisition of Praxsys Technologies in September of 1992 led to the development of a product called Wabi. Sun first demonstrated the software at the 1993 Solaris Developers Conference. It allowed users of Solaris x86 and Solaris 2.2 for SPARC to run Windows applications out of the box. Other products at the time allowed Windows programs to be run, but they required machine-level emulation and the installation of DOS and Windows. Wabi was unique in that it allowed Windows windowing calls to be translated directly to X Windows calls. By emulating the rest of the x86 code it was possible to actually run Windows programs faster on a RISC workstation! Wabi's more advanced features included Bitstream's font handling technology to handle TrueType fonts.

Users of the upstart Linux operating system began discussing the possibility of a similar approach in June of 1993. At the time, the chances of Wabi being ported to Linux were slim to none. A mailing list was set up to facilitate discussion. The name "Wine" was quickly adopted. Several of the early developers included some of the first Linux kernel hackers including Eric Youngdale and David Metcalfe. Other recognizable names included Alexandre Julliard who now leads Wine and Miguel de Icaza of GNOME fame. Bob Amstadt headed the development.

There can be few projects of comparable doggedness in either the free software or proprietary world. Moreover, the appearance of WINE is not merely of historical interest. It may well be that there is one mission-critical Windows program that prevents a large-scale migration to GNU/Linux within a company: WINE offers a way to clear that final obstacle.

WINE is by no means perfect – there are still some popular Windows programs that don't run well – but it is a continuing project, asymptotically approaching complete compatibility. Let's just hope we don't have to wait another 15 years for version 2.0.