

	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*/

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

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/

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

HTML rendering (Gecko)
M:	Jacek Caban <jacek@codeweavers.com>
F:	dlls/ieframe/
F:	dlls/mshtml/
F:	dlls/shdocvw/

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/

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*/

Printing
M:	Huw Davies <huw@codeweavers.com>
F:	dlls/localspl/
F:	dlls/wineps.drv/
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/

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

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>
F:	server/

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

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

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

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

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*/

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:	Sebastian Lackner <sebastian@fds-team.de>
P:	Vincent Povirk <vincent@codeweavers.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/
