Wine, Crossover Office, and Cedega
WATER OR WINE?
If you need to make a Windows application run on Linux, there is no better way than Wine. We investigated the free and commercial Wine variants to see how they bear up under real-life conditions.
In 1993, Sun Microsystems developed a small tool designed to let users run Windows applications in Solaris out of the box – that is, without needing to port the applications first. Just a few months later, the first attempt was made to make the tool run on BSD and Linux, and this step marks the birth of what has now become known as the Wine project. The name Wine, an acronym in typical GNU tradition, stands for “Wine is not an Emulator.” And Wine  really isn’t an emulator in the traditional sense. The tool neither emulates a different kind of CPU, nor, strictly speaking, an operating system. Instead Wine inserts itself as a translation layer between Linux and the Windows application the user wants to run. It intercepts any Windows API calls made by the application and attempts to convert them to equivalent Unix and X11 calls. From a technical point of view, Wine is a loader, which loads and
launches Windows programs, and a suite of libraries that translate or emulate Windows API calls.