##   List of maintainers for the ReactOS project

## This file purpose is to give newcomers to the project the responsible
## developers when submitting a pull request on GitHub, or opening a bug
## report on Jira.

## This file will notably establish who is responsible for a specific
## area of ReactOS. Being a maintainer means the following:
##  - that person has good knownledge in the area
##  - that person is able to enforce consistency in the area
##  - that person may be available for giving help in the area
##  - that person has push access on the repository
## Being a maintainer does not mean the following:
##  - that person is dedicated to the area
##  - that person is working full-time on the area/on ReactOS
##  - that person is paid
##  - that person is always available

## We have no supported (paid) areas in ReactOS.

## When submitting a pull request on GitHub and looking for reviewers,
## look at that file and ask for a review from some of the people (M, R
## - the most recently active in the area) listed in the matching area,
## also, assign the pull request to the M person. Don't ask for a review
## from all the listed reviewers.
## Also, when submitted a pull request on GitHub, rules defined in
## CONTRIBUTING.md apply. And if the maintainer is not available and
## reviewers approved the pull request, developers feeling confident
## can merge the pull request. Note that reviewers do not necessarily
## have push access to the repository.
## When submitting a bug report on Jira, if you want to be sure to have
## a developer with skills in that area, write @nick from M people.

## There should be one and only one primary maintainer per area.

## In case of 3rd party code (also refered as upstream), the maintainer
## is responsible of updating periodically the source code and of
## managing local patches. He is not here to upstream code on your behalf.
## As responsible, he may refuse a local patch if you did not try to
## upstream your changes.

## If you want to get listed in this file, either put yourself in the
## file and push it, or open a pull request. You can also ask a person
## who has push access to add yourself.

## This file uses GitHub's format for specifying code owners.
##  - Lines starting with # are comment lines.
##  - All other lines specify a path / file (wildcards allowed) followed
##    by the GitHub user name(s) of the code owners.
## See https://help.github.com/en/articles/about-code-owners

## Additionally it tries to use a similar format to the Linux kernel
## MAINTAINERS file within comments.
## Descriptions of comment section entries used here:
##  M: Primary maintainer. Assign them pull requests
##     Use the GitHub, Jira, Real Name format for entry, squash if
##     some are overlapping
##  R: Reviewers. Ask them for review on pull requests
##  S: Status, one of the following:
##     Maintained:  Someone is handling that area
##     Upstream: This is 3rd party code, synced in our tree
##     Abandoned:  No one is handling that code anymore
##  C: Comments


# 3rd Party File Format Libraries
#   M: ThFabba, Thomas Faber
#   S: Upstream
#   C: See media/doc/3rd Party Files.txt
/dll/3rdparty/libjpeg/                  @ThFabba
/dll/3rdparty/libpng/                   @ThFabba
/dll/3rdparty/libtiff/                  @ThFabba
/dll/3rdparty/libxslt/                  @ThFabba
/sdk/include/reactos/libs/libjpeg/      @ThFabba
/sdk/include/reactos/libs/libmpg123/    @ThFabba
/sdk/include/reactos/libs/libpng/       @ThFabba
/sdk/include/reactos/libs/libtiff/      @ThFabba
/sdk/include/reactos/libs/libxml/       @ThFabba
/sdk/include/reactos/libs/libxslt/      @ThFabba
/sdk/lib/3rdparty/libmpg123/            @ThFabba
/sdk/lib/3rdparty/libsamplerate/        @ThFabba
/sdk/lib/3rdparty/libxml2/              @ThFabba

# ACPI
#   M:
#   R: ThFabba, Thomas Faber
#   S: Maintained
/drivers/bus/acpi/  @ThFabba
/hal/halx86/acpi/   @ThFabba

# ACPICA Library
#   M: ThFabba, Thomas Faber
#   S: Upstream
/drivers/bus/acpi/acpica/   @ThFabba

# Apisets
#   M: learn-more, learn_more, Mark Jansen
#   S: Maintained
/dll/apisets/   @learn-more

# Application Compatibility subystem
#   M: learn-more, learn_more, Mark Jansen
#   S: Maintained
/dll/appcompat/         @learn-more
/dll/shellext/acppage/  @learn-more
/ntoskrnl/ps/apphelp.c  @learn-more
/sdk/tools/xml2sdb/     @learn-more

# Cache Manager
#   M: HeisSpiter, Heis Spiter, Pierre Schweitzer
#   S: Maintained
/modules/rostests/kmtests/ntos_cc/  @HeisSpiter
/ntoskrnl/cc/                       @HeisSpiter

# Cache Manager Rewrite
#   S: Abandoned
/ntoskrnl/cache/

# CMake Build Scripts
#   M:
#   R: learn-more, learn_more, Mark Jansen
#   R: ThFabba, Thomas Faber
#   S: Maintained
/sdk/cmake/
*.cmake

# File Patch API
#   M: learn-more, learn_more, Mark Jansen
#   S: Maintained
/dll/win32/mspatcha/    @learn-more

# File Systems
#   M: HeisSpiter, Heis Spiter, Pierre Schweitzer
#   S: Maintained
#   C: Also see "Upstream File Systems"
/drivers/filesystems/   @HeisSpiter
/sdk/lib/fslib/         @HeisSpiter

# Filesystem Filter Manager
#   M: gedmurphy, Ged, Ged Murphy
#   S: Maintained
/drivers/filters/fltmgr/ @gedmurphy

# File Systems Run Time Library
#   M: HeisSpiter, Heis Spiter, Pierre Schweitzer
#   S: Maintained
/modules/rostests/kmtests/ntos_fsrtl/       @HeisSpiter
/modules/rostests/kmtests/novp_fsrtl/       @HeisSpiter
/ntoskrnl/fsrtl/                            @HeisSpiter
/sdk/lib/drivers/ntoskrnl_vista/fsrtl.c     @HeisSpiter

# Freeloader
#   M:
#   R: tkreuzer, ThePhysicist, Timo Kreuzer
#   R: Extravert-ir, extravert34, Victor Perevertkin
#   S: Maintained
/boot/freeldr/freeldr/  @tkreuzer @Extravert-ir

# HAL / APIC
#   M: tkreuzer, ThePhysicist, Timo Kreuzer
#   S: Maintained
/hal/halx86/apic/   @tkreuzer

# HID Drivers
#   M:
#   R: ThFabba, Thomas Faber
#   S: Maintained
/drivers/hid/   @ThFabba

# Kernel
#   M:
#   R: HeisSpiter, Heis Spiter, Pierre Schweitzer
#   R: ThFabba, Thomas Faber
#   R: tkreuzer, ThePhysicist, Timo Kreuzer
#   S: Maintained
/ntoskrnl/  @HeisSpiter @ThFabba @tkreuzer

# mbed TLS
#   M: ThFabba, Thomas Faber
#   S: Upstream
#   C: See media/doc/3rd Party Files.txt
/dll/3rdparty/mbedtls/              @ThFabba
/sdk/include/reactos/libs/mbedtls/  @ThFabba

# Mount Point Manager
#   M: HeisSpiter, Heis Spiter, Pierre Schweitzer
#   S: Maintained
/drivers/storage/mountmgr/ @HeisSpiter

# Network Drivers
#   M:
#   R: ThFabba, Thomas Faber
#   S: Maintained
/drivers/network/   @ThFabba

# Intel PRO/1000 NIC family driver
#   M:
#   R: ThFabba, Thomas Faber
#   R: Extravert-ir, extravert34, Victor Perevertkin
#   S: Maintained
/drivers/network/dd/e1000/   @ThFabba @Extravert-ir

# Network File Systems kernel libraries
#   M: HeisSpiter, Heis Spiter, Pierre Schweitzer
#   S: Maintained
/sdk/lib/drivers/rdbsslib/  @HeisSpiter
/sdk/lib/drivers/rxce/      @HeisSpiter

# NTDLL
#   M:
#   R: HeisSpiter, Heis Spiter, Pierre Schweitzer
#   R: learn-more, learn_more, Mark Jansen
#   R: ThFabba, Thomas Faber
#   R: tkreuzer, ThePhysicist, Timo Kreuzer
#   S: Maintained
/dll/ntdll/ @HeisSpiter @learn-more @ThFabba @tkreuzer

# Printing
#   M: ColinFinck, Colin Finck
#   S: Maintained
/win32ss/printing/ @ColinFinck

# ReactOS API Tests
#   M:
#   R: learn-more, learn_more, Mark Jansen
#   R: ThFabba, Thomas Faber
#   S: Maintained
/modules/rostests/apitests/

# ReactOS Kernel-Mode Tests
#   M: ThFabba, Thomas Faber
#   S: Maintained
/modules/rostests/kmtests/  @ThFabba

# ROS internals tools
#   M: HeisSpiter, Heis Spiter, Pierre Schweitzer
#   S: Maintained
/modules/rosapps/applications/rosinternals/ @HeisSpiter

# Run-Time Library (RTL)
#   M:
#   R: HeisSpiter, Heis Spiter, Pierre Schweitzer
#   R: learn-more, learn_more, Mark Jansen
#   R: ThFabba, Thomas Faber
#   R: tkreuzer, ThePhysicist, Timo Kreuzer
#   S: Maintained
/sdk/lib/rtl/   @HeisSpiter @learn-more @ThFabba @tkreuzer

# Security Manager
#   M: GeoB99, George Bișoc
#   S: Maintained
/modules/rostests/kmtests/ntos_se/   @GeoB99
/ntoskrnl/se/                        @GeoB99

# Shell
#   M:
#   R: learn-more, learn_more, Mark Jansen
#   R: yagoulas, Giannis Adamopoulos
#   S: Maintained
/base/shell/explorer/   @learn-more @yagoulas
/base/shell/rshell/     @learn-more @yagoulas
/dll/win32/browseui/    @learn-more @yagoulas
/dll/win32/shell32/     @learn-more @yagoulas

# Shell Extensions
#   M:
#   R: learn-more, learn_more, Mark Jansen
#   S: Maintained
/dll/shellext/  @learn-more

# UniATA
#   M: ThFabba, Thomas Faber
#   S: Upstream
/drivers/storage/ide/uniata/   @ThFabba

# Upstream File Systems
#   M: HeisSpiter, Heis Spiter, Pierre Schweitzer
#   S: Upstream
/base/services/nfsd/                @HeisSpiter
/dll/np/nfs/                        @HeisSpiter
/dll/shellext/shellbtrfs/           @HeisSpiter
/drivers/filesystems/btrfs/         @HeisSpiter
/drivers/filesystems/cdfs/          @HeisSpiter
/drivers/filesystems/ext2/          @HeisSpiter
/drivers/filesystems/fastfat/       @HeisSpiter
/drivers/filesystems/nfs/           @HeisSpiter
/media/doc/README.FSD               @HeisSpiter
/sdk/lib/fslib/btrfslib/            @HeisSpiter
/sdk/lib/fslib/ext2lib/             @HeisSpiter
/sdk/lib/fslib/vfatlib/check/       @HeisSpiter

# USB Drivers
#   M: ThFabba, Thomas Faber
#   R: Extravert-ir, extravert34, Victor Perevertkin
#   S: Maintained
/drivers/usb/                           @ThFabba @Extravert-ir
/sdk/include/reactos/drivers/usbport/   @ThFabba @Extravert-ir

# Virtual CD-ROM
#   M: HeisSpiter, Heis Spiter, Pierre Schweitzer
#   S: Maintained
/modules/rosapps/applications/cmdutils/vcdcli/  @HeisSpiter
/modules/rosapps/applications/vcdcontroltool/   @HeisSpiter
/modules/rosapps/drivers/vcdrom/                @HeisSpiter

# Virtual Floppy Disk
#   M: HeisSpiter, Heis Spiter, Pierre Schweitzer
#   S: Upstream
/modules/rosapps/applications/cmdutils/vfdcmd/  @HeisSpiter
/modules/rosapps/drivers/vfd/                   @HeisSpiter

# Win32 file functions
#   M: HeisSpiter, Heis Spiter, Pierre Schweitzer
#   S: Maintained
/dll/win32/kernel32/client/file/    @HeisSpiter

# Windows Network File Systems functions
#   M: HeisSpiter, Heis Spiter, Pierre Schweitzer
#   S: Upstream
/dll/win32/mpr/wnet.c   @HeisSpiter

# Wine Tests
#   M:
#   R: ThFabba, Thomas Faber
#   S: Upstream
/modules/rostests/winetests/    @ThFabba

# zlib
#   M: ThFabba, Thomas Faber
#   S: Upstream
#   C: See media/doc/3rd Party Files.txt
/sdk/include/reactos/libs/zlib/ @ThFabba
/sdk/lib/3rdparty/zlib/         @ThFabba

# x64 related code (keep this at the bottom)
#   M: tkreuzer, ThePhysicist, Timo Kreuzer
#   S: Maintained
amd64/                                      @tkreuzer
/boot/freeldr/freeldr/arch/realmode/amd64.S @tkreuzer

# Translations
# This is the list of translation teams in ReactOS GitHub organization.
# If you want to be part of one - hit us at https://chat.reactos.org/
de-DE.*    @reactos/lang-german
es-ES.*    @reactos/lang-spanish
et-EE.*    @reactos/lang-estonian
fr-FR.*    @reactos/lang-french
he-IL.*    @reactos/lang-hebrew
hi-IN.*    @reactos/lang-hindi
hu-HU.*    @reactos/lang-hungarian
id-ID.*    @reactos/lang-indonesian
it-IT.*    @reactos/lang-italian
nl-NL.*    @reactos/lang-dutch
pl-PL.*    @reactos/lang-polish
pt-BR.*    @reactos/lang-portuguese
pt-PT.*    @reactos/lang-portuguese
ro-RO.*    @reactos/lang-romanian
ru-RU.*    @reactos/lang-russian
tr-TR.*    @reactos/lang-turkish
uk-UA.*    @reactos/lang-ukrainian
zh-CN.*    @reactos/lang-chinese
zh-HK.*    @reactos/lang-chinese
zh-TW.*    @reactos/lang-chinese
