Wine (software)

This article is about the Wine software. See wine for an article about the beverage of the same name. WINE redirects here.
Wine

Maintainer: Wine development team
Latest release: 0.9 / October 25, 2005
OS: Linux
Genre: compatibility layer
License: GNU Lesser General Public License
Website: http://www.winehq.org/

Wine is a project to allow a PC running a Unix-like operating system and the X Window System to run x86 programs for Microsoft Windows. Alternately, those wishing to port a Windows application to a Unix-like system can compile it against the Wine libraries.

The name was derived from the recursive acronym "Wine Is Not an Emulator" (it implements a compatibility layer), although some have used the unofficial expansion "Windows Emulator". Although the forms "WINE" and "wine" of the name are sometimes used, the developers have agreed on the now correct "Wine".

Wine is free software, licensed under the GNU Lesser General Public License (LGPL). It was originally released under the same MIT License as the X Window System, but, owing to concern about proprietary versions of Wine not contributing changes back to the core project, work, as of March 2002, is licensed under the LGPL.

The first beta version of Wine, version 0.9, was released on October 25 2005 after 12 years of development.

Contents

Development

The Wine project was started in 1993 by Bob Amstadt (the initial project leader) and Eric Youngdale as a way to run Windows applications on Linux. It originally targeted Windows 3.x (16-bit) applications, although the present focus is primarily on the dominant Win32 (32-bit) applications. The project probably originated in discussions on Usenet in comp.os.linux. Alexandre Julliard has been the project leader since 1994.

Rather than acting as a full emulator, Wine implements a compatibility layer, providing alternative implementations of the DLLs that Windows programs call.

Wine is primarily developed for Linux. FreeBSD and Solaris-x86 are also strongly supported.

The project has been time-consuming and difficult for developers, at least partially because of incomplete or incorrect documentation of the Win32 API. While most Win32 functions are documented, there are areas such as file formats and protocols where an official Microsoft specification does not exist, as well as undocumented low-level functions and obscure bugs that must be duplicated precisely for some applications to work properly. Consequently, the Wine team has had to reverse engineer many function calls and file formats, in such areas as thunking.

The involvement of Corel for a time assisted the project, chiefly by employing Julliard and others to work on it. This was motivated by Corel's porting of WordPerfect Office, its office suite, to Linux. However, the effort stopped when Corel cancelled all Linux-related projects. Julliard is now employed by CodeWeavers to work on CrossOver Office, their proprietary packaging of Wine.

Functionality

As of late 2005, Wine runs most software with good stability. Native Microsoft Windows DLLs necessary for the execution of Win32 binaries have mostly been compensated for with compatible Wine counterparts. Direct3D is functional and constantly undergoing fixes and improvements.

Other versions of Wine

The core Wine development is directed towards a correct implementation of the Windows API as a whole and lags in some areas. Direct3D, in particular, is only marginally supported, which means that many commercial games cannot be run. After 11 years in an "alpha" state, the October 2005 release of Wine "beta" promises to be much more compatible for PC Gaming.

CodeWeavers markets CrossOver Office specifically for running Microsoft Office and other major Windows applications. CodeWeavers also employs Alexandre Juillard to work on Wine and contributes most of its code back to the Wine project under the LGPL. On 22 June 2005, CodeWeavers announced support for Wine on Intel-based Apple Macintosh computers.

TransGaming Technologies produces the proprietary Cedega (formerly known as WineX), forked from the last MIT-licensed version of Wine. It is tailored towards running Windows games and is available on a subscription basis. You can install the free CVS version with WineCVS, a bash script for easy installation.

Other projects using Wine source code include:

  • Rewind, an MIT-licensed fork of the last MIT-licensed version of Wine.
  • ReactOS, a project to write an operating system compatible with Windows NT down to the device driver level. ReactOS works closely with the Wine project on DLLs and compatibility issues and several developers work heavily on both projects.
  • Darwine, a port of the Wine libraries to Darwin and Mac OS X. The aim is to be able to compile Windows source code to Mach-O/PowerPC binaries. The project is also investigating running Win32 binaries in the x86 version of Darwin, and combining Wine with the QEMU x86 emulator to enable running Win32 binaries on PowerPC.
  • Odin, a project to run Win32 binaries on OS/2 or convert them to OS/2 native format. It also provides the Odin32 API to compile Win32 programs for OS/2.
  • E/OS, a project attempting to allow any program designed for any operating system to be run without the need to actually install any other operating system

Microsoft's response to Wine

Microsoft has been very quiet about Wine. However, they indirectly acknowledge it by blocking updates when Wine is installed. On February 16, 2005, Ivan Leo Puoti discovered that Microsoft was checking the registry for the Wine configuration key and was blocking the Windows update for any component. Puoti wrote, "... even if this is only an initial attempt, they appear to want to discriminate [against] Wine users[. W]hile this may be acceptable for operating system components/updates, this is probably a violation of anti-trust law for all other downloads. It's also the first time Microsoft [has acknowledged] the existence of Wine." [1]

Windows Genuine Advantage system also checks for existence of Wine registry keys, and the WGA FAQ states that WGA is specifically designed not to run in Wine. [2] Despite this, there have been reports of WGA system working in Wine nevertheless.

External links

es:WINE fi:WINE fr:WINE ia:WINE it:Wine ja:Wine nl:Wine pl:Wine sk:WINE sv:Wine zh:Wine