Crossover Office 2.1 Runs MS Windows Software on GNU-Linux Systems
Mike Angelo -- 10 November 2003 (C) -- Page 2
Crossover Office and Wine are not emulators
The distinction that Wine is Not an Emulator but rather an implementation of the Windows API (Application Programming Interface) is not trivial. When using a Windows emulator, you must have an MS Windows license. However, since Wine (and therefore CrossOver Office) simply provide MS Windows-like APIs rather than emulate MS Windows, there is no need to have a MS Windows license in order to run MS Windows applications under Wine or Crossover Office on a GNU-Linux-based computer.
Windows API implementations for GNU-Linux do things very differently than do Windows emulators for GNU-Linux. Two examples of Windows emulators are Win4Lin and VMware. Crossover Office and Wine are two examples of Windows API implementations. However, the Windows emulators and the Windows API implementations all let you run MS Windows applications on the GNU-Linux platform.
Comparing Windows emulators and API implementations
Simply put, theoretically the Windows emulators let you run just about any MS Windows application or accessory hardware on a GNU-Linux platform. On the other hand Windows API implementations for Linux allow only a selected sub-set of MS Windows applications to run on a GNU-Linux platform.
On the other hand, the Windows API implementations for Linux such as Crossover Office can run only a limited subset of MS Windows applications on your Linux-based computer system. Please see Schedules 1 and 2 on page 3.
The primary advantage of Windows emulators such as Win4Lin and VMware are that theoretically they can run just about any MS Windows application on your Linux-based computer system.
On the other hand, Windows emulators such as Win4Lin and VMware (1) require the installation of the MS Windows operating system on your Linux-based computer, (2) thus they require a license and serial number for MS Windows from Microsoft in order for you to use them, and (3) they add a large system resources overhead when running MS Windows applications on your Linux-based computer system.
Jeremy White compares Windows emulators and API implementations
In an April 2003 e-mail discussion with Jeremy White, we asked: How does CrossOver Office differ architecturally from Win4Lin, VMware, and other such Windows emulators?
Jeremy White: Both Win4Lin and VMware are emulators, because they provide the emulation of a PC, with all of its BIOS and hardware. Hence, with Win4Lin and VMware, you actually install a copy of Windows onto the 'virtual machine' emulator. This has performance consequences, and means that you still have to have a Windows license. You're really running Microsoft code; you've just created a virtual PC [within the Linux-based computer system] that is capable of installing and running Windows.
Wine, in contrast, is an alternate implementation of the Windows API . . . Thus, with Wine, we provide all of the things that a typical Windows .exe file expects to find on the operating system (the API). Thus, when Quicken runs in CrossOver, it is running with the use of no Microsoft code.
Jeremy White: Yes, absolutely. We take about 1.3-MB over and above what the Windows app takes; VMware and Win4Lin require you to dedicate large chunks of extra memory to them (Win4Lin less than VMware).
Not all MS Windows applications run under Crossover Office
In our April 2003 e-mail discussions with Jeremy White, we asked:
MozillaQuest Magazine: Why are there not more MS Windows-based applications that can run with CrossOver Office?
Jeremy White: Well, as you can imagine, completely re-implementing the Windows operating system is *hard*. Doing this work requires experts in Linux internals, X internals, Windows internals, and a willingness to not only do this crazy mission, but also live in a debugger all days. Suffice it to say, it takes rare talent to be a Wine hacker, and the work is quite hard.
Jeremy White: With all that said, I think Wine has made amazing progress, and is truly accomplishing some astonishing things. Further, I think the next few years are going to be mind blowing in terms of what Wine can do.
MozillaQuest Magazine: From reading over the various materials on the CrossOver Office Web site, I get the impression that you have to write/add specific code to CrossOver Office for each MS Windows-based application that will run on CrossOver Office. Why is that?
Jeremy White: Well, we tune Wine to make sure each application works properly. For example, we might have to add a hack to Wine to make Office work properly that Alexandre would never accept into the main Wine tree (Alexandre is very rigorous about ensuring that Wine contains only correct fixes). [Alexandre Julliard is the CodeWeavers CTO and maintainer of the Wine Project.]
Is Netscape Losing the Browser Wars?