news.samba.org

Jeremy Allison Column Archives

The Low Point — a View from the Valley — Column 5

Travels with Wine

Not so much a view from a valley this month, more of a view from 35,000 feet. As it's conference season I've been traveling: to Australia, Germany and England all in the space of one month, so if I never see another airplane it will be too soon.

One of the most interesting conferences for me was the Wine Developers conference, held at the University in Stuttgart. Interesting because Wine is a technology that has been in development almost as long as Samba, and has to solve many of the same problems, those of interoperability with deliberately obfuscated Microsoft technologies. That's why the Samba developers were invited to WineConf 2005, which was arranged to be just before the Samba XP conference in Göttingen. In case you haven't come across it before, "Wine Is Not an Emulator", it's software that allows native Windows binaries to run unmodified on x86 processors on Linux (and other systems).

Wine, like Samba, is one of those projects that exists as a mirror of troublesome technology that wouldn't exist in the UNIX world without Microsoft ramming it down our throats. It doesn't really fit into the POSIX model, but is needed to allow Linux to exist in a Windows monopoly world. In talking to Jeremy White, CEO of CodeWeavers, the company that exists to commercialize Wine technology, I learned how important Wine is in allowing desktop Linux to gain a foothold in commercial environments.

Let's face it, for most of the things most people want to do with a computer, a Linux desktop is all you need. My family get by fine with Linux desktops (it certainly helps with remote maintainance) and the dirty secret of the Samba Team for at least the past five years is that none of us run Windows any more, for anything (Samba is tested on a host of Windows VMware sessions running on Linux if you must know). But commercial environments are different. Many of them have ended up stuck in a thick glue of procedures and processes that are bound together with custom, proprietary Windows applications (I still remember the shock when I first arrived at HP three years ago and found there was no way to submit expenses without using Internet Explorer on Windows; thankfully things are much better now).

For places like this, Wine is the only option available for them to have any hope of moving off Windows. Without the ability to run these legacy applications, many of which no longer have any source code available, a business is stuck on Windows, bound tighter to Microsoft than an SUV owner to their local petrol station. Like an SUV when petrol was cheap, Windows was convenient; but the ongoing costs from viruses and maintaining thousands of essentially single-user desktops are too much to bear.

Talking with Jeremy I learned that many extremely large companies are using Wine to support these old Windows applications on Linux, thus allowing a slow but steady migration off Windows desktops, without disrupting the business processes that depend on these applications. Of course, as is the case with Samba migrations, almost none of these companies will ever talk publicly about this, a fact that is a continuing irritation to Jeremy as the CEO of a company that exists to promote these migrations, as well as to the Samba Team. That's understandable though, as any publicity about a Wine or Samba migration brings a swift visit by Microsoft account representatives, bearing threats of auditing and dim mutterings about software patent infringement (never explicit, of course) as well as gifts in the form of free Windows licensing as well as free consulting time to return to the welcoming Microsoft fold. IT managers just don't need that hassle when trying to manage a migration.

The most amazing thing about Wine is that it has yet to reach what the developers officially consider a first stable release, a 1.0, and yet there are already two companies successfully offering commercial versions of the technology, CodeWeavers in the business environment, and TransGaming Technologies who exist to sell compatibility for Windows games on Linux (a disclaimer, I'm a TransGaming Technologies customer as I was desperate to play Half-Life 2 and as I mentioned above, I don't use Windows for anything).

It's a little unfair to compare Wine with Samba in terms of version numbers as we have a much simpler and defined task than the poor Wine developers are faced with. We merely match the bytes emitted over the network from a Windows client, whereas over the years of the existence of the Wine project they've had to move from supporting Windows 3.1 to Windows 95 to Windows XP and beyond. It's amazing to me that they keep going. But the amount of code they've produced is prodigious, with a relatively small number of dedicated people (led by the talented Alexandre Julliard) creating on average over 600 new lines of code per day, every day, over the lifetime of the project. My only fear for Wine is that when they announce a 1.0 version people will expect it to run any Windows application perfectly, they've done such a good job so far. They'll need to manage expectations very carefully as they reach their first stable milestone.

In addition to Wine, there were also presentations by the ReactOS project, which is using the Wine code base as the Win32 layer on top of their own Operating System kernel. Their new kernel is designed to be completely compatible at the device driver and system call level with Windows NT. If the Wine project could be compared to the Open Source car mentioned in a previous edition of LinuxUser and Developer, the ReactOS guys are designing an Open Source space ship !

They're completely insane of course. But this is the freedom that Open Source/Free Software gives to the individual developer. There are no frameworks you have to live within, no boundaries or legal restrictions how you can further develop the code. The work of thousands of people, representing billions of dollars of effort, is available for anyone to examine, learn from, and build crazy dreams upon.

It's learning about projects like this that inspire me and renew my faith in the Open Source/Free Software world. Here are a motley bunch of developers who are not only changing the world, they're taking on a problem that I personally would have considered impossible, and they're succeeding.