Brendan Abolivier, from Thunderbird, discusses integrating Rust into the application, challenges of Microsoft Exchange support, networking challenges, running integration tests, and Rust's role in Thunderbird development. He shares admiration for Rust and encourages donations to support Thunderbird's development.
Mozilla and the Thunderbird community collaborated to revitalize the project, establishing MCLA in 2020 solely funded by donations.
Rust integration in Thunderbird is in its early stages, focusing on Exchange support and considering rewriting existing components in Rust.
Deep dives
The Evolution of Thunderbird and Its Restructuring
Around 2012-2013, Mozilla announced that Thunderbird was put on maintenance mode, shifting development and maintenance to the community until around 2017. In 2017, Mozilla and the Thunderbird community collaborated to revitalize the project, leading to the establishment of MCLA in 2020 to focus on Thunderbirds. Nowadays, Thunderbird employs around 30 people funded solely by donations, showcasing a significant revival from previous rough years.
Integrating Rust for New Components in Thunderbird
Rust integration in Thunderbird is still in its early stages, with initial patches landing in December and actual Rust codes just recently. Rust is currently being used for new components within Thunderbird, focusing on enhancing support for Microsoft Exchange. The long-term strategy involves utilizing Rust for new components requiring Rust's guarantees and considering rewriting existing components when deemed beneficial.
Implementing Microsoft Exchange Support in Thunderbird
The decision to implement support for Microsoft Exchange in Thunderbird stems from its high demand among users, especially in workplace settings. Thunderbird aims to offer users versatility by supporting both open standards and Microsoft Exchange. The project acknowledges the challenges involved in implementing Exchange support, including the need for cautious decision-making due to proprietary protocol considerations.
Lessons Learned and Future Outlook for Rust in Thunderbird
Working with Rust in Thunderbird has brought a greater appreciation for Rust's safety and quality standards. While the initial learning curve may be steep, the benefits of preventing errors and ensuring code quality are evident. There is a hope for further standardization within Rust's ecosystem to facilitate smoother development processes and maintainable outputs. Looking ahead, there is significant potential for Rust in Thunderbird's future developments, signaling a positive trajectory for the language within the project.
The MZLA Technologies Corporation is a fully-owned subsidiary of Mozilla that develops and maintains the Thunderbird email client. The project can be supported at give.thunderbird.net.
About Brendan Abolivier
Brendan joined the Thunderbird team in 2023 and has been working on the Rust-based Exchange protocol support. Previously, he worked on the Matrix protocol and the Element chat client. He is a strong advocate for open-source software and maintains projects written in Rust, Python, and Go.