LINUX.IE, website of the Irish Linux Users' Group
Tux rules!

   
Home
New Users
Articles
::In The News
::Industry
::Interviews
::Reviews
::Tips
::Tutorials
Download
Projects
Community
Vendors

  Print Version
Email to...
 
Archives:


planetILUG

Recent News

News Archive


Join the
ILUG
on FaceBook


Join the
ILUG
on LinkedIn


Join the
ILUG SETI
Group



















 
 :: Articles :: Interviews :: Ulrich Weigand

26 October 1999

Ulrich Weigand is the most prominent developer working on the core of the WINE Windows Emulator. We tracked him down and asked a few questions...

Caolan asks:

  • what editor do you use?
    Sometimes emacs, but mostly vi.

  • do you use revision control systems of some kind, and have you any serious thoughts on the matter
    Well, I'm using CVS. I haven't really thought much about this topic, as CVS seems to do what I want (and I'm not really using everything it offers ...), so there wasn't any reason to.

  • What is your favorite language, c,c++, some half arsed scripting language like perl (duck)
    I've used quite a few different languages, from assembly to higher-level stuff like ML or Miranda; in general I'd say you should choose the language depending on what you're about to do. It also never hurts to learn a new language, just to get exposed to new ways of doing things ;-) My all-time favorite general-purpose language still remains C, however.

  • X vs console
    Well, I hardly ever use the console; on the other hand, I'm running X mostly to open lots of xterms ...

  • window manager / gnome / kde environment?
    I haven't really used either Gnome or KDE (I'd probably have to upgrade my computer first, anyway :-/). I'm currently running a somewhat customised fvwm95 setup on my home machine, and OpenWindows (with olwm) at work (Solaris).

  • Favorite hardware and os platform?
    I'm using Solaris/Sparc at work, and I rather like it ... On PC hardware, I prefer Linux.

  • Did you ever attempt to write yet another
    • window manager?
    • widget set?
    • X replacement?
      No to those three. I guess I'm not really fascinated by UI design; I prefer lower-level stuff...
    • Programming language?
      Not really. As a teenager, I toyed around implementing a BASIC extension for the C 64, but I guess that doesn't really count (it was never released anyway).
    • Operating system?
      No. I never got that ambitious ;-)

  • has anyone offered to pay you/hire you based upon your open source product ?
    No.

  • What application or component is linux most lacking?
    That's hard to say; what annoys me the most is not the 'big' stuff, like MS Office, that is not available on Linux. For this, there are IMO quite reasonable replacements available in the meantime. The problem is rather the many small applets, e.g. provided by hardware manufacturers, that run only on Windows (one example: our in-house telephone switchboard can be controlled via computer, but only by running a vendor-provided app that communicates with the device; this app runs only on Windows, of course...). Similarly, for many devices, drivers are provided only for Windows; software to upgrade your computer's BIOS runs only on DOS/Windows etc...
    Of course, every single one of these apps can be re-implemented on Linux (provided you can figure out protocols and the like), but due to their large number, the situation will probably remain problematical...

  • Is that your first interview by anyone?
    Yes.

John "Kate" asks:

  • Did you notice if software like VMware & Bochs has put a dent in Wine development/usage?
    Well, Bochs has been around for a long time, longer than I was involved with the Wine project, so there shouldn't be any recent effect. As to VMWare, I think it is likely that people who were just looking for any solution to run the programs need under Linux, will now use VMWare where Wine isn't yet stable enough ... As it is somewhat hard to put any -even approximate- figures on Wine usage, I can't really say how much effect VMWare actually had here.
    As to Wine developers, I didn't notice anyone stopping to hack Wine because VMWare became available ;-) Some developers are using VMWare for Wine development now, so as to be able to compare Wine to Windows behaviour without having to reboot all the time.
    In any case, VMWare and Wine are not actually in direct competition; their goals are really different, in the end.

  • Do you ever get upset when yet anyother obscure feature of some Windows program broke Wine? Upset enough to KILL maybe?
    No :-) In fact, this is just what I find interesting: finding out just how Windows works, exactly. [ B.t.w. it's features of Windows that are the problem, not features of Windows apps ... ]

  • What non-computing stuff do you do?
    Well, I'm currently employed at the department for Theoretical Computer Science here at the University of Erlangen, and what I'm working on is not really 'computing stuff' ;-) [ Right now I'm mostly working on my PhD thesis, in the field of mathematical logic / complexity theory ... ]
    But I guess you meant what I do in my spare time; well, apart from hacking I read a lot (preferably SF), and like to listen to good music ...

  • Ever break bones doing it?
    No. [ I don't really like those kinds of activities where you tend to break your bones, anyway ;-) ]

  • Have you ever been stalked over the internet?
    Not that I'd noticed ...
  • Did/would you enjoy it the attention?
    Unlikely :-/

Donncha asks:

  • Do you see Wine as a viable platform for game and demo cross-development on Win32 and Linux?
    I don't really know all that much about game development; so I'm not sure whether all necessary APIs have been implemented in Wine already (e.g. support for the latest DirectX version is certainly missing ...). But in principle, this should be one of the primary purposes of Wine: to allow for parallel development on Windows and Linux, using the Win32 API.
    Especially if you already have a code base on Windows, it would probably be much easier to use Wine to port your apps instead of rewriting everything to use different APIs. If you want to start from scratch anyway, maybe you should look also into APIs that are available on both platforms, like OpenGL ...

  • Are you worried that the Wine effort will falter now that Microsoft appear to be on the defensive and more developers are looking with interest at Linux?
    Not really. It is of course a good thing that more software developers and companies are now thinking of releasing not only Windows versions but also Linux versions of their products. Nevertheless, I think there will always remain a need for something like Wine, not only because some companies (e.g. Microsoft) will probably never release Linux software, but also because of the huge number of already installed Windows applications ...

  • Do you know anything about the Dreamcast/WinCE engine and is it likely that WinCE functionality will be ported to Linux? (whatever that functionality may be, links to text recognition libs, etc..)
    I haven't looked into WinCE at all. We'll see whether the relevant APIs will be included into Wine; as with all Wine development, this will happen as soon as someone feels the need to do so ;-)

  • Has the recent help from Corel helped much in development?
    Yes, definitely. They have been (publicly) involved now for about a year; a quick check of the ChangeLog reveals that about 15-20% of all CVS check-ins during that year was code provided by Corel (where the ratio appears to go up quite a bit lately ...).

  • Related, do you feel that open source projects can do _a lot_ of the ground work in a project but it may need a commercially focused development team with deadlines to solve a complex problem in a timely manner?
    Actually, I prefer the open source development style where you release something when it's finished, and not when some deadline arrives ;-)

And then John "Kate" pips in:

  • Could a current version of DirectX ever be implemented on Linux, or is it too much of a moving target?
    In Wine, at least parts of DirectDraw 4.0 are implemented; I'm not familiar enough with DirectX to be able to judge whether more recent versions pose any serious problems, or whether it's just work to be done ...

Other questions, various people ask:

  • What's on your desk right now?
    My thesis (which is supposed to be finished Real Soon Now ;-/) ...

  • What don't you leave home without?
    Depends on where I'm going :-/

  • Which cartoon character would you choose as a role model?
    I'm not really convinced cartoon characters would be ideal role models ;-)

  • If you are in Ireland, will you drop us an email, and come to one of the POTDs [Pub of the Day] with us, if we pay for the food & drink?
    Sure. :-)

  • What's your favourite colour?
    Blue.

  • What's your favourite film quote, and why?
    Sorry, no idea ...

  • Where's the best place to get good halibut in your area?
    Seriously.
    That's a hard question ... Sea food in general is not really what you'd call typical Bavarian fare; we do have excellent carp and trout from local fisheries, however.

  • Why WINE?
    Hmmm. I came across Wine more or less accidentally, when I was trying to run some Windows app on Linux, and it didn't work ;-) I started looking for the reason, and digging into the Wine code, and got hooked ... As I said above, what fascinates me most is that working on Wine, I finally get to understand how Windows really works (at least in parts); I got rather frustrated at times when using Windows because things wouldn't work, and you simply couldn't find out why ...

  • If you had to choose to work on some other project, what would it be?
    Besides Wine, I'm also involved in the FreeMWare project; other things I'd like to work on would be software tools like compilers, debuggers, disassemblers/decompilers/binary translators and the like ...

  • What did you use before Linux came along?
    On PCs? That would be DOS and later Windows, of course. I've been using several other machines as well, however (Sinclair ZX81, Commodore C 64, Atari ST); at the university I've been working with several Unix variants (mostly Solaris, but also AIX and HP/UX).

  • Do you find yourself reminiscing about using them?
    Hmmm. Those early machines really were fun ;-) I remember reading the complete ROM listing of the C64 line by line (those great Data Becker books ...), and knowing dozens of entry point addresses by heart, but (except for SYS 64738) I've forgotten everything again ...

  • Would you still use it, if Linux hadn't happened?
    That's hard to say; but I'd probably have continued using Windows (on PC hardware). The main point I dislike in Windows is that is tries so hard to prevent you from finding out what it really does.
    I don't really mind if something does not work (or even the occasional crash), but I find it extremely frustrating if there is a problem and you simply cannot find out what the reason is, because everything is hidden under so much semi- or undocumented layers.
    Even in DOS, while the available information was already sparse, you still had a chance to understand what it does, because the whole system was still simple in comparison. (E.g. I remember fixing a bug in COMMAND.COM of DOS 3.3 or so using just Soft-ICE and a hex editor ;-) But Windows is so huge and complex that it often becomes really impossible to understand what's going on, even if you try.
    So I probably wouldn't have cared to switch from Windows to another proprietary system, with similar obstacles. Maybe I'd've tried out one of the other free OSes if Linux hadn't come along, who knows? ...

  • What are you reading at the moment?
    • C.J. Cherryh: Rider at the Gate
    • David Zindell: War in Heaven
    • Iain Banks: A Song of Stone
    • Neal Stephenson: Cryptonomicon

  • Do you think the wine Project will be able to keep up with the development of MS Windows or will the gap between what windows can do and what Wine can do increase even further?
    It appears that currently the main focus of Windows development is not so much the OS core, but rather building more and bigger add-ons on top of it. This has (for Wine) the advantage, that (provided you own a Windows license) you can simply run those Windows DLLs on top of Wine. E.g. all the new common controls in Windows 98 are contained in COMCTL32.DLL, which you can simply run under Wine. On the other hand, KRNL386.EXE, whose functionality has to be implemented by Wine itself, just added one single additional API routine from Win95 to Win98 ...
    We'll see how much changes with Windows 2000. (There have already been reports that some of the Office 2000 apps appear to be close to working on Wine; we'll see how difficult that will prove to be ...)

  • Are you involved with the FreeMWare effort, if he is then there could be huge benefits to be gained in combinations of the two . . . you know cutting from an x machine into a windows VT on the same box and whatnot
    Yes, I also work on FreeMWare (not very much at the moment, unfortunately). In any case, FreemMWare is IMO not yet in a state where such specific features are important; we are still hammering out the basics. As FreeMWare as such is just a virtual machine that doesn't influence the operation of the OS running inside, something like what you are proposing would need to be done by an extra client app running inside the VM: say, a tool that queries the Windows clipboard, passes the data through some 'magic' channel outside the VM, where another tool converts the contents to X formats ... This format conversion is indeed something where Wine code might be used.

  • At the moment, WINE doesn't appear to have a clear goal for release. When do you see Wine 1.0 coming out?
    I agree that it would be important to have at least some kind of official alpha/beta test version (all current Wine releases are still pre-alpha, development only). But IMO there are still some core issues that have to be fixed first (address space separation, thread-safety issues, modularisation of Wine code into 'elfdlls', clean-up for non-Intel architecture ...). I hope that we'll be able to solve these problems and get a stable version out sometime next year. But as always with open source development, it won't be released before it's finished :-)

  • I managed one to get WineLIB to use a windows dll for VQF playing. Do you forsee people using WineLIB to write applications in Linux that need a closed source windows dll?
    Sure. IMO that's one of the main features of WineLib: you can use it to link native Windows DLLs into Linux apps. I think there are lots of examples where this could be useful; think of ODBC drivers, video codecs, etc. (That's why I recently added support for executing even 16-bit DLLs inside WineLib apps, because Win95 drivers tend to thunk down to 16-bit ...)

  • What sort of reaction have you had from Microsoft or have they ever responded to you directly?
    Well, I certainly have never directly contacted Microsoft on a matter related to Wine, and I don't think any of the other Wine developers has ...

  • How did you obtain information on closed Windows API? Did you guess an implementation from a help file?
    If there is information in a help file (e.g. the SDK/DDK documentation), and that information is complete, then we can simply implement the routine in question according to specs. It gets problematical when exported routines are not documented at all, or when the documentation is inaccurate or incomplete. In those cases I just try to find out what the routine does ...

  • Have you ever had a problem with Microsoft deliberatly hiding information from WINE developers?
    Well, as there hasn't been any direct contact between Microsoft and Wine developers AFAIK, you can't really say that ... On the other hand, there are certainly cases where the official documentation of routines is not quite complete, and there are other routines that are not documented at all. Whether this is done to hinder projects like Wine, or simply because MS doesn't want developers to use an interface they consider internal and might want to change in a later release, is a matter of interpretation, of course ;-)


As an aside, this interview was discussed on the Wine mailing list, the best archived mail to start reading from is this one.
 
Related:
Alan Cox
Andrea Arcangeli
Caolan McNamara
Gordon Matzigkeit
Michael Monty Widenius
Raph Levien


About the author, Ken Guest.

USERS COMMENTS


                                                                                                    

 

Hosted by HEAnet


Maintained by the ILUG website team. The aim of Linux.ie is to support and help commercial and private users of Linux in Ireland. You can display ILUG news in your own webpages, read backend information to find out how. Networking services kindly provided by HEAnet, server kindly donated by Dell. Linux is a trademark of Linus Torvalds, used with permission. No penguins were harmed in the production or maintenance of this highly praised website. Looking for the Indian Linux Users' Group? Try here. If you've read all this and aren't a lawyer: you should be!
RSS Version
Powered by Dell