The WineAPI wiki.

Francois Gouget fgouget at
Thu Aug 5 02:56:35 CDT 2010

On Wed, 4 Aug 2010, Max TenEyck Woodbury wrote:
> There several things that have to be coordinated however:
> - This is not just the API documentation. It includes a great deal of
>   information about the meta-structure of the Wine project. Easy access
>   to that meta-information might be one of the more useful aspects of
>   this sub-project.

I suspect some of that information is already present in the Wine 
Developer's Guide, in particular the section 'II. Wine Architecture':

So there the issue of where to put this information: in the developper 
guide, in the win32 api wiki or in a separate wiki. Even if it's in the 
win32 api wiki I think it could be set slightly apart.

Here's roughly what I have in mind:

   1. Win32 API
      1. Overview
      2. acledit API
         1. Overview
         2. Functions
            1. Func1
            2. Func2
         3. Interfaces
            1. Interface 1
               1. Method1
               2. Method2
            2. Interface 2
               1. Method1
               2. Method2
         4. Datastructures
            1. Struct1
            2. Struct2
            3. Enum1
      3. aclui API
   2. Standard Windows tools
      1. attrib command line options
      2. cacls command line options
   3. General platform-specific notes
      1. Windows 9x
         Talks about interaction with DOS, etc.
      2. Windows 95
         More Win 9x specific general notes
      3. Windows NT and greater
         Kernel stuff
      4. Wine
         1. Wine architecture documentation
         2. Wine-specific dlls
         3. Wine-specific tools like winebuild, winemenubuilder, etc)
      5. Mingw
         Stuff about Mingw, etc.
      6. ReactOS
         Stuff about ReactOS, etc.

> - The detailed information is, at least initially, coming out of the
>   Wine code. It is being generated using scripts. The scripts are very
>   likely to be rerun when a file in the Wine repository changes. It may
>   take a lot of effort to merge the new information with information
>   from other sources.

No matter what, if such a wiki is meant to be edited directly you won't 
be able to merge in data through scripts very long. It will soon have to 
stand on its own.

> - If the licenses are compatible, it should be possible to copy
>   articles between projects.

Yes, licensing is an important issue and one you must solve before 
accepting outside contributions.

To incorportate data from the Wine source it must be LGPL-compatible 
(e.g. GPL). To incorporate data from the Mingw or ReactOS source it must 
be compatible with their license (GPL?).

Even if copying articles from one project to another is technically 
legal, I think you cannot count on this as a means to avoid massive 
duplication of effort: as soon as you have over a hundred articles (once 
fully sutbbed out you should have way over 30000) the work involved for 
watching changes on each side and merging duplicate documentation will 
be overwhelming (and I suspect finding volunteers for it will be hard 

>   Also, the page tree structure is based on
>   the structure of the Wine repository.

The wiki should have its own structure, independent from Wine and 
anything else. I would also argue that the simpler it is, the less 
likely it is to change.

Francois Gouget <fgouget at>    
                     Avoid the Gates of Hell - use Linux.

More information about the wine-devel mailing list