8 This file describes different groups of people who are, together, the
9 maintainers and developers of the GDB project. Don't worry - it sounds
10 more complicated than it really is.
12 There are four groups of GDB developers, covering the patch development and
15 - The Global Maintainers.
17 These are the developers in charge of most daily development. They
18 have wide authority to apply and reject patches, but defer to the
19 Responsible Maintainers (see below) within their spheres of
22 - The Responsible Maintainers.
24 These are developers who have expertise and interest in a particular
25 area of GDB, who are generally available to review patches, and who
26 prefer to enforce a single vision within their areas.
28 - The Authorized Committers.
30 These are developers who are trusted to make changes within a specific
31 area of GDB without additional oversight.
33 - The Write After Approval Maintainers.
35 These are developers who have write access to the GDB source tree. They
36 can check in their own changes once a developer with the appropriate
37 authority has approved the changes; they can also apply the Obvious
40 All maintainers are encouraged to post major patches to the gdb-patches
41 mailing list for comments, even if they have the authority to commit the
42 patch without review from another maintainer. This especially includes
43 patches which change internal interfaces (e.g. global functions, data
44 structures) or external interfaces (e.g. user, remote, MI, et cetera).
46 The term "review" is used in this file to describe several kinds of feedback
47 from a maintainer: approval, rejection, and requests for changes or
48 clarification with the intention of approving a revised version. Review is
49 a privilege and/or responsibility of various positions among the GDB
50 Maintainers. Of course, anyone - whether they hold a position but not the
51 relevant one for a particular patch, or are just following along on the
52 mailing lists for fun, or anything in between - may suggest changes or
53 ask questions about a patch!
55 There's also a couple of other people who play special roles in the GDB
56 community, separately from the patch process:
58 - The Official FSF-appointed GDB Maintainers.
60 These maintainers are the ones who take the overall responsibility
61 for GDB, as a package of the GNU project. Other GDB contributors
62 work under the official maintainers' supervision. They have final
63 and overriding authority for all GDB-related decisions, including
64 anything described in this file. As individuals, they may or not
65 be generally involved in day-to-day development.
67 - The Release Manager.
69 This developer is in charge of making new releases of GDB.
71 - The Patch Champions.
73 These volunteers make sure that no contribution is overlooked or
76 Most changes to the list of maintainers in this file are handled by
77 consensus among the global maintainers and any other involved parties.
78 In cases where consensus can not be reached, the global maintainers may
79 ask the official FSF-appointed GDB maintainers for a final decision.
85 All maintainers listed in this file, including the Write After Approval
86 developers, are allowed to check in obvious fixes.
88 An "obvious fix" means that there is no possibility that anyone will
89 disagree with the change.
91 A good mental test is "will the person who hates my work the most be
92 able to find fault with the change" - if so, then it's not obvious and
93 needs to be posted first. :-)
95 Something like changing or bypassing an interface is _not_ an obvious
96 fix, since such a change without discussion will result in
97 instantaneous and loud complaints.
99 For documentation changes, about the only kind of fix that is obvious
100 is correction of a typo or bad English usage.
103 The Official FSF-appointed GDB Maintainers
104 ------------------------------------------
106 These maintainers as a group have final authority for all GDB-related
107 topics; they may make whatever changes that they deem necessary, or
108 that the FSF requests.
110 The current official FSF-appointed GDB maintainers are listed below,
111 in alphabetical order. Their affiliations are provided for reference
112 only - their maintainership status is individual and not through their
113 affiliation, and they act on behalf of the GNU project.
115 Pedro Alves (Red Hat)
116 Joel Brobecker (AdaCore)
123 The global maintainers may review and commit any change to GDB, except in
124 areas with a Responsible Maintainer available. For major changes, or
125 changes to areas with other active developers, global maintainers are
126 strongly encouraged to post their own patches for feedback before
129 The global maintainers are responsible for reviewing patches to any area
130 for which no Responsible Maintainer is listed.
132 Global maintainers also have the authority to revert patches which should
133 not have been applied, e.g. patches which were not approved, controversial
134 patches committed under the Obvious Fix Rule, patches with important bugs
135 that can't be immediately fixed, or patches which go against an accepted and
136 documented roadmap for GDB development. Any global maintainer may request
137 the reversion of a patch. If no global maintainer, or responsible
138 maintainer in the affected areas, supports the patch (except for the
139 maintainer who originally committed it), then after 48 hours the maintainer
140 who called for the reversion may revert the patch.
142 No one may reapply a reverted patch without the agreement of the maintainer
143 who reverted it, or bringing the issue to the official FSF-appointed
144 GDB maintainers for discussion.
146 At the moment there are no documented roadmaps for GDB development; in the
147 future, if there are, a reference to the list will be included here.
149 The current global maintainers are (in alphabetical order):
169 His responsibilities are:
171 * organizing, scheduling, and managing releases of GDB.
173 * deciding the approval and commit policies for release branches,
174 and can change them as needed.
181 These volunteers track all patches submitted to the gdb-patches list. They
182 endeavor to prevent any posted patch from being overlooked; work with
183 contributors to meet GDB's coding style and general requirements, along with
184 FSF copyright assignments; remind (ping) responsible maintainers to review
185 patches; and ensure that contributors are given credit.
187 Current patch champions (in alphabetical order):
192 Responsible Maintainers
193 -----------------------
195 These developers have agreed to review patches in specific areas of GDB, in
196 which they have knowledge and experience. These areas are generally broad;
197 the role of a responsible maintainer is to provide coherent and cohesive
198 structure within their area of GDB, to assure that patches from many
199 different contributors all work together for the best results.
201 Global maintainers will defer to responsible maintainers within their areas,
202 as long as the responsible maintainer is active. Active means that
203 responsible maintainers agree to review submitted patches in their area
204 promptly; patches and followups should generally be answered within a week.
205 If a responsible maintainer is interested in reviewing a patch but will not
206 have time within a week of posting, the maintainer should send an
207 acknowledgement of the patch to the gdb-patches mailing list, and
208 plan to follow up with a review within a month. These deadlines are for
209 initial responses to a patch - if the maintainer has suggestions
210 or questions, it may take an extended discussion before the patch
211 is ready to commit. There are no written requirements for discussion,
212 but maintainers are asked to be responsive.
214 If a responsible maintainer misses these deadlines occasionally (e.g.
215 vacation or unexpected workload), it's not a disaster - any global
216 maintainer may step in to review the patch. But sometimes life intervenes
217 more permanently, and a maintainer may no longer have time for these duties.
218 When this happens, he or she should step down (either into the Authorized
219 Committers section if still interested in the area, or simply removed from
220 the list of Responsible Maintainers if not).
222 If a responsible maintainer is unresponsive for an extended period of time
223 without stepping down, please contact the Global Maintainers; they will try
224 to contact the maintainer directly and fix the problem - potentially by
225 removing that maintainer from their listed position.
227 If there are several maintainers for a given domain then any one of them
228 may review a submitted patch.
230 Target Instruction Set Architectures:
232 The *-tdep.c files. ISA (Instruction Set Architecture) and OS-ABI
233 (Operating System / Application Binary Interface) issues including CPU
236 The Target/Architecture maintainer works with the host maintainer when
237 resolving build issues. The Target/Architecture maintainer works with
238 the native maintainer when resolving ABI issues.
240 aarch64 --target=aarch64-elf ,-Werror
244 alpha --target=alpha-elf ,-Werror
249 arm --target=arm-elf ,-Werror
253 avr --target=avr ,-Werror
255 bpf --target=bpf-unknown-none
258 cris --target=cris-elf ,-Werror ,
259 (sim does not build with -Werror)
261 frv --target=frv-elf ,-Werror
263 h8300 --target=h8300-elf ,-Werror
265 i386 --target=i386-elf ,-Werror
267 ia64 --target=ia64-linux-gnu ,-Werror
268 (--target=ia64-elf broken)
270 lm32 --target=lm32-elf ,-Werror
272 m32c --target=m32c-elf ,-Werror
274 m32r --target=m32r-elf ,-Werror
276 m68hc11 --target=m68hc11-elf ,-Werror ,
277 m68k --target=m68k-elf ,-Werror
281 mep --target=mep-elf ,-Werror
284 microblaze --target=microblaze-xilinx-elf ,-Werror
285 --target=microblaze-linux-gnu ,-Werror
288 mips I-IV --target=mips-elf ,-Werror
291 mn10300 --target=mn10300-elf broken
292 (sim/ dies with make -j)
294 moxie --target=moxie-elf ,-Werror
299 nios2 --target=nios2-elf ,-Werror
300 --target=nios2-linux-gnu ,-Werror
305 or1k --target=or1k-elf ,-Werror
308 pa --target=hppa-elf ,-Werror
310 powerpc --target=powerpc-eabi ,-Werror
312 riscv --target=riscv32-elf ,-Werror
313 --target=riscv64-elf ,-Werror
317 rl78 --target=rl78-elf ,-Werror
319 rx --target=rx-elf ,-Werror
321 s390 --target=s390-linux-gnu ,-Werror
324 score --target=score-elf
325 sh --target=sh-elf ,-Werror
327 sparc --target=sparcv9-solaris2.11 ,-Werror
328 (--target=sparc-elf broken)
330 tic6x --target=tic6x-elf ,-Werror
333 v850 --target=v850-elf ,-Werror
335 vax --target=vax-netbsd ,-Werror
337 x86-64 --target=x86_64-linux-gnu ,-Werror
339 xstormy16 --target=xstormy16-elf
340 xtensa --target=xtensa-elf
342 All developers recognized by this file can make arbitrary changes to
345 The Bourne shell script gdb_mbuild.sh can be used to rebuild all the
351 The Native maintainer is responsible for target specific native
352 support - typically shared libraries and quirks to procfs/ptrace/...
353 The Native maintainer works with the Arch and Core maintainers when
354 resolving more generic problems.
356 The host maintainer ensures that gdb can be built as a cross debugger on
366 Core: Generic components used by all of GDB
386 Reverse debugging / Record and Replay / Tracing:
392 UI: External (user) interfaces.
403 Makefile.in, configure* ALL
405 mmalloc/ ALL Host maintainers
407 sim/ See sim/MAINTAINERS
409 readline/ Master version: ftp://ftp.cwru.edu/pub/bash/
411 Host maintainers (host dependant parts)
412 (but get your changes into the master version)
419 Authorized Committers
420 ---------------------
422 These are developers working on particular areas of GDB, who are trusted to
423 commit their own (or other developers') patches in those areas without
424 further review from a Global Maintainer or Responsible Maintainer. They are
425 under no obligation to review posted patches - but, of course, are invited
436 [Please use this address to contact DJ about DJGPP]
446 To get recommended for the Write After Approval list you need a valid
447 FSF assignment and have submitted one good patch.
708 Whenever removing yourself, or someone else, from this file, consider
709 listing their areas of development here for posterity.
711 Jimmy Guo (gdb.hp, tui) guo at cup dot hp dot com
712 Jeff Law (hppa) law at cygnus dot com
713 Daniel Berlin (C++ support) dan at cgsoftware dot com
714 Nick Duffek (powerpc, SCO, Sol/x86) nick at duffek dot com
715 David Taylor (d10v, sparc, utils, defs,
716 expression evaluator, language support) taylor at candd dot org
717 J.T. Conklin (dcache, NetBSD, remote, global) jtc at acorntoolworks dot com
718 Frank Ch. Eigler (sim) fche at redhat dot com
719 Per Bothner (Java) per at bothner dot com
720 Anthony Green (Java) green at redhat dot com
721 Fernando Nasser (testsuite/, mi, cli, KOD) fnasser at redhat dot com
722 Mark Salter (testsuite/lib+config) msalter at redhat dot com
723 Jim Kingdon (web pages) kingdon at panix dot com
724 Jim Ingham (gdbtk, libgui) jingham at apple dot com
725 Mark Kettenis (global, i386-elf, m88k-openbsd,
726 GNU/Linux x86, FreeBSD, hurd native, threads) kettenis at gnu dot org
727 Ian Roxborough (in-tree tcl, tk, itcl) irox at redhat dot com
728 Robert Lipe (SCO/Unixware) rjl at sco dot com
729 Peter Schauer (global, AIX, xcoffsolib,
730 Solaris/x86) Peter.Schauer at mytum dot de
731 Scott Bambrough (ARM) scottb at netwinder dot org
732 Philippe De Muyter (coff) phdm at macqel dot be
733 Michael Chastain (testsuite) mec.gnu at mindspring dot com
736 Michael Snyder (global)
737 Christopher Faylor (MS Windows, host & native)
738 Daniel Jacobowitz (global, GNU/Linux MIPS,
739 C++, GDBserver) drow at false dot org
740 Maxim Grigoriev (xtensa) maxim2405 at gmail dot com
741 Andrew Cagney (acting head maintainer,
742 release manager, global, MIPS, PPC, d10v,
743 d30v, sim, mi, multi-arch, unwinder) cagney at gnu dot org
752 Elena Zannoni (Global, event loop, generic
753 symtabs, DWARF readers, ELF readers, stabs
763 Folks that have been caught up in a paper trail: