A Glossary of Common Terms
Some areas maintain their own glossary:
Messaging system glossary (Nimbus, experiments, rollouts, etc.)
The Definitions section of the Pocket Guide: Shipping Firefox (release process terms such as uplift, merge day, backfill or backstop)
- a11y
An abbreviation for Accessibility.
- Actor
A pair of parent and child classes used to communicate between the parent process and content processes. JS actors are documented in JSActors.
- Artifact build
A build that downloads compiled C++ and Rust code from CI instead of compiling it locally, useful when only working on front-end code. See Artifact builds.
- Autoland
The integration repository where patches landed with Lando go first. Its changes are merged to firefox-main once CI is green.
- Backout
Reverting a patch that broke the build, caused test failures or regressions, usually done by a sheriff.
- Chrome
Usually the parts of the application UI outside of the rendered webpage. Code is also said to be “chrome-privileged” when it runs with the system principal, as opposed to web content.
- Content
Usually refers to webpages being rendered, may also be seen as “running in content” in which case it can include UI privileged code running in a process that is rendering webpages.
- Content process
A process rendering web content, with fewer privileges than the parent process. See the process model.
- e10s
Numeronym for Electrolysis, the project which moved web content out of the parent process into separate content processes.
- Fission
The project which isolates sites in separate processes (site isolation).
- Gecko
The browser engine of Firefox: networking, DOM, layout, graphics, etc.
- i18n
An abbreviation for Internationalization.
- IPDL
Inter-process communication Protocol Definition Language, used to describe the messages exchanged between processes. See IPDL.
- l10n
Numeronym for Localization: l, 10 chars, n.
- l10n-merge
Nickname for the process of merging
en-USand a particular localization into one joint artifact without any missing strings, and without technical errors, as far as possible.- Localizability
Enabling a piece of software to be localized. This is mostly externalizing English strings, and writing build support to pick up localized search engines etc.
- Localization
The process of creating content in a native language, including translation, but also customizations like Search.
- mach
The command line interface to the build system and most developer tools. See mach.
- mots
The tool used to manage the list of modules, their owners and peers. See mots.
- Parent process
The main, most privileged process of Firefox, which runs the browser UI. Also known as the chrome process.
- Pref
Short for preference, a named value used to configure behavior or toggle features. See libpref.
- Principal
The security context of a piece of code or document, used to perform security checks. The system principal is the most privileged one.
- Sheriff
A member of the team monitoring the trees, who stars intermittent failures, backs out breaking patches and merges autoland to firefox-main.
- SpiderMonkey
The JavaScript and WebAssembly engine of Firefox. See SpiderMonkey.
- Stylo
The CSS engine of Firefox, written in Rust and shared with Servo.
- Taskcluster
The CI system running builds and tests. See Taskcluster.
- Treeherder
The web interface showing the results of the CI tasks for each push.
- Try
A repository where developers can push patches to run them in CI without landing them. See Try.
- WebIDL
The language used to describe the interfaces exposed to web content. See WebIDL bindings.
- WebRender
The GPU-based rendering engine of Firefox, written in Rust.
- XPCOM
Cross Platform Component Object Model, the component system used through the Gecko codebase. See XPCOM.
- XPIDL
The interface description language for XPCOM interfaces. See XPIDL.
- XUL
A Mozilla-specific XML UI definition language that we are slowly phasing out and replacing with standard HTML.