Mozilla has officially moved Firefox's source code repository from Mercurial to GitHub, marking a significant shift in the browser's development infrastructure. This transition represents the culmination of a process that began in November 2023, when Mozilla first announced plans to migrate from their long-standing Mercurial-based workflow to Git.
The Firefox codebase can now be found at github.com/mozilla-firefox/firefox, though it's important to note that this change primarily affects the code repository itself. Mozilla will continue to use Bugzilla for issue tracking, Phabricator for code review, and their Taskcluster system for continuous integration.
Why the Switch to Git and GitHub?
Mozilla's decision to move to Git and GitHub addresses several long-standing challenges. For years, contributors faced significant friction when working with Mozilla's Mercurial repository. The Mercurial clone process was notoriously slow, often taking hours to complete, whereas the Git alternative could be completed in minutes. This difference in performance created a significant barrier to entry for new contributors.
I tried to contribute a few years ago. The mercurial clone was taking multiple hours. They already had an unofficial git, which took 15 minutes to clone.
Additionally, Mozilla faced increasing challenges in maintaining their version control infrastructure at scale. The VCS server needed to handle contributors from around the globe while maintaining high availability and security. Performance issues were particularly problematic, with contributors sometimes waiting tens of minutes for locks when pushing to repositories like try (used for running patches through CI).
What Changes for Contributors?
For contributors, the most immediate benefit is the ability to use standard Git workflows without requiring extensions like git-cinnabar, which was previously needed to work with Mozilla's repositories. This lowers the barrier to entry for developers already familiar with Git, which represents the vast majority of the development community today.
The repository structure has also been updated to align with standard Git conventions. The former mozilla-central branch has been mapped to main, and autoland (where commits land first and get backed out if they cause test failures) remains as a separate branch. The autoland branch is merged into main approximately twice a day when continuous integration tests pass successfully.
Key Changes in Repository Structure
- Former "mozilla-central" → Now "main" branch
- "autoland" branch maintained (where commits land first)
- Autoland merges to main ~twice daily when CI passes
- Pull requests disabled (automatically closed)
- Issues remain on Bugzilla
- Code review remains on Phabricator
- CI/CD remains on Mozilla's Taskcluster
What Doesn't Change?
Despite the move to GitHub, Mozilla is not adopting GitHub's full suite of features. Pull requests are effectively disabled through a GitHub action that automatically closes them with a message directing contributors to use Mozilla's established contribution channels. Issues remain on Bugzilla, and code review continues through Phabricator.
This approach allows Mozilla to benefit from GitHub's robust code hosting capabilities while maintaining their established development workflows and tools. The decision to keep these systems separate likely reflects both the scale of Mozilla's development process and the specialized requirements of browser development.
Firefox Repository Details
- New location: github.com/mozilla-firefox/firefox
- Stars: 1.6k
- Forks: 93
- Contributors: 6,073+
- Primary language breakdown:
- JavaScript: 28.1%
- HTML: 22.0%
- C++: 10.5%
- Python: 2.9%
- Kotlin: 2.5%
- Other: 5.5%
Community Reactions
The community response has been largely positive, with many developers welcoming the reduced friction for contributing. However, some have expressed concerns about the centralization of open source projects on GitHub, a platform owned by Microsoft. Others have questioned why Mozilla created a new organization (mozilla-firefox) rather than using their existing GitHub presence (github.com/mozilla).
Mozilla's choice of GitHub over self-hosted alternatives like Forgejo or Codeberg has sparked some debate about the trade-offs between convenience and control. While self-hosting would provide greater autonomy, GitHub offers unmatched visibility and familiarity for potential contributors.
The move to GitHub represents a pragmatic decision to reduce barriers to contribution while maintaining Mozilla's established development processes. As Firefox continues to face challenges in the browser market, streamlining the contribution process could help revitalize community involvement and ensure the project's long-term sustainability.
Reference: mozilla-firefox/firefox