Unless you're lucky and there's already a WebExtensions equivalent

Open Source Insider Mozilla plans on November 14 to start rolling out Firefox 57, a massive update that just might send many of its users scurrying for the LTS release.

First the good news. Firefox 57 is faster, quite noticeably so, thanks to improvements to what Mozilla calls Project Quantum. Quantum encompasses several smaller projects in order to bring more parallelisation and GPU offloading to Firefox. That's developer speak for using more of that really fast GPU you've got. And again, the results are noticeable (some of them have already rolled out).

Firefox 57, however, marks a major change on another front – extensions.

For a long time Firefox has supported two types of extensions, the traditional legacy ones we're all used to and the WebExtension variety that work more like what Chrome uses. As of Firefox 57, legacy extensions will no longer work. If you're lucky, your favourites will already be available as WebExtensions. I happened to be lucky, for the most part. One of my favourites, which adds Vim-like keybindings to Firefox, will never be upgraded (the developer isn't interested in rewriting it). Fortunately there's a fairly capable replacement available.

But there's a good chance you're going to lose some extensions if or when you upgrade. Mozilla has put together quite a few resources for users looking for replacement extensions. There's a website, Are we WebExtensions yet, which tracks the most popular add-ons and can point you to replacements where they exist. There's also a long thread of users suggesting replacements both on Mozilla's site and Reddit.

Quite a few big names haven't yet ported their extensions. Lastpass, DownThemAll, HTTPSEverywhere and Flashblock are among the extensions I happened to notice. But before you pour yourself a nice hot cup of outrage, keep in mind that this change is not a surprise to Firefox extension developers. The roadmap has been published for well over a year now. Of course it's understandable that some haven't wanted to do it.

Why Firefox? Because not everybody is a web designer, silly

Downstream software gets orphaned all the time, sometimes by API changes like this, sometimes just because the developer gets tired of doing it. Still, Firefox 57 raises an interesting question – what obligation, if any, do upstream developers have to those downstream and, by extension, users?

There is the ruthlessly capitalistic answer: upstream projects have no obligation to anyone whatsoever. That's the approach most Silicon Valley darlings take these days (and one even has-beens have belatedly adopted as well). Most services don't even bother with an API and those that do deliberately cripple and limit them so they won't compete with the company's own offerings. The result of this tactic is all around us. Twitter's API is the internet's worst joke, Instagram seems to have an API mainly to show what outside developers can't do, and Flickr is a hollowed-out shell of its former self – to pick just three.

What next?

Mozilla is not a ruthlessly capitalistic company, but the opposite answer is not necessarily better. Legacy extensions slow down Firefox and cause stability problems that end users often blame on Firefox. Mozilla has the telemetry data to prove it. WebExtension add-ons solve that problem. They also allow Firefox to move forward with quite a few other projects that are going to improve the browser down the road.

Still, it's annoying to have all your extensions suddenly stop working. That's a fairly dramatic lack of backward compatibility to send downstream to users. It doesn't take much imagination to see the tech press headlines coming: Firefox breaks everything. If you head over to Reddit or even the Mozilla thread linked above, you can read plenty of users already doing just that and Firefox 57 isn't even out as of today.

Mozilla appears ready to weather the storm, it certainly isn't delaying Firefox 57 until everything is ported. Will someone fork Firefox to maintain support for legacy add-ons? Probably. Will that browser become the new Firefox? Probably not. That's not how software development works at this stage of the game. The users do not and have not ever had control of the tiller, not at Mozilla and not anywhere else.

It may just be, though, that this is the art of software development: finding the balance point between two conflicting views. Developers wanting to push forward, users wanting to keep things where they are. Software is like life; it is not static, it changes or it dies. Firefox 57 will be one of the largest pieces of software to tiptoe the edge of that conflict and I, for one, wish it the best of luck. ®