Home / About Mozilla / Policies /

Super-Review Policy

The super-reviewers group is a set of senior, experienced hackers who can add value across the codebase in some specific ways separate from domain expertise.

A review from a super-reviewer is required for certain types of changes for all code residing in mozilla-central and comm-central (and all release branches based on those repositories) unless explicitly exempted in the Exceptions section below. Super-review is required in addition to a appropriate module owner or peer review. This means that one reviewer cannot provide both review and super-review on a single patch.

What needs super-review?

  • Significant architectual refactoring

    All changes that involve significant changes to how code works and interacts must be submitted for super-review. Code design is hard, and getting more input helps us in the areas of maintainability.

  • Any change to any API or pseudo-API

    APIs are not just XPCOM APIs, but include global JS utility functions and the like. Designing these better up front makes it easier to build things on top of these APIs, and helps us avoid compatibility-killing "API cleanup" down the road.

  • All changes that affect how code modules interact

    Any other changes that fall outside of the above rules, but affect how two or more code modules function, must have super-review.

Exceptions

Ted Mielczarek is the autoconf module owner for Unix, OS2, and other gmake-friendly platforms. His review is sufficient to get changes to those files checked in.

The NSPR module is mature, stable and has been used in Mozilla antecedents for years. Peer and module owner review is sufficient to get those files checked in.

The JavaScript engine is a self-contained area, with dependencies only on another self-contained area (NSPR). Module owner review suffices to change JS code.

Changes to module PSM require at least one thorough owner/peer review. If the person requesting the change is neither the owner nor a peer, a second person from the group of {PSM owners, PSM peers, super-reviewers} must approve the change. Changes to UI that is shared amongst all Mozilla applications (e.g. error messages, password prompts, information windows, certificate manager) shall be reviewed/approved by the Mozilla Foundation's User Experience team. Changes to UI in the primary application windows (e.g. Firefox preferences, security button in mail, status bar items) must be reviewed/approved by the respective application UI owners.

SeaMonkey specific changes (suite/ in comm-central) are covered by their own review policy.

Calendar specific changes (calendar/ in comm-central) do not require superreview as detailed by their policy.

In general, a well-owned module may make a request to super-reviewers to be exempt from super-review requirements.

See despot.cgi for more on modules, a.k.a. partitions.

Seeking a super-review?

Make sure the bug has appropriate review(s) and then pick an appropriate super-reviewer for the patch from the list below. Request review from that person using the patch flags on the bug: set the super-review flag to ? and fill in the reviewer's email address from the following list.

Meet the super-reviewers

Here are the strong hackers enlisted by mozilla.org for universal code review coverage:

  • David Bienvenu (bienvenu@nventure.com; mailnews)
  • Brendan Eich (brendan@mozilla.org; js, catch-all)
  • Benjamin Smedberg (benjamin@smedbergs.us; build, docshell, embedding, ipc, toolkit, xpcom)
  • Boris Zbarsky (bzbarsky@mit.edu; content, docshell, layout, netwerk, uriloader)
  • Mark Banner (bugzilla@standard8.plus.com; directory, mailnews)
  • Chris Jones (jones.chris.g@gmail.com; ipc, layers, plugins, xpcom)
  • Christian Biesinger (cbiesinger@gmail.com; docshell, netwerk, uriloader)
  • David Baron (dbaron@mozilla.com; content, layout)
  • Dave Townsend (dtownsend@mozilla.com; toolkit, browser)
  • Dan Mosedale (dmose@mozilla.org; directory, mailnews)
  • Dan Veditz (dveditz@mozilla.com; security, xpinstall, catch-all)
  • Gavin Sharp (gavin.sharp@gmail.com; browser, toolkit)
  • Peter Annema (jag@tty.nl; strings, xpfe, SeaMonkey Suite)
  • Jonas Sicking (jonas@sicking.cc; content, dom, xslt)
  • Johnny Stenback (jst@mozilla.org; content, docshell, dom, htmlparser, layout, plugins)
  • Josh Aas (joshmoz@gmail.com; widget, plugins, mac)
  • Kai Engert (kaie@kuix.de; security)
  • Mats Palmgren (mats.palmgren@bredband.net; layout, widget)
  • Mike Connor (mconnor@mozilla.com; services, browser, toolkit)
  • Mike Pinkerton (mikepinkerton@mac.com; Camino, widget)
  • Mounir Lamouri (mounir@lamouri.fr; content, dom)
  • Blake Kaplan (mrbkap@gmail.com; caps, content, dom, htmlparser, js, xpconnect)
  • Neil Rashbrook (neil@httl.net; composer, xpfe, SeaMonkey Suite)
  • Olli Pettay (Olli.Pettay@gmail.com; content, dom)
  • Stuart Parmenter (pavlov@pavlov.net; gfx, widget, image libraries)
  • Peter Van der Beken (peterv@propagandism.org; content, dom, xslt)
  • Robert Strong (robert.bugzilla@gmail.com; browser, toolkit)
  • Robert O'Callahan (roc@ocallahan.org; gfx, layout, layers)
  • Mike Shaver (shaver@mozilla.org; js, xpcom, xpconnect)
  • Vladimir Vukicevic (vladimir@pobox.com; gfx, widget, toolkit, storage, canvas, browser, layers)

Here is the list inverted to index by area, sorting by primary or most-expert reviewer. Super-review does not require domain expertise (module owners and peers supply that, usually), so the areas below are not pigeon-holes -- you can solicit a super-review from any reviewer on the list, but using area as a guide will get quicker results in the typical case.

browser
gavin.sharp@gmail.com, robert.bugzilla@gmail.com, dtownsend@mozilla.com mconnor@mozilla.com, vladimir@pobox.com
cache
vacant
caps
mrbkap@gmail.com
composer
neil@httl.net
content, layout
dbaron@mozilla.com, roc@ocallahan.org, bzbarsky@mit.edu, jst@mozilla.org (content), peterv@propagandism.org (content), jonas@sicking.cc (content), mats.palmgren@bredband.net (layout), mrbkap@gmail.com (content), Olli.Pettay@gmail.com (content), mounir@lamouri.fr (content)
directory
dmose@mozilla.org, bugzilla@standard8.plus.com
docshell, webshell
benjamin@smedbergs.us, jst@mozilla.org, bzbarsky@mit.edu, cbiesinger@gmail.com
dom
jst@mozilla.org, peterv@propagandism.org, jonas@sicking.cc, mrbkap@gmail.com, Olli.Pettay@gmail.com, mounir@lamouri.fr
editor
vacant
embedding
benjamin@smedbergs.us
event loop
vacant
gfx
pavlov@pavlov.net, vladimir@pobox.com, roc@ocallahan.org
htmlparser
jst@mozilla.org, mrbkap@gmail.com
image libraries
pavlov@pavlov.net
ipc
jones.chris.g@gmail.com, benjamin@smedbergs.us
js
brendan@mozilla.org, shaver@mozilla.org, mrbkap@gmail.com
layers
roc@ocallahan.org, jones.chris.g@gmail.com, vladimir@pobox.com
mailnews
bienvenu@nventure.com, dmose@mozilla.org, bugzilla@standard8.plus.com
netwerk
cbiesinger@gmail.com, bzbarsky@mit.edu
plugins
jst@mozilla.org, joshmoz@gmail.com jones.chris.g@gmail.com
security
dveditz@mozilla.com, kaie@kuix.de
services
mconnor@mozilla.com
strings
jag@tty.nl
toolkit
dtownsend@mozilla.com, robert.bugzilla@gmail.com, gavin@gavinsharp.com, benjamin@smedbergs.us, mconnor@mozilla.com, vladimir@pobox.com,
uriloader
cbiesinger@gmail.com, bzbarsky@mit.edu
widget
roc@ocallahan.org, pavlov@pavlov.net, joshmoz@gmail.com, mats.palmgren@bredband.net, mikepinkerton@mac.com
xpcom
brendan@mozilla.org, shaver@mozilla.org, benjamin@smedbergs.us, jones.chris.g@gmail.com
xpconnect
shaver@mozilla.org, brendan@mozilla.org, mrbkap@gmail.com
xpfe
neil@httl.net, jag@tty.nl
xpinstall
dveditz@mozilla.com
xul, xbl
jonas@sicking.cc
catch-all, when in doubt
brendan@mozilla.org, dveditz@mozilla.com