I feel that Firefox forks that would be useful to me are doomed

December 20, 2017

One of people's reactions to the Firefox 57 (Quantum) change in addon support, as well as recent events, is to switch to Firefox-based browsers such as Waterfox. I looked briefly at Waterfox at one point but my gut wasn't happy, so I've sat on it ever since. After the most recent events made me think about it again, I've figured out what I feel about it. The summary is that unfortunately, I think that the useful (to me) version of Waterfox is basically doomed, as is any similar Firefox fork or derivative.

First, let's distinguish between a Firefox fork and a Firefox derivative. Both start with the upstream Firefox and then take things out (such as Pocket) or make other changes, but a derivative intends to keep up to date with changes in the upstream version while a fork splits away and doesn't intend to track the main Firefox codebase (it may selectively import changes). Maintaining and developing a fork is far more work than maintaining a derivative because importing upstream changes is far harder.

As I discovered, it's not possible to be a straightforward Firefox derivative that supports old addons, as Mozilla broke or removed that code in the Firefox codebase after Firefox 56. If you want to support old addons you pretty much need to be a Firefox fork now, breaking from Mozilla's Firefox development at the tail end of Firefox 56. If you stay a derivative, you have to abandon support for old addons as you move into being derived from the Firefox 57 and later codebase.

However, if you become a fork of Firefox you stop getting easy performance improvements, feature additions, bug fixes, and most importantly security updates. At the best, you will have to do increasingly more work to selectively extract various changes from the upstream Firefox code; at the worst, the changes you want will have to be reimplemented more or less from scratch because the upstream changes are too entangled in new Firefox 57+ only code that you can't take. Even basing a Firefox derivative on the current Firefox ESR only buys you a few more months before you'll be on your own, when Mozilla releases the next Firefox ESR and stops doing updates to the current ESR code base.

Given all of this, I believe the practical choices facing current Firefox derivatives are either the doom of stagnation (and security exposures) because they don't have the development resources required to go at it alone, or abandoning compatibility with old addons in order to keep tracking the upstream Firefox. We aren't so lucky as to be able to simultaneously get a major difference from upstream (supporting old addons) and easy tracking of upstream.

PS: The obvious concern is security issues more than performance, bugs, or new features. Firefox has security issues from time to time, even on Linux, and people may target them, and anything based on Firefox 56 is now entirely on its own for security fixes. Today's Firefox ESR is a better code base for that since Mozilla is still fixing security issues in it, but current profiles are incompatible with ESR and, as mentioned, switching to ESR as a base only gets you a few more months anyway.

Comments on this page:

By Nicholaus.Zemlak at 2017-12-20 09:42:59:

That's true. It's time to move to FF57 and not looking back.

Written on 20 December 2017.
« Attachment types that we see in email from Zen-listed IP addresses
Checking RAM DIMM information from inside Linux »

Page tools: View Source, View Normal, Add Comment.
Login: Password:
Atom Syndication: Recent Comments.

Last modified: Wed Dec 20 00:40:13 2017
This dinky wiki is brought to you by the Insane Hackers Guild, Python sub-branch.