Each browser organization uses different tools and methodologies to develop their software, track issues, and record discussions. This article lists the tools and information sources for each of the major browsers that are helpful when writing documentation for or contributing compatibility data to MDN.
While Mozilla doesn't always make every detail easy to find, everything is out there, since essentially everything about the Firefox project is done in the open. You have complete access to the source code for every release of Firefox going all the way back to when it was first forked from Netscape way back in the old days. You have access to the Mozilla bug database. You have access to discussions on mailing lists, Mozilla's Discourse server, and IRC channels. You have access to the exchanges of review notes as updates to the software were created, discussed, and finally merged into the source repository.
The trick is isolating exactly what you need from all that information. You're being confronted with a large portion of what Mozillians wryly call "the Mozilla firehose." Instead of going over what you can learn from each of the various resources available to you, let's look at the things you need to be able to learn and identify pathways through the available resources that will find you the answers you seek.
In addition to the usual way of accessing the source code through Mercurial, there are other ways to look things up in the source code without having to keep a local copy handy.
The easiest way to quickly access source code is to use DXR, which lets you browse and perform powerful searches on the entire Mozilla source tree. You even have the option to switch to other trees, so you can go back and look at historical branches, such as
mozilla1.9.2, which corresponds to Firefox 3.6. You can also look at the code for each of the Firefox ESR releases.
Searches support special operators. For example, you can look for the word "
connect" but only considering WebIDL files using the search query "
Unified Firefox repository
Another useful way to access Firefox source code is the
mozilla-unified repository. This repository contains the source history of Firefox going back as far as Gecko 1.9, corresponding to Firefox 3. You can view the source code for a given version of Firefox by finding the Mercurial tag corresponding to the version that interests you. This is valuable because while DXR lets you look at a few extremely old versions of Firefox, it doesn't provide a way to look at most of them. This repository lets you look at every release.
The tag naming system changes here and there over time, so it can take a little hunting to find just what you're looking for. As a rule, look for tags such as:
Once you're looking at a particular release, you can use the usual tools to browse and search the code and use the changelog and pushlog options to see what changes went into the release.
The Searchfox web site provides another method you can use to search Firefox source code. Searchfox is a tool that indexes the Firefox repositories (most usefully, the main mozilla-central source code and, interesting, the WHATWG HTML specification is indexed as well).