Although Firefox is largely written in C++, there are many many ways you can contribute without knowing C++.
Although Firefox (and other Mozilla products built from the Mozilla codebase) are written in C++, they have many components written in other languages:
- The build system is written in Make, shell, with bits of Perl and Python.
- Some components and third-party libraries (for example jemalloc) are written in C, not C++.
- Many tools (such as testing frameworks) that we use are written in Python and other high-level languages. There are many things we'd like done here that we are hard to prioritize over features, but that we'd love to get done.
To find work to do on these bugs, follow the main guide - nearly all the same steps are true, including how to find good bugs to work on, and the mentor system.
Mozilla has over 100 web properties and tools, nearly all of which are open source. We have resources for getting started with Mozilla's main web sites, plus a mostly-up-to-date list of web development projects that Mozilla is involved in, and we intend to improve this list soon. Use the list to find an interesting project, and figure out how to help.
The Mozilla github page contains over 100 projects that you can contribute to. These projects are developed using normal GitHub practices, so just fork one and get to work. We look forward to seeing your merge requests! These include many high-profile projects including Jetpack, Chromeless, F1 and many more.
Mozilla Mercurial repositories
Many Mozilla projects are in their own repositories at hg.mozilla.org. This shows the directory hierarchy of Mozilla projects, as well as which ones are currently maintained (hint - not all of them!). This includes many core Mozilla areas, including QA, RelEng, localization, webtools, core developers' user repos, and more.