All the issues, bugs, work in progress patches, or updates related to Thunderbird, are listed on BugZilla, and are properly organized per Product, Component, and Status.
Creating an account is necessary in order to submit patches, leave comments, and interact with any other aspect of BugZilla. If you're currently using an
IRC username in the
#maildev channel, we recommend saving your profile name with the current format
Firstname Lastname (:username) in order to be easily searchable and allow the Thunderbird team to offer better support.
Use the Advanced Search section to find bugs you want to take care of, and be sure that the bug doesn't currently have any user listed as Assignee and the Status is set to
Making sense of the Thunderbird source code, and knowing where to look, will take some time. The code base is pretty big and if you never worked with
Custom Elements it can be overwhelming at first. We recommend using our code search engine, SearchFox, to inspect the source code and find snippets and references to help you out while investigating a bug.
Mercurial is pretty flexible in terms of allowing writing your own code and keeping it separate from the main code base. Based on your knowledge level and preference, you can choose between two different methods:
The majority of the Thunderbird developers use queues as they're easy to import and export, and avoid merging issues while pulling updates from upstream. For a first time contributor, bookmarks may be easier to get you started, but do not work well when working with multiple patches.
Once you finished taking care of your favorite bug and have your patch at hand, it is time to upload your patch. Open the patch file in your code editor and make sure it includes all your code changes, and your name and commit message at the top.
If everything looks good, you can access the selected bug in BugZilla and click on the Attach File link located above the first comment.
When uploading a patch to BugZilla, you can request a review from the user who opened the bug or another developer. Simply select the
? in the dropdown selector in the review option of the Flags section. An input field will appear which will allow you to type the name or username of the user you want to review your patch.