================
LLDB Maintainers
================

This file is a list of the `maintainers <https://llvm.org/docs/DeveloperPolicy.html#maintainers>`_ for LLDB.

.. contents::
   :depth: 2
   :local:

Current Maintainers
===================
The following people are the active maintainers for the project. Please reach
out to them for code reviews, questions about their area of expertise, or other
assistance.

Lead Maintainer
---------------

Responsible for project as a whole, and for any areas not covered by a specific
maintainer.

| Jonas Devlieghere
| jonas\@devlieghere.com (email), jdevlieghere (GitHub), jdevlieghere (Discourse), jdevlieghere (Discord)

Components
----------
These maintainers are responsible for particular high-level components within
LLDB.

ABI
~~~
| Jason Molenda
| jmolenda\@apple.com (email), jasonmolenda (GitHub), jasonmolenda (Discourse), jasonmolenda (Discord)

| David Spickett
| david.spickett\@linaro.org (email), DavidSpickett (GitHub), DavidSpickett (Discourse), davidspickett (Discord)


Breakpoint
~~~~~~~~~~
| Jim Ingham
| jingham\@apple.com (email), jimingham (GitHub), jingham (Discourse)

CMake & Build System
~~~~~~~~~~~~~~~~~~~~
| Jonas Devlieghere
| jonas\@devlieghere.com (email), jdevlieghere (GitHub), jdevlieghere (Discourse), jdevlieghere (Discord)

| Alex Langford
| alangford\@apple.com (email), bulbazord (GitHub), bulbazord (Discourse), bulba_zord (Discord)

Commands
~~~~~~~~
| Jim Ingham
| jingham\@apple.com (email), jimingham (GitHub), jingham (Discourse)

Expression Parser
~~~~~~~~~~~~~~~~~
| Michael Buch
| michaelbuch12\@gmail.com (email), Michael137 (GitHub), Michael137 (Discourse)

| Jim Ingham
| jingham\@apple.com (email), jimingham (GitHub), jingham (Discourse)

Interpreter
~~~~~~~~~~~
| Jim Ingham
| jingham\@apple.com (email), jimingham (GitHub), jingham (Discourse)

| Greg Clayton
| gclayton\@fb.com (email), clayborg (GitHub), clayborg (Discourse)


Lua
~~~
| Jonas Delvieghere
| jonas\@devlieghere.com (email), jdevlieghere (GitHub), jdevlieghere (Discourse), jdevlieghere (Discord)

Python
~~~~~~
| Med Ismail Bennani
| ismail\@bennani.ma (email), medismailben (GitHub), mib (Discourse), mib#8727 (Discord)

Target/Process Control
~~~~~~~~~~~~~~~~~~~~~~
| Med Ismail Bennani
| ismail\@bennani.ma (email), medismailben (GitHub), mib (Discourse), mib#8727 (Discord)

| Jim Ingham
| jingham\@apple.com (email), jimingham (GitHub), jingham (Discourse)

Test Suite
~~~~~~~~~~
| Jonas Devlieghere
| jonas\@devlieghere.com (email), jdevlieghere (GitHub), jdevlieghere (Discourse), jdevlieghere (Discord)

| Pavel Labath
| pavel\@labath.sk (email), labath (GitHub), labath (Discourse)

Trace
~~~~~
| Walter Erquinigo
| a20012251\@gmail.com (email), walter-erquinigo (GitHub), wallace (Discourse), werquinigo (Discord)

Unwinding
~~~~~~~~~
| Jason Molenda
| jmolenda\@apple.com (email), jasonmolenda (GitHub), jasonmolenda (Discourse), jasonmolenda (Discord)

Utility
~~~~~~~
| Jonas Devlieghere
| jonas\@devlieghere.com (email), jdevlieghere (GitHub), jdevlieghere (Discourse), jdevlieghere (Discord)

| Pavel Labath
| pavel\@labath.sk (email), labath (GitHub), labath (Discourse)

ValueObject
~~~~~~~~~~~
| Jim Ingham
| jingham\@apple.com (email), jimingham (GitHub), jingham (Discourse)

Watchpoints
~~~~~~~~~~~
| Jason Molenda
| jmolenda\@apple.com (email), jasonmolenda (GitHub), jasonmolenda (Discourse), jasonmolenda (Discord)

File Formats
------------
The following people are responsible for decisions involving file and debug
info formats.

(PE)COFF
~~~~~~~~
| Saleem Abdulrasool
| compnerd\@compnerd.org (email), compnerd (GitHub), compnerd (Discourse), compnerd (Discord)

Breakpad
~~~~~~~~
| Zequan Wu
| zequanwu\@google.com (email), ZequanWu (GitHub), ZequanWu (Discourse)

| Pavel Labath
| pavel\@labath.sk (email), labath (GitHub), labath (Discourse)

CTF
~~~
| Jonas Devlieghere
| jonas\@devlieghere.com (email), jdevlieghere (GitHub), jdevlieghere (Discourse), jdevlieghere (Discord)

DWARF
~~~~~
| Adrian Prantl
| aprantl\@apple.com (email), adrian-prantl (GitHub), adrian.prantl (Discourse), adrian.prantl (Discord), Adrian Prantl#4366 (Discourse)

| Greg Clayton
| gclayton\@fb.com (email), clayborg (GitHub), clayborg (Discourse)

ELF
~~~
| David Spickett
| david.spickett\@linaro.org (email), DavidSpickett (GitHub), DavidSpickett (Discourse), davidspickett (Discord)

| Pavel Labath
| pavel\@labath.sk (email), labath (GitHub), labath (Discourse)

JSON
~~~~
| Jonas Devlieghere
| jonas\@devlieghere.com (email), jdevlieghere (GitHub), jdevlieghere (Discourse), jdevlieghere (Discord)

MachO
~~~~~
| Greg Clayton
| gclayton\@fb.com (email), clayborg (GitHub), clayborg (Discourse)

| Jason Molenda
| jmolenda\@apple.com (email), jasonmolenda (GitHub), jasonmolenda (Discourse), jasonmolenda (Discord)

PDB
~~~
| Zequan Wu
| zequanwu\@google.com (email), ZequanWu (GitHub), ZequanWu (Discourse)

Platforms
---------
The following people are responsible for decisions involving platforms.

Android
~~~~~~~
| Pavel Labath
| pavel\@labath.sk (email), labath (GitHub), labath (Discourse)

Darwin
~~~~~~
| Jim Ingham
| jingham\@apple.com (email), jimingham (GitHub), jingham (Discourse)

| Jason Molenda
| jmolenda\@apple.com (email), jasonmolenda (GitHub), jasonmolenda (Discourse), jasonmolenda (Discord)

| Jonas Devlieghere
| jonas\@devlieghere.com (email), jdevlieghere (GitHub), jdevlieghere (Discourse), jdevlieghere (Discord)

FreeBSD
~~~~~~~
| Ed Maste
| emaste\@freebsd.org (email), emaste (GitHub), emaste (Discourse), emaste (Discord)

Linux
~~~~~
| Pavel Labath
| pavel\@labath.sk (email), labath (GitHub), labath (Discourse)

| David Spickett
| david.spickett\@linaro.org (email), DavidSpickett (GitHub), DavidSpickett (Discourse), davidspickett (Discord)

Windows
~~~~~~~
| Omair Javaid
| omair.javaid\@linaro.org (email), omjavaid (GitHub), omjavaid (Discourse), omjavaid#9902 (Discord)

Tools
-----
The following people are responsible for decisions involving specific tools.

debugserver
~~~~~~~~~~~
| Jason Molenda
| jmolenda\@apple.com (email), jasonmolenda (GitHub), jasonmolenda (Discourse), jasonmolenda (Discord)

lldb-server
~~~~~~~~~~~
| David Spickett
| david.spickett\@linaro.org (email), DavidSpickett (GitHub), DavidSpickett (Discourse), davidspickett (Discord)

| Pavel Labath
| pavel\@labath.sk (email), labath (GitHub), labath (Discourse)

lldb-dap
~~~~~~~~
| Greg Clayton
| gclayton\@fb.com (email), clayborg (GitHub), clayborg (Discourse)

| Walter Erquinigo
| a20012251\@gmail.com (email), walter-erquinigo (GitHub), wallace (Discourse), werquinigo (Discord)

Former Maintainers
==================
The following people have graciously spent time performing maintainership
duties but are no longer active in that role. Thank you for all your
help with the success of the project!

| Kamil Rytarowski (kamil\@netbsd.org)
| Zachary Turner (zturner\@google.com)
