Whether you're an old hand or just getting started, articles you can find starting from this page will help you while you're working on Mozilla development.
- Getting Started
- A step-by-step beginner's guide to getting involved with Mozilla.
- Working with Mozilla Source Code
- A code overview, how to get the code, and the coding style guide.
- Build Instructions
- How to build Firefox, Thunderbird, SeaMonkey, or other Mozilla applications.
- Development process overview
- An overview of the entire Mozilla development process.
- Managing multiple profiles
- When working with prerelease versions of Firefox, it's often helpful to have multiple Firefox profiles, such as one for each channel, or for different kinds of testing.
- Automated Testing
- How to run Mozilla's automated tests, and how to write new tests.
- How to submit a patch
- After getting your patch written, you need to get it checked into the tree. This article explains the review process and how to get your patch approved.
- Getting documentation updated
- How to ensure that documentation is kept up to date as you develop.
- Mozilla modules and module ownership
- This article provides information about Mozilla's modules, what the role of a module owner is, and how module owners are selected.
- Code snippets
- Useful code samples for a wide variety of things you might need to figure out how to do.
- Mozilla development strategies
- Tips for how to make the most of your time working on the Mozilla project.
- Find helpful tips and guides for debugging Mozilla code.
- Performance guides and utilities to help you make your code perform well (and to play nicely with others).
- The Mozilla platform
- Information about the workings of the Mozilla platform.
- Adding APIs to the navigator object
How to augment the
window.navigatorobject with additional APIs.
- Interface Compatibility
- Guidelines for modifying scriptable and binary APIs in Mozilla.
- Customizing Firefox
- Information about creating customized versions of Firefox.
- Virtual ARM Linux environment
- How to set up an ARM emulator running Linux for testing ARM-specific, but not necessarily platform-specific, code. Useful for mobile developers.
- Obsolete Build Caveats and Tips
- A place to put build tips which are no longer relevant to building the latest version of the code from main but are relevant when building old codebases.
- The Bugzilla database used to track issues for Mozilla projects.
- Browse and search the Mozilla source code repository on the Web.
- Next generation of searching Mozilla's source code. In active development.
- The Bonsai tool lets you find out who changed what file in the repository, and when they did it.
- The distributed version-control system used to manage Mozilla's source code.
- TBPL (Tinderbox Push Log)
- Tinderbox Push Log shows the status of the tree (whether or not it currently builds successfully). Check this before checking in and out, to be sure you're working with a working tree.
- Crash tracking
- Information about the Socorro crash reporting system.
- Performance tracking: Datazilla and Graphs
- See performance information for Mozilla projects.
- A tool to help perform static analysis of the Mozilla code by generating callgraphs automatically.
- Developer forums
- A topic-specific list of discussion forums where you can talk about Mozilla development issues.
- Mozilla Platform Development Cheat Sheet
- Brian Bondy's list of frequently referenced information for platform developers.
- Firefox development video tutorials
- Brian Bondy's video tutorials on Firefox development.
Document Tags and Contributors
Contributors to this page: Fantasai, greybax, jswisher, jdm, phenix, bskari, SJW, tessarakt3, Benjamin Smedberg, MattBrubeck, email@example.com, BrianDiPalma, Sheppy, fscholz, bgirard, Marsf, haythamfathey, Jesse, JaredWein, LewisCowper, ethertank, Ehsan, Archaeopteryx
Last updated by: SJW,