HowItWorks:Thunderbird

From Wikibase
Jump to navigation Jump to search

Languages: English · français · Esperanto

Explains how things actually work — part of our technology dissections collection.

Thunderbird is a free and open-source, cross-platform personal information manager, regrouping email, calendar, contacts, RSS feeds, chat and newsgroups in one application.

Thunderbird?

Thunderbird stands out as a personal information manager with three promises:[1]

  • Privacy — "You are not the product." Thunderbird does not collect or sell user data, and users retain ownership of it.
  • Freedom — Thunderbird is free and open-source software; its license, the Mozilla Public License 2.0, "ensures that it will remain free forever".
  • Voice — anyone can get involved, and a contributor-elected council keeps Thunderbird "true to its values and mission".

Thunderbird runs on Windows, macOS and Linux.[2]

A short history

The history of Thunderbird is marked by four eventful time periods:

9 pre-releases and the 1.0 milestone (2003–2004)

The Thunderbird project was founded in 2003 by Mozilla Foundation under the leadership of Scott MacGregor, with the stated goal "to make communicating and collaborating better".[1]

The software went through 9 pre-releases (version 0.1-0.9), before reaching the 1.0 milestone at the end of 2004.[3]

According to the Mozilla foundation, a few key selling points makes Thunderbird 1.0 stand apart from contemporary alternatives:[2]

  • Cross-platform availability: Thunderbird 1.0 works right out-of-box for Windows, Mac OS X and Linux;
  • Adaptive junk mail controls: With a dynamic Bayesian filter learning from user action (marking and unmarking emails as spam), the more Thunderbird 1.0 is used, the more accurate its spam filtering becomes;
  • High customisability: With built-in support for custom themes and extensions, user can personalise Thunderbird 1.0 to their taste and even add new functionalities;
  • Easy migration: Sanctioned, guided built-in migration from Outlook, Eudora, and Netscape Communicator, the most popular commercial email clients at the time.

Transition to community stewardship(2012–2015)

On July 6, 2012, Mozilla chairman Mitchell Baker announced a new direction: Mozilla's leadership had concluded that "on-going stability is the most important thing" for Thunderbird and that "continued innovation in Thunderbird is not a priority for Mozilla's product efforts".[4] Mozilla would provide security updates through an Extended Support Release process, and the community could organize for ongoing development.[4]

The Thunderbird project later called the decision "both a blessing and curse": the community kept the project alive and contributed many features, but a volunteer-driven effort without a proper organization accumulated an inconsistent interface and mounting technical debt.[5]

In 2014, contributors established the Thunderbird Council, an elected body "functioning much like a board of directors for an open-source project": it oversees funds, approves budgets and shapes the product roadmap.[1]

In June 2015, Thunderbird 38 , released under the stewardship of the newly-elected Thunderbird Council, started shipping the calendar Lightening extension by default.[6]

Migration away from Mozilla infrastructure and creation of MZLA Technologies Corporation (2015–2020)

In late 2015, Mitchell Baker reopened a discussion about Thunderbird's future. According to him, Mozilla is happy to "disentangle the technical infrastructure" and assist the Thunderbird community, with the Mozilla Foundation serving as fiscal sponsor for donations.[7]

In 2017, on the advice of a report by Simon Phipps, former president of the OSI, comissioned by Mozilla, the Thunderbird Council announced that the Mozilla Foundation would remain the project's legal and fiscal home, but Thunderbird would migrate off Mozilla Corporation infrastructure and operate independently to continue serving its "over 25 million users" worldwide.[7]

In 2020, the project was transferred to MZLA Technologies Corporation, a new for-profit subsidiary fully-owned by the Mozilla Foundation. Cited reasons include easier recrutement, simpler governance, and possibilities to open commercial partnerships and offer paid services.[8] Essentially, the controversial move was justified as a necessary evil to ensure that Thunderbird remains financially sustainable as an open-source project.

Supernova rebuild, official Android support, and monthly releases (2023–2026)

In February 2023, the Thunderbird project announced plans for a ground-up rework with three objectives:[5]

1. make the code base leaner and remove technical debt; 2. rebuild the interface from scratch; 3. switch to a monthly release schedule.

Five months later, in July 2023, Thunderbird 115 "Supernova" shipped. Introducing a card view for the message list, a dynamic unified toolbar, a redesigned application menu, sortable folder modes, a tags view, and improving keyboard and screen-reader accessibility,[9], it is "a modernized overhaul of the software, both visually and technically".[9]." according to its release notice. Ryan Sipes, Thunderbird's Product and Business Development Manager, said the release marked "the beginning of a new era for Thunderbird".[9]

In October 2024, Thunderbird Android, developed from K-9 Mail, made its first stable release, further fulfilling the cross-platform promise of Thunderbird.[10]. As of September 2026, iOS is the only major operating system not yet officially supported by Thunderbird.

Today (2026-09), Thunderbird's release schedule has become extremely regular: one new major version every 4 weeks, and one Extended Support Release per year, typically in July.[11] Development of Thunderbird for iOS, described in the July 2026 progress report as the project's "first built from scratch" app, continues actively.[12]

Components and interactions

Written in C++, JavaScript, CSS and XHTML,[5] Thunderbird is built on the Mozilla platform. As the team describes it: "Thunderbird is literally a bunch of code running on top of Firefox. All the tabs and sections you see in our applications are just browser tabs with a custom user interface."[5] The Mozilla platform supplies multi-OS support, the Gecko web renderer, the SpiderMonkey JavaScript engine, as well as security patches and extension support from the Firefox release cycle..[5]


Source code organization

Thunderbird's source code repository is split into multiple sub-directories by functionality: [13]

  • mail/ — the Thunderbird-specific frontend: user interface files, shared JavaScript modules, and components such as the account setup wizard, the address book front end, the composition window, the chat front end and the preferences tab.
  • mailnews/ — "source code specific to the Mail and Newsgroups part of Thunderbird and SeaMonkey": the protocol and storage backend.
  • calendar/ — the calendar component, formerly known as the Lightning extension.
  • chat/ — the chat component, with one subdirectory per protocol; related code also lives in mail/components/im.
  • build/, testing/, taskcluster/ and third_party/ — build, test and vendored-code infrastructure.

Addons

Since Thunderbird 78 (July 2020 release), all add-ons must be built within Thunderbird's MailExtension framework,[14] which uses regular WebExtension technology via standard JavaScript, CSS and HTML. They interact with Thunderbird through dedicated extensions APIs, which are generally stable across releases and subjected to user confirmation for access.[15]

Thunderbird in action

Account setup

Creating an account is a wizard flow. The user enters their name, email address and password; Thunderbird queries the ISPDB (Internet Service Provider Database), a Thunderbird-run service "used for auto configuring users' email accounts", to auto-fill the incoming and outgoing server settings.[7]

The mail round trip

Incoming mail: Thunderbird connects to the server over IMAP or POP3[2], downloads new messages into the profile, updates the message database, and notifies the interface. Outgoing mail goes out over SMTP.[2]

Key design decisions

Riding the Firefox platform

The founding architectural decision: build the mail client on top of the Mozilla platform rather than from scratch. Thunderbird inherits cross-platform support, the Gecko renderer, SpiderMonkey, networking and security patches from Firefox.[5] The trade-off is a constant chase: with a bit more than a dozen core developers against Firefox's hundreds, "how many times per week things suddenly break in Thunderbird because a C++ interface was renamed, or an API was deprecated, or a building library was upgraded".[5] This upstream churn, plus years of volunteer-driven additions, produced the technical debt that motivated the Supernova rebuild.[5]

From XUL to web technologies

Thunderbird's interface was historically built with Mozilla-specific technologies: XUL, XBL and XPCOM. As early as 2017 the project's long-term plan was to migrate to "web technologies", meaning HTML and pure JavaScript, while remaining an installable desktop application.[7] The Supernova release (2023) was the visible first step of that rework: "we reworked some of the oldest parts of our code base with the goal of modernizing them to make maintenance and extensibility easier".[9][5]

Community governance, corporate backing

Thunderbird pairs an unusual governance structure with an equally unusual corporate one. The Thunderbird Council, elected by contributors since 2014, steers strategy and budget;[1] development and operations are run by MZLA Technologies Corporation, a for-profit subsidiary of the not-for-profit Mozilla Foundation, which gives the project "the flexibility to offer optional paid services to sustain Thunderbird's development far into the future".[1][8] After the uncertainty of the 2012 community handover and the 2015–2017 search for a home, this structure gave the project paid staff, a roadmap and a release cadence.[5][7]

Stable, permissioned add-on APIs

Thunderbird's extensibility has long been a selling point, but legacy XUL/XPCOM add-ons broke with nearly every release. The project's answer was to adopt WebExtensions and call them MailExtensions: stable APIs, permission prompts, no forced per-release updates.[15] Since Thunderbird 78, only MailExtensions are supported, and "restartless add-ons and non-restartless legacy add-ons using XUL overlays are no longer supported".[14]

A predictable release train

Thunderbird follows a 4-week release cycle: a new Daily (nightly) major version begins every 4 weeks, the code merges into Beta, then into the monthly Release, with point releases as needed 2 weeks after.[11] The ESR branch is refreshed once a year, typically in July, and receives point releases as needed every 2 weeks.[11] This replaced the earlier yearly-major model which, combined with upstream Firefox changes, at times left Thunderbird unable to build or release "for months at a time".[5]

Open standards and privacy

Thunderbird talks to the outside world through open standards: IMAP, POP3, SMTP, NNTP and RSS for content, CalDAV and iCalendar for the calendar, and open chat protocols.[2][13] The project's privacy stance is uncompromising: "You are not the product", it does not collect or store user data unless asked, and it will never sell it.[1]

Try it yourself

The current version can be checked against Mozilla's official product-details API (verified live on 2026-09-01):

# What is the latest stable release right now?
curl -s https://product-details.mozilla.org/1.0/thunderbird_versions.json

Output (verified live on 2026-09-01):

{
    "LATEST_THUNDERBIRD_ALPHA_VERSION": "54.0a2",
    "LATEST_THUNDERBIRD_DEVEL_VERSION": "156.0b1",
    "LATEST_THUNDERBIRD_NIGHTLY_VERSION": "157.0a1",
    "LATEST_THUNDERBIRD_VERSION": "154.0",
    "THUNDERBIRD_ESR": "140.14.1esr",
    "THUNDERBIRD_ESR_NEXT": "153.1.1esr"
}

Install the official Flatpak, which is "packaged and maintained by the Thunderbird team":[9]

# Install from Flathub
flatpak install flathub org.mozilla.Thunderbird
# Launch it
flatpak run org.mozilla.Thunderbird

Or use your distribution's package:

# Debian / Ubuntu
sudo apt install thunderbird

All of Thunderbird's data lives in a single profile directory (on Linux, ~/.thunderbird): preferences, mail folders, address books and the message database. Migrating to a new machine is "really just a matter of copying the profile folder to the right place on the new machine".[8]

References

  1. ↑ ↑ ↑ ↑ ↑ ↑ MZLA Technologies Corporation. (n.d.). Who We Are (Webpage). In Thunderbird (Website).
  2. ↑ ↑ ↑ ↑ ↑ Mozilla Foundation. (2004). Mozilla Thunderbird 1.0 email client has landed (Webpage). In Mozilla Press Center (Website).
  3. ↑ MZLA Technologies Corporation. (n.d.). Thunderbird Releases (Webpage). In Thunderbird (Website).
  4. ↑ ↑ Baker, M. (2012). Thunderbird: Stability and Community Innovation (Webpage). In Mitchell Baker’s Blog (Website).
  5. ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ Castellani, A. (2023). Why We’re Rebuilding The Thunderbird Interface From Scratch (Webpage). In Thunderbird Blog (Website).
  6. ↑ James, K. (2015). Thunderbird 38 Released (Webpage). In Thunderbird Blog (Website).
  7. ↑ ↑ ↑ ↑ ↑ Kewisch, P. (2017). Thunderbird’s Future Home (Webpage). In Thunderbird Blog (Website).
  8. ↑ ↑ ↑ Kewisch, P. (2020). Thunderbird’s New Home (Webpage). In Thunderbird Blog (Website).
  9. ↑ ↑ ↑ ↑ ↑ Evangelho, J. (2023). Our Fastest, Most Beautiful Release Ever: Thunderbird 115 "Supernova" Is Here! (Webpage). In Thunderbird Blog (Website).
  10. ↑ Kewisch, P. (2024). Thunderbird for Android 8.0 Takes Flight (Webpage). In Thunderbird Blog (Website).
  11. ↑ ↑ ↑ MZLA Technologies Corporation. (n.d.). Release Cadence (Webpage). In Thunderbird Developer Documentation (Website).
  12. ↑ MZLA Technologies Corporation. (2026). Mobile Progress Report: July 2026 (Webpage). In Thunderbird Blog (Website).
  13. ↑ ↑ MZLA Technologies Corporation. (n.d.). Codebase Overview (Webpage). In Thunderbird Developer Documentation (Website).
  14. ↑ ↑ MZLA Technologies Corporation. (2020). Thunderbird 78.0 Release Notes (Webpage). In Thunderbird (Website).
  15. ↑ ↑ MZLA Technologies Corporation. (n.d.). About Add-ons (Webpage). In Thunderbird Developer Documentation (Website).

Further reading