What would most aid WINE development?

Juan Lang juan_lang at yahoo.com
Thu Nov 17 21:05:58 CST 2005

> The Windows API is of course public, so my guess is that isn't
> a huge bar to creating WINE.

Unfortunately, you guess incorrectly.  While the API may legally be public
(the interface can't be protected, as far as we know,) it isn't always
documented.  MS uses undocumented APIs very, very frequently in its own
products, and I don't just mean in its applications:  parts of its API
depend on other, hidden parts of its API.  Even the parts that are
documented are not documented completely.  For example, many APIs take
32-bit flags parameters, some of whose meanings are documented.  But the
behavior for all possible values is not well-specified, nor are the return
values.  I continue this thread next:

> Is it simply the scope of the project?

This is a large part of the problem.  It's difficult to appreciate just
how large it is.  (There was a presentation about this once, maybe by
David Korn, but I've lost track of it.)  We can only learn the behavior
through experimentation, and so do application developers.  The
application developers depend on undocumented behaviors, so we have to
replicate them, including bugs.  The problem is, there are many more of
application developers (and Windows developers) than there are of us.

Also part of the problem, though I don't think it comes close to scale as
far as its impact, is that our architectures are different.  For example,
the code obfuscation tools (securom, safedisk et al) depend on device
drivers being loaded by ntoskrnl.exe.  This is related to the hidden
assumpmtions problem I described already, but sometimes we have to
implement a large amount of silliness that we didn't anticipate having to
do, or reimplement stuff that was already working for some apps.  ReactOS
can potentially avoid some of these issues, since they're copying much
more of Windows's architecture.

> Would open sourcing part of Windows help?

Only if it were done in a way that didn't encumber our ability to develop


Start your day with Yahoo! - Make it your home page! 

More information about the wine-devel mailing list