2017-08-25
The probable coming explosion of Firefox 57
Let's start with what I tweeted:
I don't think Mozilla understands how angry plenty of people are going to be when Firefox 57 is released and breaks many of their addons.
If you follow Firefox news, you already know what this is about; Firefox 57 is when Mozilla is going to turn off all old extensions, ones that are not WebExtensions (this is apparently different from being ready for Firefox Electrolysis, although all WebExtensions are okay with Electrolysis, or maybe there is something confusing going on).
Firefox Nightly builds recently switched over to disabling old
extensions. Nominally this is just flipping the extensions.legacy.enabled
preference from true
to false
and so I could flip it back, as
I expected earlier this year.
In practice all of my extensions immediately fell over, along with
Nightly itself (it now hangs on startup if old extensions are
enabled). Even the extensions that I thought were ready don't work now. Nightly is as
Nightly does, and it was kind of broken for me in various ways even
before this, but I consider this a pretty bad omen in general for
the state of WebExtensions. According to Mozilla's release calendar we are less than
three months away from the release of Firefox 57, and nothing
works. Nor was there any sort of attempt at a graceful transition
when I fired up the first version of Nightly with legacy addons
turned off. I don't think I even got a warning.
(I don't know if this is because Firefox has no support for a graceful transition or because there are no WebExtensions versions of any of my addons, not even, say, NoScript, but neither option is a good sign.)
I'm pretty sure that Firefox has a great many current users who pay absolutely no attention to Firefox stuff due to complete lack of interest. These people are not up on news about WebExtensions and other such things, so they don't know about this change coming in Firefox 57. A certain number of these people use extensions extensively enough to create a new browser. As far as I can tell, these people are going to fire up their auto-updating Firefox install some time after November 13th and experience what is to them a completely different and much more stripped-down browser with what seems to be very little warning.
(Fedora is on Firefox 55 right now, and several of the extensions I have enabled in my testing Firefox aren't even Electrolysis compatible, much less are WebExtensions. I'm getting no warning nags about this on browser startup or any other time. Perhaps this is different on other platforms, but I suspect not.)
When these users get their browser yanked out from underneath them, they are going to be angry. And rightfully so; yanking people's browser out from underneath them is an extremely rude thing to do. Based on their behavior so far, I don't think Mozilla really gets this. The other interpretation is that Mozilla doesn't care if some number of people wind up angry, which I think is also a bad mistake. Mozilla seems to be so intent on going full speed ahead to WebExtensions and damn the torpedoes that they're ignoring a violent derailment coming up ahead of them.
By the way, one of the problems here is that the Firefox version of the WebExtensions API is incomplete in that any number of current extensions can't be (fully) implemented in it. You can track some of the depressing state of affairs by looking at arewewebextensionsyet. Remember, we're theoretically less than three months away from permanently turning off many of these extensions in their current state.
Fedora 26 and a font rendering dilemma for me
I recently upgraded my office workstation from Fedora 25 to Fedora 26, which didn't go entirely smoothly. One of the things that didn't is fonts, or more specifically a change in font rendering. I have a long standing set of fontconfig user tweaks that are supposed to give me relatively light-weight fonts, and they've now stopped working all that well (although it turns out they haven't completely stopped working).
To make this concrete, ere are three images of xterm
using DejaVu
Sans Mono 10, all displaying on the same machine via the magic of
remote X. The Fedora 25 image is my normal and preferred font
rendering, the 'Fedora 26' image is the stock font rendering on
Fedora 26, and the 'Fedora 26 me' image is how Fedora 26 renders
fonts with my fontconfig settings (which is almost identical to the
stock rendering, but slightly lighter in spots and I think less
antialiased).
This is not the first time I've had my font rendering change around to give me darker fonts; it once happened with Ubuntu 10.04 and was ultimately resolved as a different in fontconfig settings (see the comments here). Unfortunately this isn't the case this time around; instead, it appears to be a change in how FreeType renders exactly the same fontconfig setup. Something in the shift from version 2.6.5 (in Fedora 25) to 2.7.1 (in Fedora 26) seems to be ignoring parts of my fontconfig customizations.
(The Fedora 25 and Fedora 26 /etc/fonts
and /usr/share/fontconfig
are almost identical, and my usual diagnostic tools like 'fc-match -v monospace
' and
'FC_DEBUG=1025 xterm
' claim that there is no difference in
computed results. Even the versions of fontconfig
itself are
essentially identical. I verified it was the Fedora 26 version
of FreeType by copying the Fedora 25 libfreetype.so
to my
Fedora 26 machine and using it with LD_LIBRARY_PATH
.)
This leaves me with a dilemma. On the one hand, perhaps I could invest a lot of effort into figuring out either what I need to do to FreeType to fix this rendering issue (I've built custom versions back in the old days) or what magic new options to use in my fontconfig settings to make FreeType 2.7.1 render things the old way. On the other hand, not only would this be a bunch of work invested in fighting how FreeType really wants to render fonts, but maybe the new rendering is actually objectively more readable, even if it looks wrong to me.
I'm very used to my thin font rendering; I've literally been looking at it for years. The thicker rendering that FreeType does by default (and more or less forces in Fedora 26) looks viscerally wrong and feels annoyingly different. But this doesn't mean that my old fonts are more readable, and in fact I've made that sort of mistake before, which makes me suspicious about the idea that I know better than everyone working on FreeType and font configuration on Linux (it's not just Fedora, since just about everyone seems to default to this thicker and darker style of font rendering).
It irritates me to give in this way, and I definitely feel run over by the sprawling mess that is modern display fonts on Linux and Unix generally (given Wayland, it's not really accurate to call them just 'X fonts' any more). I reflexively don't like surrendering to city hall this way. But maybe it's for the better, and it's certainly going to be easier.
As an experiment I've now turned off my fontconfig customizations
even on Fedora 25, by renaming my .config/fontconfig/fonts.conf
to another name. It's, well, different. But I haven't yet changed
back, and I can probably live with it after I get used to it. After
all, I've gone through big font changes before, when I moved from
old bitmapped fonts in xterm
and even my web browser to modern
XFT fonts, and I survived back then.