SI
SI
discoversearch

We've detected that you're using an ad content blocking browser plug-in or feature. Ads provide a critical source of revenue to the continued operation of Silicon Investor.  We ask that you disable ad blocking while on Silicon Investor in the best interests of our community.  If you are not using an ad blocker but are still receiving this message, make sure your browser's tracking protection is set to the 'standard' level.
Technology Stocks : Corel Corp.

 Public ReplyPrvt ReplyMark as Last ReadFilePrevious 10Next 10PreviousNext  
To: Thomas A Watson who wrote (8499)1/12/2000 2:57:00 PM
From: mowa  Read Replies (1) of 9798
 
Corel Corporation's
Contributions to the
Wine Project
White Paper
June 1999.

An Introduction to the Wine Project
The Wine Project Defined


Wine is an open source implementation of the
Microsoft© Windows© 95/Microsoft Windows NT©
application programming interfaces (API) that runs on X
Windows and Linux©. Wine provides libraries for porting
existing applications from Windows to Linux and
provides a program loader that lets Windows applications
run on a Linux system without having to be recompiled.
While most of the development effort is directed toward
the Linux platform, UNIX© variants, such as FreeBSD,
OpenBSD, NetBSD, and SolarisZ are also supported and
some development work has been done for SCO© UNIX
OpenServer, SCO UNIXware, and IBM© OS/2©.

The History of Wine

The Wine project was initiated by Bob Amstadt in 1993 to
let Windows 3.1 applications run under Linux. The
project leadership was later passed to Alexandre Julliard
who continues to lead it, with the programming emphasis
on supporting Microsoft Windows 95/Microsoft
Windows NT applications. The open source project has
grown to over 350,000 lines of code written by more than
140 developers worldwide. While statistics are difficult to
determine, an estimated 90,000 people currently use Wine.
Understanding How Wine Works
Wine takes a two channel approach to the program loader
and code libraries. As the program loader matures, it will
let developers make their existing Windows applications
available on x86-based Linux systems immediately
without having to recompile. An application running on
Wine should perform the same way as an application
running on Windows because the Wine program loader
provides the API facilities that a Windows application
expects using the same hardware as Windows.
The program loader provides developers with a quick
method for making applications available under Linux;
however, this approach alone does not take full advantage
of the features and strengths of the Linux operating
system. The second channel of Wine development
includes libraries that provide the required API
functionality that is expected from Windows libraries. The
Wine libraries let developers recompile their Windows
applications to create native Linux applications from the
original code base without having to make major
modifications to the code. Once compiled as native Linux
applications, the applications can make use of Linux
features, such as enhanced performance, compatibility
across different processors, and, eventually, increased
native user interface integration, which lets the
applications use graphic user interface calls to desktops,
such as KDE and GNOME.

The Current Status of Wine

Wine currently supports more than 90% of API calls by
the ECMA-234 and Open32 specifications but is still
under development. Support for new API calls continues
to be added and new releases of Wine are frequently made
available. Despite the extensive support that has been
developed, considerable work needs to be done to
support the diversity of applications that are available for
the Windows platform.
Since Wine is being developed by both volunteer and paid
developers, it is impossible to predict when the task will
be complete. However, it is important to note that
completion is not necessary in order for Wine to be useful
to developers. As more APIs are supported, more
applications can become fully functional using Wine.
While complex applications will use more API calls, and
as such require that a greater percentage of the APIs be
supported, it is likely that Wine will provide the facilities
necessary to run applications as complex and diverse as
WordPerfect© and CorelDRAW©. Because Wine is a
work in progress, it is not ready for use by non-technical
users. The speed with which the Wine API expands and
the number of applications it supports is dependant on
the number of contributing developers. Since Wine is
being developed under the open-source model,
contributions by additional developers are always
welcomed and encouraged.

Corel Corporation's Contributions to the Wine Project

Myths and Rumors about Wine

Wine has been the subject of extensive discussion in the
Linux community yet remains misunderstood. Many
believe that Wine is an emulator and automatically assume
it will perform poorly. Traditionally, emulation has meant
emulating one computer and its operating system on
another computer with another operating system. For
example, developers have tried emulating an x86 machine
and the Windows operating system on a PowerPC
Macintosh with the Macintosh operating system. Such
emulation typically yields poor performance. Because
Wine is simply an alternate implementation of the
Windows API, rather than the emulation of a full machine
and operating system, it can provide application
performance that is comparable to the applications
running on Windows on the same computer. 1
There has been some discussion as to whether Wine is a
good approach to making Windows-based applications
available under Linux. It is argued that nonnative Linux
applications running through a program loader make
Linux an inferior platform to Windows because the
applications will not optimize strengths of Linux, they do
not look like native Linux applications, and they
potentially perform poorly. While the ability to use the
program loader to run Windows applications may provide
a useful solution, many see the program loader as a
temporary solution until applications can be recompiled
using the Wine libraries to create native Linux
applications. Once the Wine libraries provide the
functionality comparable to the Windows API, there is
little reason for developers not to simultaneously release
native Linux versions of their Windows applications.
To be accepted as a desktop operating system, Linux must
have a variety of commercial applications for users to
choose from. The program loader makes Windows
applications immediately available to Linux users. The
Wine libraries make releasing native Linux versions of
applications a simpler task for developers. Rather than
putting extensive effort into porting every application that
developers want to release under Linux, Wine
consolidates the effort so that many more applications can
be ported with less effort.
The last myth that must be addressed is that Wine will
never be able to run all Windows applications. This myth
may be true in an absolute sense, but may not be true in a
practical sense. In an environment with the complexity
and history of DOS and Windows, there will inevitably be
applications that Wine does not support. However, the
vast majority of modern, commercial applications that
follow standard Windows programming techniques
should eventually recompile and run without difficulty
through Wine. It is not necessary to support all APIs for
an application to run successfully because most
applications use only a subset of the full Windows API. In
addition, since Wine is completely open source,
developers can easily modify the code to solve specific
problems with individual applications.

Using Wine

Once Wine's development reaches the level where most
Windows applications are supported, its use in
mainstream computing is relatively straightforward. The
hardware requirements for processor speed and memory
are comparable to the same application running on
Windows.
Installing a Windows application to run on Linux requires
users to run the familiar SETUP.EXE program. Users can
send a command to start Wine and point it to the
Windows .EXE file they wish to run. For example, to run
the Windows version of Quattro© Pro using Wine
requires a command line that resembles the following:
/usr/local/corel/quattro/qpw.exe. This command line can be
added to an icon on the desktop or on the menu of a
Windows manager, which makes accessing the application
as easy as any native Linux application.

Corel's Contributions the Wine Project

Corel dedicated a team of paid engineers to the Wine
project in January 1999. 2 This team has focused on adding
functionality to Wine that will let Corel applications, such
as WordPerfect, CorelDRAW, and Quattro Pro run on
Linux and be ported to native Linux applications. In the
past, Corel relied on conventional porting techniques to
move some of its applications (Corel WordPerfect 8) to
Linux. This provided a fast way to get these applications
to Linux, but meant that porting had to be repeated with
each new version. Otherwise, development had to be
maintained on two separate code bases, which required
considerably greater resources. Although there is an
up-front investment in time and energy required to make
Wine viable, once it reaches a high enough level, the
facilities it provides can be used repeatedly to port many
applications with minimal engineering effort. The time
and cost savings to Corel will be tremendous.
The Wine technology is a complement to Corel's
forthcoming venture into the Linux distribution market.

Visit Corel's Web site at www.corel.com or Corel's Linux
Web site at linux.corel.com.
For general media inquiries, contact Corel's public
relations department at the following email address:
media@corel.ca

For more information about Wine technology, visit the
following Web sites: www.winehq.com or
winebin.netpedia.net.

To participate in discussions about Wine, visit the news
group at: comp.emulators.ms-windows.wine.newsgroup.
Copyright ¸ 1999 Corel Corporation.

1 Current releases of Wine include debug code that slows performance
2 Corel's engineers have extensive experience porting applications to other platforms. In the past , they have ported Windows
applications to Macintosh platform and Java.
Report TOU ViolationShare This Post
 Public ReplyPrvt ReplyMark as Last ReadFilePrevious 10Next 10PreviousNext