WineHQ run Windows applications on Linux, BSD, Solaris and Mac OS X.
Wine makes it possible to run Windows programs alongside any Unix-like operating system, particularly Linux. At its heart, Wine is an implementation of the Windows Application Programming Interface (API) library, acting as a bridge between the Windows program and Linux. Think of Wine as a compatibility layer, when a Windows program tries to perform a function that Linux doesn’t normally understand, Wine will translate that program’s instruction into one supported by the system. For example, if a program asks the system to create a Windows pushbutton or text-edit field, Wine will convert that instruction into its Linux equivalent in the form of a command to the window manager using the standard X11 protocol.
If you have access to the Windows program’s source code, Wine can also be used to recompile a program into a format that Linux can understand more easily. Wine is still needed to launch the program in its recompiled form, however there are many advantages to compiling a Windows program natively within Linux.
Wine is still under active development. Not every program works yet, however there are already several million people using Wine to run their software.
Wine can provide benefits over Windows right now:
Unix has always made it possible to write powerful scripts. Wine makes it possible to call Windows applications from scripts that can also leverage the Unix environment to its full extent.
Wine makes it possible to access Windows applications remotely, even if they are a few thousand miles away.
Wine makes it economical to use thin clients: simply install Wine on a Linux server, and voila, you can access these Windows applications from any X terminal.
Wine can also be used to make existing Windows applications available on the Web by using VNC and its Java client.
Wine is Open Source Software, so you can extend it to suit your needs or have one of many companies do it for you.
Programmer from India working for HP