Planting the Firefox snap seed
Today, Sept 16th 2021, the Desktop Team has opened a Feature Freeze exception to replace the Firefox seed in ubuntu-desktop from a deb package to a Mozilla-official Firefox snap. This is the result of cooperation and collaboration between the Desktop and Snap teams at Canonical and Mozilla developers, and is the first step towards a deb-to-snap transition that will take place during the 22.04 development cycle.
What does this mean, and who does it affect?
This will only impact users of Ubuntu Desktop installing 21.10 or upgrading to 21.10. If you run one of the flavours, you won’t be affected - yet. The deb will continue to be supported through the life cycle of 21.10, and the deb to snap transition is scheduled to be completed in 22.04.
Wait, why the change?
Good question! When Mozilla approached Canonical, they had some clear benefits in mind. Those included:
- Cross-platform support: The snap will run on all distributions that run snapd - now and in the future
- Authenticity: You’re getting Firefox, unadulterated, straight from the source
- Effortless updates: Get security updates from Mozilla, fast
- Less time on maintenance, more time for features: Community developers can focus on innovation, instead of being mired in support
I still have questions
We understand! This is a big change, and we welcome your questions in this post. As community members who help make Ubuntu - and use it in your everyday lives - a change to a popular web browser is a big deal, and your concerns are not only valid, but vital to making 22.04 and future releases a success.
To start off the questions, here’s a few that came to mind:
- Didn’t you do this before? Yes. Kind of, with the transition to the Chromium snap a few years ago. You can read about that here in our chromium snap transition blog post. However, that decision was all us, for maintenance reasons. This time around, for Firefox, it’s a coordinated effort between Mozilla and Ubuntu.
- Isn’t it going to be slow? Long answer short? We don’t want it to be. Have a read of how we solved the chromium startup problem, and a blog post about the speed improvements that come with the newest compression algorithm snaps use. Building the snap with a newer toolchain (clang & rust) and more optimisations will likely result in a faster application. But keep us honest, and let us know what speeds you see with the new snap.
- What’s the point of putting Firefox in a snap, if it already uses sandboxing? Having the application strictly confined is an added security layer on top of the browser’s already-robust sandboxing mechanism. The browser sandbox protects the browser against malicious code, whereas the snap confinement protects the user against the browser acting maliciously. So these are really two complementary security mechanisms.
- After the transition, do I HAVE to use the snap? We (Mozilla and the Desktop Team) recommend the snap, but, if you’d prefer otherwise, Mozilla still offers their distro-agnostic builds for amd64 and i386.
What can I do?
Test and give us your feedback. Lots of it. Test fresh installs and upgrades of Ubuntu Desktop 21.10 (the beta is almost here!), and when it comes time to test daily builds of JJ, test stock Ubuntu AND the flavours, especially flavours that may have to make changes to accommodate for the snap. Let us know where things go wrong, or slow, or otherwise not well, so by the time the final release of 22.04 is out, we’ve all helped make Firefox run seamlessly, swiftly, and more securely.