LWN: How many people are employed with CodeWeavers? How many are local to St. Paul, Minnesota?
We have about 20 people, about 12 here in St. Paul, and about 8
scattered about the world, ranging from California to Siberia.
It's actually kind of fun - we use IRC for internal communication -
and I can chat with employees right before I got to bed
("good morning, Mike"), and then again after I wake up
("good night, Mike") <grin>.
LWN: On April 6th, CodeWeavers cut ties with Lindows.
What were the original goals of that partnership?
What was CodeWeavers looking for in such a partnership?
It has long been my mission to make Linux into a
truly Windows compatible operating system; helping
Lindows accomplish that was very exciting to me.
Lindows, on the flip side, was looking to inject
some energy into Wine and take it to a higher level,
so that they could have an exciting message for their
LWN: What did Lindows lack that you hope other companies can provide?
Well, if I had a wishing wand, I'd wish that Lindows
had as strong a commitment to Wine, and to a Free Wine,
as I do <grin>. I can't fault them for flagging in their
support - they provided a great boost to Wine as it was.
We are looking to partner with other companies that
can provide the same solution - a seamlessly Windows
compatible Linux system. The vision is simple: someday,
I want you to be able to go to a CompUSA store, buy any
piece of software on the shelf, take it home, pop in the
CD, and have it automatically install and run as simply
as it was designed to run (except of course, you'll
be running Linux <grin>).
At this point, the most important thing is for
Linux to gain momentum as a desktop solution. So, the
most important thing for me is for other Linux companies
to help grow the overall Linux desktop market.
LWN: What do you think about
I personally love AbiWord; it's probably my favorite
word processor. (But no, I don't use it; I use MS Word,
because I believe strongly in 'eating the dog food').
I also think that OpenOffice is great, and I firmly believe
that it is a Good Thing (TM) for the world. We need
word processing to be based on open standards, not proprietary ones.
LWN: Will a good Office clone remove the need for CodeWeavers' product?
No. I learned a long time ago when I was helping my mother
switch from an obscure desktop processor to Word: she didn't
want a useful word processor - she wanted *her* program.
Our goal is to make the transition to Linux less painful. If you
can shift to a Linux desktop and retain your comfortable MS Office
applications, then later you can explore OpenOffice and other
An organization can switch 1000 desktops, 950 of them
to OpenOffice, if they know that the 50 people with complex
Excel macros will be supported. Later, those 50 folks can
be shifted to other solutions.
It drives me nuts that a vocal minority of the
Linux community cannot understand this point. It does
not hurt GnuCash to have Quicken run on Wine, nor does it
hurt OpenOffice, in my opinion. If we make it possible for
another 1 million users to use Linux, then GnuCash has
another million potential converts. Further, the GnuCash
guys can convert the folks that only use Excel on Linux,
and the OpenOffice guys can convert the folks that really
only use Quicken.
Without Quicken and MS Office, those million users
will never convert to Linux.
It's all about choice - the more choices users have,
the better. If someone takes the position that without
Quicken they can't use an OS, then *the only way* they
will switch to Linux is through our efforts.
Further, by announcing support for Notes, we caused
a huge tidal wave of customer queries and outcry at Lotus.
I know for a fact that the senior management of Lotus takes the
Linux desktop very seriously entirely because of Wine.
Now, 10 years from now, when the Linux desktop is king,
and all applications come out first for Linux, *then* I
may need to find something new to do <grin>.
LWN: What else, besides CrossOver Office, are you working on?
We're about to announce a version of CrossOver Office
which will target the thin client and Unix workstation market.
We intend to compete directly with the Citrix/Microsoft
Terminal Server solution set.
[ Editor's note: This
announcement occurred last Tuesday. ]
LWN: What do you foresee will be CodeWeavers' champion product in 5 years from now?
I think in 5 years, CrossOver will still be our flagship,
but I'm hopeful that we will have a set of tools for managing thin
client environments that will be our rising start.
LWN: What exactly is CodeWeavers' role in the Wine group?
Well, I like to say that we're the leading corporate
supporter of the Wine project. We're pretty intertwined
throughout the Wine project. For example, Alexandre Julliard,
the maintainer of Wine, along with many of the top Wine
developers, work with us. Because we all come from the Wine
project, we all care passionately about the success and
the integrity of Wine. We also host the web site
and the application database. We've put a lot of energy
in to the Wine infrastructure - we built the appdb, set up
bugzilla, did a complete web site overhaul and wrote a bunch
of documentation that no one else wanted to do.
Sometimes this gets a bit tricky; we really don't want to be
seen as 'dominating' or 'forcing' the Wine project; instead, we want
to be seen as the biggest supporter of Wine. This got a bit
tense during the license change (I and Alexandre led a drive
to successfully switch Wine to the LGPL). There are still people
who feel that we forced this change, with the evil intent
of harming Transgaming. Yet, I feel that Alexandre
was more than circumspect on this issue. He and all of the
CodeWeavers developers felt that a switch to LGPL was
imperative, and yet he did not make the switch until he
felt a majority of the non CodeWeavers, non Transgaming
Wine developers were in favor of the change as well.
LWN: How many full time Wine developers (if any?) does CodeWeavers employ?
We employ about 12 full time Wine developers.
LWN: When will Wine be ready to run almost every single application?
Much too long for my taste <grin>. We're probably still
another 12 to 18 months out from 'perfection'. However, I think
that Wine is going to start picking up steam rapidly as the
year progresses, and I think Wine is going to be doing exciting things
on that 18 month journey.
LWN: You mentioned in
that there are 15,000 function calls in Windows, and that you write one per
day. What is the progress on that?
Hmm. I probably mischaracterized the situation. I think
what I tried to show was how hard the task was - that if we wrote
one per day, it'd take us forever to finish. For the record, there
are around 8,000 functions done in Wine. The good, and important, news
is that most applications only every use about 500-1000 API calls,
and we've got those covered. (It's kind of like English - the OED
is huge, but most people only use about 1,000 words on a regular basis).
LWN: How do you prioritize what be written?
Well, we have this dart board...<grin>
Seriously, we listen very carefully to our customers. We're hoping
to add a 'voting' ability for our customers to more directly prioritize us.
We then also weigh how close an application is to running, and
make the decision to support it based on those two factors.
However, we have a few priorities that stand above all
of the others. First and foremost, we look to solve problems
and improve the support for our already supported applications.
This gets a bit tricky, because solving Wine problems is very
hard, and often you suffer from the asymptopic effort problem:
the work required to close the last 10 bugs is more than the
work required to close the first 90 bugs. Second, we try
to provide a stable and reliable platform, so regressions are
the number one evil around here.
LWN: Can you give examples of some challenging functions you've had to write?
Where to start? <grin> Okay, I've already written a novel
length answer here, so I'll just give you my favorite undocumented
feature we had to deal with. It turns out that when Microsoft Office installs
its icons on the desktop, it uses a really cool feature - the icons
don't point to executables, but to a fancy COM based object. If,
for example, you didn't install Excel, you still get an Excel icon.
Then when you click on Excel, the fancy object can go out and install
Excel off the CD.
Of course, this fancy interface is *completely* undocumented,
so you won't see any other application using it. And, it was great
fun to bypass that problem.
to post comments)