LogoLogo
  • About Thunderbird
  • Contributing to Thunderbird
    • Getting Started Contributing
    • Setting Up A Build Environment
    • Building Thunderbird
      • Windows Build Prerequisites
      • Linux Build Prerequisites
      • macOS Build Prerequisites
      • Artifact Builds
    • Codebase Overview
      • Account Configuration
      • Address Book
      • Chat Core
        • Notifications
        • Message Styles
        • Keyboard shortcuts
        • Chat Core Protocols
        • Contacts
      • Mail Front-End
    • Tutorials and Examples
      • Hello World Example
      • Thunderbird Live Development Videos
    • Fixing a Bug
      • Bug Triaging 101
        • Bug Status Classicification
        • Bug Types
        • Garbage Collection
        • Narrow the Scope
      • Using Mercurial Bookmarks
      • Using Mercurial Queues
      • Lint and Format Code
      • Using ESLint to Format Javascript Code
      • Try Server
      • Landing a Patch
      • Care and Feeding of the Tree
    • Testing
      • Running Tests
      • Adding Tests
      • Writing Mochitest Tests
  • Planning
    • Roadmap
    • Android Roadmap
    • Supported Standards
  • Add-on Development
    • Introduction
    • What's new?
      • Manifest Version 3
    • A "Hello World" Extension Tutorial
      • Using WebExtension APIs
      • Using a Background Page
      • Using Content Scripts
    • A Guide to Extensions
      • Supported Manifest Keys
      • Supported UI Elements
      • Supported WebExtension APIs
      • Thunderbird's WebExtension API Documentation
      • Thunderbird WebExtension Examples
      • Introducing Experiments
    • A Guide to Themes
    • Developer Community
    • Documentation & Resources
      • Tips and Tricks
    • Add-on Update Guides
      • Update for Thunderbird 128
      • Update for Thunderbird 115
        • Adapt to Changes in Thunderbird 103-115
      • Update for Thunderbird 102
        • Adapt to Changes in Thunderbird 92-102
      • Update for Thunderbird 91
        • Adapt to Changes in Thunderbird 79-91
      • Update for Thunderbird 78
        • Adapt to Changes in Thunderbird 69-78
      • Update for Thunderbird 68
        • Adapt to Changes in Thunderbird 61-68
      • How to convert legacy extensions?
        • Convert wrapped WebExtensions to modern WebExtensions
        • Convert legacy WebExtensions to modern WebExtensions
        • Convert legacy overlay extension to legacy WebExtension
        • Convert legacy bootstrapped extension to legacy WebExtension
  • Releases
    • Thunderbird Channels
    • Release Cadence
    • Uplifting Fixes
    • Feature Flags
    • Tracking Fixes for Releases
    • Contributing to Release Notes
Powered by GitBook
On this page
  • Getting Started
  • Improving documentation
  • User support
  • Beta testing
  • Filing bugs
  • Triaging bugs
  • Code patches
  • I'm stuck and need help!

Was this helpful?

Edit on GitHub
Export as PDF
  1. Contributing to Thunderbird

Getting Started Contributing

New contributor guide on how to contribute in various ways to Thunderbird.

PreviousAbout ThunderbirdNextSetting Up A Build Environment

Last updated 1 month ago

Was this helpful?

Getting Started

There are many ways to get involved in Thunderbird. You don't need to be a highly experienced software developer to be part of our welcoming contributor community. There are ways that anyone can participate so find an area that works for you and dive right in!

Improving documentation

Perfect documentation doesn't exist and there is always room for improvement. If you read through any of our documentation and notice a typo, or something that is unclear, or some section you feel is missing.. feel free to add it or tell us about it.

  • - Technical documentation on the Thunderbird source code, code architectures, etc. This set of documentation lives alongside the source code so in order to submit changes to it, you'll need a bugzilla account and patches are submitted to phabricator. .

  • - Developer documentation on non-code topics like how to build Thunderbird, the project's roadmap, add-ons, etc. This so in order to submit changes to it, you'll need a GitHub account and submit a pull request (.

  • - User support documentation for all Mozilla products, including Thunderbird and Thunderbird for Android. This set of documentation is modified using Markup, directly in the website. .

User support

Users of all levels will consult the vast set of . This user documentation location is a great place to learn, start discussions on the forum, or ask a question.

You can help by watching this space to answer questions. If you encounter a topic that is beyond your knowledge but you want to learn more, you can always to access the Thunderbird staff to assist you.

Beta testing

We always need more beta testers to let us know if something is not working (by filing bugzilla issues) before we release a given version. This is a great place to start contributing if you're not sure where to jump in.

Every month we have a new beta release and a new monthly release () so it is important to catch new issues quickly.

Read more about .

Filing bugs

If you are using any version of Thunderbird and you encounter something you feel is not working properly, let us know in a bugzilla issue.

Triaging bugs

When a new bug is filed, it's status is UNCONFIRMED. This means the issue has not been triaged (verified that the bug in fact does exist) by someone else other than the bug reporter. If an issue exists only for one person (i.e. the bug reporter), the problem is likely localized to that person's environment in some way and is not an actual Thunderbird code issue. That is why it is very helpful for another person (i.e. yourself) to see if the issue can be reproduced and make sure the issue has reproducer steps and information about the environment where it was reproduced (version of Thunderbird, operating system, etc.).

The number of people triaging new bugs is low and that makes it hard to keep up with the new incoming bugs every day. Your help would be greatly appreciated!

Code patches

If you want to fix a bug or add a feature, the way to do it is through direct code contributions.

I'm stuck and need help!

(select Thunderbird as the product). This helps us minimize the number of duplicate issues filed. If you find that your issue has already been filed by someone else, it is very helpful to us if you just take a quick look at the issue and add a comment that adds any additional information about your issue that might help us solve the problem.

If your issue has not been reported yet, .

.

.

Note that if you want to add a feature, it's best to first have a discussion about it with the Thunderbird developers to make sure that it fits with the project's direction. The best place for these discussions is .

If you are trying to contribute in any way and find yourself stuck and not sure how to proceed, please and tell us about it so we can help you.

Source docs
Read more about contributing to these docs here
Developer docs
developer documentation lives in GitHub
learn how to submit a GitHub pull request
User docs
Read more about contributing to knowledge base articles
Thunderbird knowledge base articles
join us on Matrix
read more about the release cadence here
running Thunderbird beta on our knowledge base article
Search if your issue already exists
file a new bugzilla issue
Here is a list of UNCONFIRMED bugs that need triaging
Read more about fixing bugs here
the developer mailing list on Topicbox
join us on Matrix