This sounded promising, so we asked CodeWeavers Founder and CEO Jeremy White to talk to us about the challenge, as well as the state of Wine and CodeWeavers. White had a lot to say about Wine, the state of the Linux desktop and more.
Yeah, and basically the challenge is that we’re trying to take Wine to that next level, we have for the last several years, really focused on a fairly small footprint of applications, making those work well and being glad and hoping that other things would work as well, collateral damage, as I like to call it.
Now what we’re doing is taking the next step, and that is taking the first step towards taking Wine to the promised land, where we want it to be, which is where it runs everything and the first step is before you can try an application, you’ve got to be able to install it.
What we’re doing right now, is we’ve spent a great deal of energy over the last year, sort of a lot of unsexy, dirty, nasty, grinding work that has the very sexy, exciting work that has the result that we believe many applications will install, and we believe that those that won’t install will be very easy to get install.
We’re very hopeful that with this, if we can get some community participation and community help that we can go from right now, where you have a 50-50 chance having an app install, maybe a bit less than that, to you’re pretty sure that your app will install.
We’re not making promises yet around your app working, okay? Let me be clear, it’s not as wonderful a thing as it sounds. But this is sort of step one, once we get everything to install, then hopefully the community of people who try Wine or try CrossOver will grow dramatically because suddenly the experience when you go to run an application is “Oh hey! It installs.” You can get in the game at least.
LM: Is this for just CodeWeavers Wine, or Wine stock from the project?
What we’re doing the installer challenge is really across the board, CodeWeavers Wine and stock Wine are really heart and soul the same thing, CodeWeavers Wine is essentially a supported version of Wine.
Now the people for whom we’re doing this, in sort of descending priority order, is first our own advocates, people who work with us and are already in our own community of people, who are helping us to test CrossOver, sort of we put them first, for taking lumps, we put their requests at the top of the queue.
And next, is an ISV, someone who owns a product, who can also hopefully, give us some insight into how it works, so that we’ve got a nice chance of it just coming out of the game working, and then we will take requests from just anyone. And we’ve also notified the Wine development community, the Wine developers [that they can notify us of issues].
So, short answer: Everybody, but there is a priority chain.
LM: How close do you think you are in terms of getting applications, all applications to run on Wine?
We’re still…the problem is that’s really hard to answer, because the honest answer is that Wine is never going to be 100 percent, identical to Windows, you’re not going to be able run every single Windows application on Wine, it’s never going to happen.
So then your question is, at what point is it good enough that it’s interesting or exciting, we focus on something like Microsoft Office and make them run, we think very, very well so they’re quite usable. We obviously hope to get most applications into that same state in the relatively near future, but perfection that’s hard. Sorry that’s a very waffling and weasly answer, but my hope is that people will look at Wine in a year from now, and say “gee, you know it runs most things very well.”
Where I want to get it to, the perception is that most of the time it doesn’t work, and I want to change that to, well most of the time it works. And I think we’re about a year away from that. I’m an optimist by nature, you might want to add a grain of salt to that.
LM: As part of the announcement, I noticed a mention of regression tests, which points to CXtest. Can you tell us a bit about that tool?
I’ll give you the very long answer…
If you look at Wine, Wine has always historically been marked alpha software, the reason it’s always been marked “alpha” is because Alexander has known there are fundamental things wrong with it, fundamental things that require re-engineering, so he doesn’t want to get people hooked on a particular flavor of Wine, because he wants the freedom to break it and then fix it the right way.
So, because of that, Wine unfortunately suffers fairly severely from regressions in this last year of work did a lot of breaking and fixing it the right way so there are a lot of regressions in Wine right now. There are a lot of things that work really well, but there are a lot of regressions as well.
So one of the things we’ve done with Wine over the last several years, is we’ve gotten very aggressive in writing regression tests. People are not allowed to submit a patch without also submitting a regression test for it.
Unfortunately, there are some tests, you can’t have an automated, non-visual regression test. CXtest is sort of the other piece of that puzzle, it actually drives the process of installing and running the application, and it can click here and click there and so forth and so on, and we can require that Wine run that test successfully as part of our regression test. So the whole idea behind CXtest is that it’s a tool to ensure that Wine, once we’ve made Wine run something, we can stake that into the ground and keep it running.
So that’s the very long answer.
So that is the other hook we’re offering, so we’re basically offering to provide free Wine services to our community, but what we’re requiring in exchange is that they help to write these regression tests.
LM: How difficult is it to come up with a regression test using it?
You know, the honest answer is it’s modestly difficult. and a lot of that is just because it’s having growing pains, the technology itself is pretty straightforward to use, there’s an automated script recorder, run a simple command and it records all your keystrokes and then your script is done.
because we’re just getting started, there’s still some glitches that are still being ironed out.
[It requires] someone who’s at least comfortable in a terminal and someone who can at least read a shell script, they don’t necessarily have to be a shell programmer, but those two skills are kind of required right now.
LM: Is this just for CodeWeavers Wine, or is it intended for other GUI programs like OpenOffice.org, Firefox, and so on?
It is intended to be a broadly useful tool, and it certainly could be used for OpenOffice. To be honest haven’t had anybody outside the CodeWeavers community pick up on it yet. That’s part of the goal is to drive some interest, it’s a great tool, people should use it, in my very humble opinion…
It’s GPL’ed, there’s no, no downside to someone coming and taking a look. I’m not hooking anybody on any drugs, we built a tool we needed, we’re trying to share it with the world we do hope in exchange we can get that community going so the world will help us build this tool and deploy this tool. And that’s the fundamental promise of open source: You make something open source because you’re willing to share the work you’ve done in hopes others will partipate.
LM: If we’re about a year away from most apps working on Wine, what happens when Longhorn comes out and all the Windows APIs change?
[Longhorn will be] a non-event for Wine. When the first application ships that uses a Longhorn API and won’t run on, say, Windows XP, that becomes an issue for Wine.
One of the very hard things we’ve had to do in this past year, for example, is a lot of the work we’ve done, Wine has historically, at least CrossOver has historically run in Windows 98 mode, and we’ve striven for good Windows 98 compatibility. We’ve now come to the point where we had to step up to Windows 2000 compatibility, which you understand is really the DOS to NT jump, which is a major jump, and that’s a lot of the work we’ve done in the last year, enabling that jump.
So we will face the same challenge with Longhorn, probably in about the same timeframe when people start writing Longhorn-only applications or needing those, then we’ll have to make the same sort of jump. So we’re probably not looking for another five years. This is 2005, and 2000 came out in 1999, so yeah…
The key point is, what really matters is the apps, not the OS. If people start adopting Longhorn in droves, then we’ll have a challenge.
LM: But the most popular app is Office itself. So when Longhorn is out, then MS will be pushing the Longhorn-only version of Office.
Just as with Office 2003, the whole reason we had to do this, because Office 2003 doesn’t run on Windows 98, we had to step up and bridge this divide, we weren’t forced by Windows 2000. You’re absolutely right, there will be a time when we have to confront this issue.
Fortunately for us, this will be when they release a version that doesn’t run on Windows XP.
LM: Which will make all of their users extremely happy.
Exactly. That’s what they just did is released a version that didn’t run on Windows 98, so five years after 98.
LM: What about running games on Wine?
You know, there’s some really good news coming there. There is a lot of work that’s been going into the Wine community going into games… Wine historically through much of its early life was driven by games development, most of the people who worked on it were interested in supporting games.
And then with TransGaming that energy kind of got sucked away. People sort of waited for TransGaming to give some of that work back. When it became clear it wasn’t coming back, then the beginnings of a game development community sprung up again, and now there’s a lot of very good developers, a lot of good work going in there.
The only challenge we see, is.. CrossOver 5 will likely be a better game platform than any version we’ve done before. The one remaining clearly substantial challenge is that a lot of games use copy protection systems that are fairly draconian that don’t operate properly in Wine.
And our next nasty unsexy horrid chore is going to be in the Fall to work on taking care of those, so that they run properly. It’s also a gaining factor in Photoshop CS and later versions of the Macromedia products, is that they use pretty severe DRM around their packages.
LM: Any chance that will put you afoul of the DMCA?
I don’t think so. We’ve studied this pretty carefully, we’re not trying to circumvent the copy protection, we’re actually trying to make it work.
So what people do right now when they run a game under Wine is that they go download a crack, we don’t advise that, we don’t feel comfortable with that.
We feel that the game manufacturers are making a mistake, we don’t feel that they’re wise [to put in copy protection], but it’s our job to honor their wishes and to implement the APIs that their programs have requested.
Unfortunately what that means is if a game has some nasty protection scheme it’s our job to make it just as nasty under Wine as it is under Windows.
LM: Are developers coming to you to verify that programs work in Wine?
Yes, absolutely. We’re working with a number of companies using Wine, CrossOver specifically, to provide a Linux version to their customers. People like Gupta technologies, and a couple of others… there’s a number of companies that have come to us and said, “our application works with Wine now, how do we go about making sure that it continues to work?”
For all that it’s bad for me from a business perspective, [because] it’s better when someone comes to me and pays me to make it work, it’s kind of exciting when some one comes to me and says “we’ve just been using Wine to run our application and it works great.”
LM: Any other major software developers?
I can tell you about AWR, their Microwave Office product, we’ve got a number of others but I can’t tell you about them.
I’ll be honest, we talk to a lot of very large companies who are very interested in this, and they are all still waiting for the Linux market to grow. What’s great about Wine and CrossOver in particular for them is it gives them a kind of “dip the toe in the water,” third-party removed solution where they can see if there’s a market.
You get these Linux guys who say, “if you only ported X to Linux we’d buy it.” They can say, “well it runs on CrossOver, let’s see how many you buy.” They can kind of put it to the test.
The reality is the Linux desktop is growing slowly, not feeling as compelled as I’d like them to feel.
It’s stagnated. We had a consortium together of people to kind of promote, a trade organization, we put on a number of trade shows, but we’re a volunteer organization and just didn’t get the kind of volunteer effort to put this forward.
And I think the Linux desktop stopped being a nasty stepchild so other people are pushing it forward now, it’s not clear that there’s a need for a separate consortium any longer. You’ve got people like Novell and Red Hat now finally pushing the Linux desktop, which they weren’t at the time we formed the consortium.
[There are projects] like Ubuntu, real energy out there now and a lot of interest from the press, and a fair amount of credibility, the Linux desktop is a real solution, it’s maybe not without its flaws, but it’s out there. It’s not setting the world on fire, but it’s real and it’s happening, I don’t think we need to persuade people that it’s real any more.
LM: Any plans for Wine on OS X on Intel?
Absolutely. That is something we’re very, very interested in, We’re trying gauge the level of demand that will be there, but we absolutely intend on having something ready by the time Apple ships.
It’s a tricky one for us, because you know, because they’re not going to ship anything for twelve months, right? And for us, 12 months is forever. So I can think about that in December.
We’ve got a Mac development system, we’ve got Wine up and running on it with quite a few flaws, and we’re figuring out how we’re going to make a product available.
There’s some real interesting choices there to how we go forward there, the deluxe, really hard, really awesome solution and then there’s sort of the low-key not as satisfying but perfectly workable solution and we’re debating which of those we’re going to follow.
LM: I seem to recall, the other day, an article about how Linux was going to be cut out of the content market by Intel with all the DRM features. How do those affect Wine?
Do they affect Wine? I don’t think they really do, if they affect Wine from the perspective, if they’re going to throttle the Linux market, it may well be that we can work with Intel to make their DRM [work on Linux on Wine]. I really hate that I just suggested that, I really would rather that DRM not exist. Sometimes what we do is really a dirty job. We let people run IE on Linux, and that’s just sick and wrong…
Nonetheless it’s very valuable to a lot of people. There are certain websites that just won’t run on anything but Internet Explorer. The same thing with the copy protection, when we crack that nut, it’s sick and wrong, but it’s our job to make the application work the way it wants to work, not to question what it does.
We have a sort of interesting philosophical divide, because I come naturally to feeling like a free software advocate, as opposed to an open source advocate, but yet it’s very clear to me that I’m not welcome in the free software camp in large part because our whole mission is to enable proprietary software to run. Nobody wants to run GPL’ed Windows applications on Wine, you know what I mean? Theyjust don’t, there’s no quote “legitimate” use of Wine. In Richard Stallman’s view the only “legitimate” use of Wine is to run GPL’ed Windows software. So everything we do is “illegitimate.”
In some ways it’s like we have this dirty, awful job, you now, but we sort of feel that somebody’s got to do it. I guess I feel pretty strongly that by enabling people to use what I call their legacy Windows applications we can allow people to come over to a free platform, and that by growing the market of the free platform, we can create a market force that means that future applications have to be Linux native and have to embrace the open source underpinnings.
LM: So what happens to CodeWeavers when that day comes?
The whole idea is that we get our revenue from folks who need support and want support. We do a lot of good work with our customers who are doing larger deployments of Linux and CrossOver. We do a lot of work with them to help in that deployment. We get service revenue from that. We also get a fair and growing amount of revenue from ISVs to make sure applications run on Wine properly.
The hope is that is how we will make our daily bread. We’re not trying to be a proprietary software company and only make our money on the exclusiveness of CrossOver. And again we can’t, because the heart and soul of it is Wine.
But the reality of it is that today we still make a lot of money from people coming and buying single copies of CrossOver…
LM: Say Microsoft finally capitulates and ships Office for Linux?
But then, what that does is validates Linux, so all these other guys who don’t have a Linux product are scrambling. And so I may lose a lot of money from people who want to run Office using our technology, but I hopefully will gain back treble-fold or ten-fold from the people who need to catch up to Microsoft.
I would welcome a Microsoft Office for Linux, that would accomplish a lot of my personal goals.
LM: How is CodeWeavers doing as a company?
We’re doing fine, I always wish we were doing better, there’s so much work to be done with Wine we could always use more cash. But we’re doing fine. We’re a little frustrated by the slow pace of Linux desktop growth. That’s been a challenge for us. We had hoped it would be a more explosive growth curve.
LM: Where do you see problems in getting Linux adopted?
A lot of it is inertia, I think. A lot of it is that fundamental catch-22 that device makers write device drivers for Windows because that’s all anybody uses, software developers write their applications to Windows because that’s all that anybody uses.
There’s nothing wrong with the Linux technology, Linux is a great technology. The code is good, a lot of the structures are good, but it’s the little things. You plug in a printer, it doesn’t work, you plug in a plotter and it doesn’t work. It’s not the fault of Linux. It’s because the ecosystem isn’t strong enough.
The same with the applications. You get Linux there are a lot of really good applications for Linux, but gee, you can’t get Family Tree Maker for Linux.
And obviously it’s the latter problem we’re trying to solve.
Also, in North America and a lot of first-ring countries, the advantages to Linux, are really not that dramatic. I mean, really the number one advantage is cost. The Fortune 100 company has the money for Windows, it’s just not that egregious. You get out to Brazil, you get out to India, suddenly it makes a bit more difference.
What they do is they pirate Windows, and it’s a heck of a lot cheaper than Linux. It’s an unfortunate reality, if everyone actually had to pay for their copies of Windows, you’d find a lot more people running Linux.
LM: I remember the big scare when they started the authorization program for XP, but I still know a ton of people who didn’t pay for XP and didn’t get it with their PC.
Yup. I don’t know what the numbers are, but I’d be very surprised if it wasn’t 50 percent. Particularly when you get outside the U.S.
The joke goes that you sell one copy of your software to China, so you’d better get a good price for it.
I do know that a lot of the WTO work is to try to improve control of that. I’m all for that, let’s have Microsoft licensing enforced. I’m totally for that, because I think that’d be a great driver for Linux.
I mean, you get a Linux PC with OpenOffice, has a dollar cost of zero and an elbow grease cost of non-zero, a real meaningful non-zero cost. A Microsoft PC with Office, that’s four hundred dollars. Maybe the elbow grease cost is less, but you get to countries like Brazil where elbows don’t cost that much, it maybe starts to make sense.
Fatal error: Call to undefined function aa_author_bios() in /opt/apache/dms/b2b/linux-mag.com/site/www/htdocs/wp-content/themes/linuxmag/single.php on line 62