Firefox Source Docs Logo

Overview

  • A Glossary of Common Terms
  • A Quick Guide to Mozilla Applications

Getting Started

  • Getting Set Up To Work On The Firefox Codebase
    • Contributing to Mozilla projects
    • Setting Up Your Machine
      • For Firefox Desktop
        • Building Firefox On Windows
        • Building Firefox on Windows using WSL
        • Building Firefox On macOS
        • Building Firefox On Linux
        • Building Firefox 32-bit On Linux 64-bit
        • Common Build Errors
      • For Firefox Android
      • For Firefox iOS
    • Getting Ready to Contribute
      • How To Contribute Code To Firefox

Working On Firefox

  • Working on Firefox
  • Bug Handling

Firefox User Guide

  • Firefox DevTools User Docs

Source Code Documentation

  • Governance
  • Firefox Front-end
  • DOM
  • Editor
  • Style system (CSS) & Layout
  • Graphics
  • Processes, Threads and IPC
  • Firefox DevTools Contributor Docs
  • Toolkit
  • SpiderMonkey
  • JS Loader
  • GeckoView
  • Fenix
  • Focus for Android
  • WebIDL
  • libpref
  • Networking
  • Remote Protocols
  • Services
  • Permissions
  • File Handling
  • Firefox on macOS
  • Firefox on Windows
  • Firefox AI Runtime
  • Accessibility
  • Media Playback
  • Code quality
  • Writing Rust Code
  • Rust Components
  • Gecko Profiler
  • Performance
  • Database bindings (SQLite, KV, …)
  • XPCOM
  • NSPR
  • Network Security Services (NSS)
  • Web Security Checks in Gecko

The Firefox Build System

  • Mach
  • Pushing to Try
  • Build System
  • Firefox CI and Taskgraph
  • Managing Documentation
  • Vendoring Third Party Components

Testing & Test Infrastructure

  • Automated Testing
  • Understanding Treeherder Results
  • Sheriffed intermittent failures
  • Turning on Firefox tests for a new configuration
  • Avoiding intermittent tests
  • Testing Policy
  • Configuration Changes
  • Browser chrome mochitests
  • Chrome Tests
  • Marionette
  • geckodriver
  • Test Verification
  • WebRender Tests
  • Mochitest
  • XPCShell tests
  • TPS
  • web-platform-tests
  • GTest
  • Fuzzing
  • Sanitizer
  • Performance Testing
  • Code coverage
  • Testing & Debugging Rust Code

Releases & Updates

  • Mozilla Update Infrastructure
  • Watershed Updates
  • Desupport Updates
  • Update Verify

Localization & Internationalization

  • Internationalization
  • Localization

Firefox and Python

  • mozbase
  • Using third-party Python packages

Metrics Collected in Firefox

  • Metrics
Firefox Source Docs
  • Getting Set Up To Work On The Firefox Codebase
  • Report an issue / View page source

Getting Set Up To Work On The Firefox Codebase

This page will help you get set up to build Firefox on your own machine.

Don’t hesitate to look at the Firefox Contributors Quick Reference to read a quick tutorial.

Thank you for contributing to Firefox

  • Contributing to Mozilla projects
    • What skills do I need?

Setting Up Your Machine

For Firefox Desktop

  • Building Firefox On Windows
  • Building Firefox on Windows using WSL
  • Building Firefox On macOS
  • Building Firefox On Linux
  • Building Firefox 32-bit On Linux 64-bit
  • Common Build Errors

For Firefox Android

Firefox for Android

For Firefox iOS

Firefox for iOS

Getting Ready to Contribute

  • How To Contribute Code To Firefox
    • Finding something to work on
      • Find a bug we’ve identified as a good fit for new contributors.
      • Fix that one bug
    • Fixing your bug
    • Getting your code reviewed
      • Following up and responding
    • Getting code into Firefox
    • Do it all again!
    • More information
Previous Next

Built with Sphinx using a theme provided by Read the Docs.