

	List of Wine subsection maintainers

When submitting patches to Wine, the guidelines at
<http://wiki.winehq.org/SubmittingPatches> should be followed. This file
contains a list of maintainers for subsections of Wine. When submitting
patches, you may want to CC relevant people from this list. If you have
questions about your work in an area of Wine, you may find a list of
knowledgeable people here.

Many areas of Wine don't have a specific maintainer, although there may
be people with knowledge of those areas. If an area is not listed here
at all, you can use the git log to find developers working in that area
recently. Or, you can send a mail to wine-devel, but be aware that there
may simply be no one knowledgeable about that subject on the list.

This file uses a similar format to the Linux kernel MAINTAINERS file.
Descriptions of section entries used here:

	M: Primary maintainer. CC patches to: FullName <address@domain>
	P: Other knowledgeable person. FullName <address@domain>
	F: Files and directories with wildcard patterns.
	   One pattern per line.  Multiple F: lines acceptable.
	W: Link to additional information.

Maintainers List

		-----------------------------------

ARM, ARM64
M:	André Hentschel <nerv@dawncrow.de>
F:	dlls/dbghelp/cpu_arm*
F:	dlls/msvcrt/except_arm.c
F:	dlls/ntdll/signal_arm*
F:	programs/winedbg/be_arm*

Audio I/O
M:	Andrew Eikum <aeikum@codeweavers.com>
F:	dlls/dsound/
F:	dlls/dswave/
F:	dlls/mmdevapi/
F:	dlls/winealsa.drv/
F:	dlls/winecoreaudio.drv/
F:	dlls/wineoss.drv/
F:	dlls/winepulse.drv/
F:	dlls/winmm/
F:	dlls/x3daudio*/
F:	dlls/xapofx*/
F:	dlls/xaudio*/

Common Controls Library
P:	Nikolay Sivov <nsivov@codeweavers.com>
F:	dlls/comctl32/

Common Item Dialog
P:	Vincent Povirk <vincent@codeweavers.com>
F:	dlls/comdlg32/itemdlg.c
F:	dlls/comdlg32/tests/itemdlg.c

Direct2D
M:	Henri Verbeet <hverbeet@codeweavers.com>
F:	dlls/d2d*/

Direct3D
M:	Henri Verbeet <hverbeet@codeweavers.com>
P:	Stefan Dösinger <stefan@codeweavers.com>
P:	Józef Kucia <jkucia@codeweavers.com>
P:	Matteo Bruni <mbruni@codeweavers.com>
F:	dlls/d3d10*/
F:	dlls/d3d11/
F:	dlls/d3d8/
F:	dlls/d3d9/
F:	dlls/d3drm/
F:	dlls/ddraw*/
F:	dlls/dxgi/
F:	dlls/wined3d/

Direct3D helper libraries
M:	Matteo Bruni <mbruni@codeweavers.com>
P:	Henri Verbeet <hverbeet@codeweavers.com>
P:	Stefan Dösinger <stefan@codeweavers.com>
P:	Józef Kucia <jkucia@codeweavers.com>
F:	dlls/d3dcompiler*/
F:	dlls/d3dx10*/
F:	dlls/d3dx11*/
F:	dlls/d3dx9*/
F:	dlls/d3dxof/

DirectInput
P:	Andrew Eikum <aeikum@codeweavers.com>
F:	dlls/dinput/

DirectPlay
M:	Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
F:	dlls/dplayx/
F:	dlls/dpnet/
F:	dlls/dpwsockx/

DirectShow
P:	Andrew Eikum <aeikum@codeweavers.com>
F:	dlls/amstream/
F:	dlls/mciqtz32/
F:	dlls/qcap/
F:	dlls/qedit/
F:	dlls/quartz/
F:	dlls/strmbase/
F:	dlls/winegstreamer/
F:	dlls/wineqtdecoder/

DirectWrite
M:	Nikolay Sivov <nsivov@codeweavers.com>
F:	dlls/dwrite/

DotNet Runtime
M:	Vincent Povirk <vincent@codeweavers.com>
F:	dlls/mscoree/

GDI
M:	Huw Davies <huw@codeweavers.com>
F:	dlls/gdi32/

GDIPlus
M:	Vincent Povirk <vincent@codeweavers.com>
F:	dlls/gdiplus/

GPhoto Driver
M:	Marcus Meissner <marcus@jet.franken.de>
F:	dlls/gphoto2.ds/

HID support
M:	Aric Stewart <aric@codeweavers.com>
F:	dlls/hid/
F:	dlls/hidclass.sys/
F:	dlls/winehid.sys/

Input methods
M:	Aric Stewart <aric@codeweavers.com>
F:	dlls/imm32/

JavaScript
M:	Jacek Caban <jacek@codeweavers.com>
F:	dlls/jscript/

Mac OS X graphics driver
M:	Ken Thomases <ken@codeweavers.com>
F:	dlls/winemac.drv/

Media format conversion
M:	Andrew Eikum <aeikum@codeweavers.com>
F:	dlls/*.acm/
F:	dlls/msacm32/

Microsoft C Runtime
M:	Piotr Caban <piotr@codeweavers.com>
F:	dlls/msvc*/

MSI installers
M:	Hans Leidekker <hans@codeweavers.com>
F:	dlls/msi/

Netstat
M:	André Hentschel <nerv@dawncrow.de>
F:	programs/netstat/

Network
P:	Bruno Jesus <00cpxxx@gmail.com>
P:	Erich E. Hoover <erich.e.hoover@wine-staging.com>
F:	dlls/iphlpapi/
F:	dlls/ws2_32/

OLE Embedding
M:	Huw Davies <huw@codeweavers.com>
F:	dlls/ole32/clipboard.c
F:	dlls/ole32/datacache.c
F:	dlls/ole32/defaulthandler.c
F:	dlls/ole32/ole2.c
F:	dlls/ole32/ole2impl.c
F:	dlls/ole32/oleobj.c

OLE RPC
M:	Huw Davies <huw@codeweavers.com>
F:	dlls/ole32/compobj.c
F:	dlls/ole32/marshal.c
F:	dlls/ole32/rpc.c
F:	dlls/ole32/stubmanager.c
F:	dlls/ole32/usrmarshal.c

OLE Storage
M:	Vincent Povirk <vincent@codeweavers.com>
F:	dlls/ole32/filelockbytes.c
F:	dlls/ole32/memlockbytes.c
F:	dlls/ole32/stg_stream.c
F:	dlls/ole32/storage32.c
F:	dlls/ole32/storage32.h
F:	dlls/ole32/tests/storage32.c

OLE Typelibs
P:	Andrew Eikum <aeikum@codeweavers.com>
P:	Huw Davies <huw@codeweavers.com>
F:	dlls/oleaut32/typelib.c

OpenMP
M:	Sebastian Lackner <sebastian@fds-team.de>
F:	dlls/vcomp*/

Postscript Driver
M:	Huw Davies <huw@codeweavers.com>
F:	dlls/wineps.drv/

Printing
M:	Huw Davies <huw@codeweavers.com>
P:	Detlef Riekenberg <wine.dev@web.de>
F:	dlls/localspl/
F:	dlls/spoolss/
F:	dlls/winspool.drv/

Richedit
M:	Huw Davies <huw@codeweavers.com>
F:	dlls/riched20

RPC Runtime
P:	Huw Davies <huw@codeweavers.com>
F:	dlls/rpcrt4
F:	tools/widl

Threadpool
M:	Sebastian Lackner <sebastian@fds-team.de>
F:	dlls/ntdll/threadpool.c

Timezone database
M:	Sebastian Lackner <sebastian@fds-team.de>
F:	loader/wine.inf.in

Uniscribe
M:	Aric Stewart <aric@codeweavers.com>
F:	dlls/usp10/

URL Moniker
M:	Jacek Caban <jacek@codeweavers.com>
F:	dlls/urlmon/

VBScript
M:	Jacek Caban <jacek@codeweavers.com>
F:	dlls/vbscript/

Web Services
M:	Hans Leidekker <hans@codeweavers.com>
F:	dlls/webservices/

WebBrowser control
M:	Jacek Caban <jacek@codeweavers.com>
F:	dlls/ieframe/
F:	dlls/mshtml/
F:	dlls/shdocvw/

Windows Imaging Component
M:	Vincent Povirk <vincent@codeweavers.com>
F:	dlls/windowscodecs/
F:	dlls/windowscodecsext/

Windows Management Instrumentation
M:	Hans Leidekker <hans@codeweavers.com>
F:	dlls/wbemdisp/
F:	dlls/wbemprox/
F:	dlls/wmiutils/

Wine server, IPC
M:	Alexandre Julliard <julliard@winehq.org>
P:	Sebastian Lackner <sebastian@fds-team.de>
P:	Erich E. Hoover <erich.e.hoover@wine-staging.com>
F:	server/

Winemaker
M:	André Hentschel <nerv@dawncrow.de>
F:	tools/winemaker/

WinHTTP
M:	Hans Leidekker <hans@codeweavers.com>
F:	dlls/winhttp/

WinINet
P:	Jacek Caban <jacek@codeweavers.com>
F:	dlls/wininet/

WPcap
M:	André Hentschel <nerv@dawncrow.de>
F:	dlls/wpcap/

X11 Driver
M:	Alexandre Julliard <julliard@winehq.org>
P:	Vincent Povirk <vincent@codeweavers.com>
F:	dlls/winex11.drv/

XML parsing
M:	Nikolay Sivov <nsivov@codeweavers.com>
F:	dlls/msxml*/
F:	dlls/xmllite/

THE REST
M:	Alexandre Julliard <julliard@winehq.org>
P:	Alex Henrie <alexhenrie24@gmail.com>
P:	Andrew Eikum <aeikum@codeweavers.com>
P:	Huw Davies <huw@codeweavers.com>
P:	Jacek Caban <jacek@codeweavers.com>
P:	Sebastian Lackner <sebastian@fds-team.de>
P:	Vincent Povirk <vincent@codeweavers.com>
P:	Erich E. Hoover <erich.e.hoover@wine-staging.com>
F:	*
F:	*/

Stable Branch
M:	Michael Stefaniuc <mstefani@winehq.org>
W:	http://wiki.winehq.org/StableRules

Staging Branch
M:	Sebastian Lackner <sebastian@fds-team.de>
M:	Michael Müller <michael@fds-team.de>
P:	Erich E. Hoover <erich.e.hoover@wine-staging.com>
W:	https://wine-staging.com/
