VMware/Win4Lin/Wine + Linux... and Python?
Robert W. Cunningham
rcunning at acm.org
Mon Apr 3 23:57:35 EDT 2000
With at least three ways to run Windows applications simultaneously with
Linux applications, it seems to me there may be a need and/or
opportunity to improve the connectivity and interface between the two
worlds. And I suspect Python may be just the tool to do it.
1. Python has excellent ports on both Win9x and Linux.
2. Python is well able to handle "tricky" UI issues on both platforms,
such as Drag & Drop.
Taking Drag & Drop as an example, there is a need for interoperability
at that level, especially for the huge wave of "newbie" Linux users who
can't abandon their Windows investment all at once. Making the Windows
and Linux worlds play together a bit better should certainly improve the
acceptance of Linux.
Another example: Make the Windows Media player available to Linux apps.
But is there a way to get instances of Python on both platforms talking
to each other? Of course, a socket could be opened and data shuttled
back and forth, but that will be fairly slow and demand a fair amount of
overhead. Has there been any work done on a higher-level
While it is common for Java applets to talk to one another on a
cross-platform basis, the performance is low and the cost is high,
especially when the goal is to expose services available on one system
to applets running on another. Can Python do this (to quote NASA's Dan
Goldin) "Faster, Better, Cheaper"?
The commercial efforts put forth by VMware and Win4Lin are very
significant, but I feel that Wine will be the way to go in the long run
(I want source). But that run is a *very* long run, and I feel the
commercial approaches have lots to offer today (especially at the $50
Win4Lin price) that can take some of the intense pressure off of the
In fact, some form of scriptable interface between Windows and Linux
should have immediate benefits for the Wine community as well, since it
should allow them to displace Windows functionality one piece at a time,
without having to build all the pieces above and below at the same time
(a development and debugging nightmare).
At the bottom level, I feel it should be possible to establish a common
"Python space" between the two OS's, possibly running a single Python
engine, that delivers services to both. Or, more simply, a Python
package for each OS that establishes an interface and provides services
to independent Python instances running under each OS. Either way, it
seems to me there is great potential for some very fast gains to be
On a related tangent: Could such an interface be added to a remote
control product (VNC?) to better integrate remote Windows systems and
applications into the Linux desktop? Is it just a matter of scale, or
more? What about those curious Windows Terminal Servers and Citrix
products, and the applications they serve up? While it would probably
require lots of network bandwidth, the underlying idea seems to be the
I have already dangled the idea before Trelos, the makers of Win4Lin,
and they are definitely excited by the possibilities. Plus, with
Win4Lin being a commercial product, an inter-OS Python interface would
allow Trelos to expose interfaces without having to give away any of
their code (or revenue). And this is one group that sure seems to be
earning their money, even given their unfortunate lack of support for
Open Source. Python may well be the wedge needed to open that door.
What do you all think? Insane? Worthless? Useless? Or the greatest
thing since vi and edlin?
And, even if it is a good idea, can it be made to work? If so, then
More information about the Python-list