Thoughts on the new Firefox release strategy

As everybody should know by now, Mozilla did a huge change in the their Firefox release policy. It is highly controversial, so I felt sharing my thoughts might help.

Until very recently Firefox had a very "old-school" versioning scheme: Major.Minor.Bugfix Bugfix-releases happened rather often, usually about once a month. Minor releases happened every few months, Major every few years. I don't need to explain what bugfix releases were for. Minor releases usually introduced minor new features like support for new web standards, minor UI changes, and bigger improvements on existing features. Major releases happened very rarely and usually introduced big UI overhauls, major feature additions and support of a bigger range of web-standards.

So what did this mean for support of actual websites and web-applications? I will tell you: Nothing. Besides adding support for new stuff, there hardly ever were any deprecations and regressions. If your website worked in 1.x, it probably worked just as well in 4.x because the standard didn't change. Maybe it looked a little worse because the standard changed a little, or the implementation behaved a little different.

Let's come to the new and current system, that's meant to stay, at least for a while: The new scheme is: Major.Bugfix It's generally more of a rolling-release cycle. Every new feature, no matter how small or big, is implemented in a new major version. These are released on a regular, scheduled, basis that targets on getting a defined set of features in and get it released in time. Bugfixes are applied between releases to keep the current release secure. Any new release will automatically deprecate the last one. There won't be bugfix-releases for old majors like there used to. So what did this mean for support of actual websites and web-applications? I will tell you: Nothing. What worked in the last Major, will work in the new Major - but not necessarily vice versa. If it doesn't, it's a bug. Web applications and websites may not be browser specific. We used to have that in the corporate world and everyone knows: it sucks, and it is wrong.

Enough with the explaining, let's go take the criticism on the model and describe why it is invalid:

  • Websites/apps break with new Major releases
  • No they don't. If anything, they were broken before

  • Updating is more difficult

  • No it isn't. Updating works the same way for new major releases as it did for old minor or major releases

  • Addons break

  • That's partially true: addons contain a version mask to indicate with what versions they were tested and should work. Until now addon developers usually set a wildcard like 4.* This kept addons working even after new minor releases. What you didn't know: minor releases could break the addon api, and make addons not work properly! Setting the wildcard makes it run on untested versions, so why not do it now, too? If it breaks it has to be fixed, that's how it used to be, that's how it will be. Also, there is a new addon-api for simple addons (named jetpack), which will remain more stable and keep a lot of the updating trouble away.

  • Users will do fewer updates and not receive security updates

  • Not true. Updating has been as intrusive as it is now, and there are always people who are not willing to update. Nothing's changed.

  • Distributions will have a hard time updating

  • No they won't. Every minor release had to be tested as intensive as every major has to, now. With big applications like Firefox, there has to be some trust in upstream, because it is impossible to do a full review and a full function test for new releases - major or minor - anyway.

  • Companies will have a hard time keeping up

  • Not true. As I already explained, web applications cannot be browser dependent. If they are, they are broken. Most of those company web applications are not actually web applications but horrible mutants only used internally. They never did actually run on Firefox and on any non-stoneage Microsoft browser. If they worked in Firefox, they will likely continue to do so. As with distributions, it is impossible to do a full review on any new major or minor version, so there is no impact at all.

  • Companies won't be able to roll out a new release with the short cycle

  • Not true. The reason it took companies ages to roll out new releases is because ancient versions were still in the support cycle. Companies are lazy, because lazy means less costs, so they won't change anything until forced to do so. The reason the web is partially in a really bad shape is, because IE6 is still supported, and 90% of companies have not yet moved on. And they won't as long it is supported. Rolling out new software is easy. There are people responsible for every web-application and they can easily test it to the necessary extent within the 6 week release cycle. It is trivial to make the software available via remote desktops, and there are builds in the beta and aurora channels available to make it really easy. Companies need to learn that they have to keep up, even though this breaks a very old (not to say ancient) habit.

Conclusion: It's time people, and companys, are getting real. The way and the pace the web develops today, there is no room for legacy. Chrome introduced the rolling-release strategy to the browser world, and apparently it works. With this (well, and a lot of marketing), it pulled a huge share of the Firefox market share (to remind you: IE users don't switch to Chrome, FF users do.), so apparently their strategy is valid. Until today firefox had trouble getting new standards supported. Not because the developers are too lazy or slow, solely due to their release politics with a over-a-year release cycle for new feature releases. It was time to act and they did. The reason why people don't adapt to new web standards and great things like WEBM isn't because Microsoft doesn't support it. For years and years nobody cared about Microsoft when it came to new cool things, because they are slow and don't support them anyways. Companies that use Firefox use it because it's not ancient, has cool features and people like it. They might still use IE for their broken apps, but their users hate it. While IE9 is very recent because even Microsoft moved to a new release strategy it's already pretty much outdated and will remain so, because Microsoft now does the old Mozilla strategy. New features come in new versions, but they make the horrible mistake to keep ancient-to-be versions, i.e. IE9 supported. By claiming to support IE9 for the next 8 years, the encourage companies to roll out broken web applications. They don't have to be standard compliant, but to work in IE9 (not in 6,7,8, not in 10, not in any other browser), and that's exactly what they will do. An interesting side effect is that tech companies will have to use 2 browsers again, because their customers expect nice standard compliant websites that work in their browser, and IE9 it won't be. So employes will have to use IE9 for intranet stuff and FF for their companys official websites/applications. And it will be FF, no matter if they release every 6 weeks or not - not IE10, or 11, because they need to keep it at 9.

So people, get real yourself. Be happy they did the change, be happy they don't support old versions and force you to use old websites and non-standards (like Flash), and be happy they force your distributor and your company to keep up, because you get a shiny, recent browser and a better web for it.