Contribute/Firefox
Contributing to Mozilla Firefox
Step 0: Download and install the prerequisites
https://developer.mozilla.org/en-US/docs/Simple_Firefox_build
Step 1: Download the code
1.1 Mozilla Firefox development uses Mercurial for code management.
hg clone https://hg.mozilla.org/mozilla-central
This will create a folder called mozilla-central which holds all the necessary code to build firefox.
1.2 Create a config file
cd /path/to/mozilla-central touch .mozconfig
Add options to the file:
https://developer.mozilla.org/en/docs/Configuring_Build_Options
1.3 Build the code
make -f client.mk build
OR
./mach build
1.4 Run Firefox
./obj-[...]/dist/bin/firefox
2. Create a Bugzilla account
Go to https://bugzilla.mozilla.org/createaccount.cgi Enter your email address. Confirm it, and login to bugzilla.
3. Search for bugs / File bugs
Good first bugs:
https://bugzilla.mozilla.org/buglist.cgi?quicksearch=sw%3A[good%20first%20bug];list_id=5083823
Student projects:
https://bugzilla.mozilla.org/buglist.cgi?quicksearch=kw%3Astudent-project;list_id=5083824
Recommended:
For first timers, the best bugs are fixing warnings. The next level would be telemetry bugs (just search for "add telemetry" on bugzilla)
If a bug doesn't exist, file one.
4. Fix the bug
This might tricky, especially for newbies. If you don't know where you should start, first try posting on the bug and asking for more information. The fastest way to get some information is to ask on the #developers channel on irc.mozilla.org
5. Post the patch on bugzilla
https://developer.mozilla.org/en-US/docs/Developer_Guide/How_to_Submit_a_Patch
6. Get feedback
Make sure you follow the Coding Style: https://developer.mozilla.org/en-US/docs/Developer_Guide/Coding_Style
7. Mark the bug with Checkin needed
The patch will be merged by someone else as soon as possible.
8. Additional resources
MXR
MXR is the code browsing tool used by the Firefox.
http://mxr.mozilla.org/mozilla-central/
An alternative is DXR, which is supposed to be the a more evolved version of MXR.
MDN
Also known as Mozilla Developer Network, this is a good place to get more info about what you need to do.