TL;DR: Mozilla is largely dependent on Yahoo! We must make sure it is funded by individuals’ donations and a diverse roster of companies to keep it independent, to fight Google’s increasing browser dominance and to ensure our privacy. We must also let Mozilla know what we expect from them.
Read on to hear my reasoning.
The dangers of browser monoculture
If you are old enough to remember the first Browser Wars, you can skip this section because you know first-hand what horrors await if only one single browser controls the entire market, like Internet Explorer did in the 90s. For everyone else, a quick summary:
- Microsoft started bundling Internet Explorer, and only Internet Explorer, with their operating systems. Before this, people needed to get browsers on floppy disks or CD-ROMs, or download them via FTP if they somehow managed to get an FTP client.
- Once they had browser market dominance, Microsoft subverted any standardization by introducing their own custom tags and Windows-dependent technology into their browser. When web pages were made using these, no other browser or operating system could view them anymore, for example because they contained ActiveX elements.
- Websites started supporting only Internet Explorer because it was seen as too much effort to also support Netscape Navigator, NCSA Mosaic or even less popular browsers such as iCab.
- De facto, this meant that the web was only fully available to users of Microsoft Windows and Internet Explorer.
Later on Microsoft bought the sources to NCSA Mosaic and produced a version of Internet Explorer for Mac OS 7 – 9 based on that. It was a completely different product and had nothing to do with the Windows version, therefore many things that worked on Windows Internet Explorer did not on the Mac.
Moving onto a dangerous path
We are taking the first steps on a similar path again, only that today Google is in the position that Microsoft had back then. There is still time to take the correct fork in the road and prevent another decade of browser monoculture, but we need to act now.
What’s different today? It has become very hard to write a web browser, because the complexity of the web has increased substantially since the 90s. Implementing a browser means writing a capable and fast rendering engine that is compatible with years and years of HTML standards and many broken web pages. A fast and securely sandboxed JavaScript engine is required because a lot of web pages work only marginally or not at all without JavaScript. Efficient memory management is important because having a browser that balloons to use up 4 GB RAM is not wise, especially on mobile devices. Video playback is expected, in the worst case including a module for DRM so that DRM-heavy services such as Netflix work. Finally, users now expect their browsers to sync bookmarks and settings between all their devices, so there needs to be a secure infrasctructure to provide sync.
This means only very large teams can compete in the browser space. Smaller ones are forced to rely on larger organizations to develop HTML renderers and JavaScript engines for them. This would normally be good – reinventing the wheel is inefficient anyway – but it also presents an acute danger.
Foreshadowing a Google web monoculture
Currently there are few major HTML renderers:
- Google’s Blink, used e.g. in Chrome, Opera, Vivaldi and Android.
- WebKit, originally developed by KDE but later largely pushed by Google and Apple. Used e.g. in Safari, Konqueror, Midori.
- Mozilla’s Gecko, used in Firefox.
- Microsoft’s Trident and EdgeHTML, used in different versions of Internet Explorer.
With the exception of Microsoft’s products, these engines are Free or Open Source Software (FOSS). But in the case of Blink, we see that it is de facto Google alone that determines the agenda. Even developers with decades of experience in the browser market, such as Vivaldi’s Jon von Tetzchner, have reported that it’s impossible to predict what Google might do or not do with their code, and that it’s hard to constantly play catch-up with them.
In the JavaScript universe, we have:
- Google’s V8.
- Mozilla’s SpiderMonkey.
- Microsoft’s Chakra
Here the situation is slightly better because V8 is also used in many other, non-browser projects and has a real community behind it, with less control from Google.
But now the sad news: Firefox’s browser market share has been steadily dropping for years. Google’s aggressive marketing for Chrome has made it so that their HTML renderer and JavaScript engine are now the dominant ones in the world. If this continues, we might see a repeat of the situation during the 90s browser wars, with pages that only work properly in Google Chrome or its derivatives.
This has already begun to be a problem in the mobile browser space, where developers cannot afford to test on many hardware/software combinations and thus non-WebKit or non-Blink-based browsers have more trouble displaying pages than they should have.
Consequences
They could be many, but they all lie somewhere between strengthening Google’s position and giving it total dominance:
- Google will be a dominator and gatekeeper to the browser extension market, not only for Chrome but also for Vivaldi and other browsers that implement the Chrome extension system and use the Chrome extension repository exclusively. This means Google alone decides which extensions get published. They can start refusing to host extensions that e.g. block advertisements or protect your privacy. They have done similar things before, and Apple, a similar gatekeeper, has a long history of censoring items in their app store.
- Services that compete with Google’s will suddenly not work so well in Chrome.
- Google’s own services will always work best with Chrome. As soon as a critical mass of this is reached, Google can easily pivot the market in their favor.
- Google will ultimately be the one company who tells us how we see the web. And since they make money by learning about you, creating psychological profiles and knowing how you see the web, this is a far too powerful position.
- Google will introduce functions into Chrome that spy on you, since data about you is one of the most valuable commodities in advertising, and Google is an advertisement company.
- Web pages will slowly stop working in Firefox, Konqueror or Microsoft Edge. Tech support departments will then tell people to switch to Chrome instead and Google’s dominance will be complete.
What can we do to prevent this?
We need to make sure that there are always genuinely free browsers and JavaScript engines, but we also need to make sure the market has enough big players in order for competition effects to manifest themselves. It is pointless to have a market of 95% Chrome and 5% Internet Explorer because that gives people the choice between a non-free marginal platform and a merely pseudo-free dominating one under central control.
Currently Mozilla Firefox is a genuinely free browser, but it might not exist for long if main sponsor Yahoo! pulls the plug on their sponsorship and Mozilla can’t find a way to finance its development. A group of companies genuinely interested in a free and independent browser and a large number of individuals donating money could solve this.
But things could perhaps be more efficient. In my opinion, Mozilla are wasting effort by pursuing features like Pocket integration or the Hello video chat system. Two integrations which appear to have polarized the user base with quite a number of discussions both in Mozilla’s feedback system and on outside forums. It appears like work is invested in features that a large proportion of users did not ask for and does not welcome.
Additionally, not preinstalling this does not mean you can’t have Pocket integration or video chat. If people want Pocket, they can install the add-on themselves. If people want a video chat system that works in the browser, they can find Hello, Talky, Jitsi and others on their own. Mozilla should instead focus on their core values of making truly free, user-focused applications.
I think it’s a good idea to donate money to Mozilla to reduce the dependence on Yahoo!, and I hope they will carry through with their recent plans to strip Firefox down to be the healthy, lean and fast thing it used to be. But I believe some action from us users will also be necessary. If you dislike something about Firefox, don’t just drop Firefox and switch to Chrome. Let Mozilla know instead. Give them the chance to improve, and give them the money they need to change things.
If we don’t start doing this now, later might be too late.
Update: I am deeply humbled that what I thought is a personal idealistic rant seems to have resonated with tech people and both on Reddit and Hacker News there are fantastic discussions. People are asking tough questions such as whether Mozilla is actually worth saving, what the foundation is doing with its money and why no one else has built a workable browser. There are many angles there that I didn’t explore and I encourage anyone interested to absorb those discussions like a sponge.
It was also pointed out to me that both Harry Chapman and ZDNet’s Jack Schofield have basically said the same thing long ago.
Disclaimer: I already donate to Mozilla so I’m surely biased.
PS: I am aware that the Chromium project is the upstream project name for all the Chrome bits and pieces, but I’m using the Chrome name in this post because it’s more familiar to most users. I’m also aware that Firefox has many forks with other names, such as Iceweasel, and by Firefox I mean “any Firefox-derivative”.
Update 2015-11-27: Expanded section about ActiveX, clarified the role of the Chrome extension repository only for those browsers actually using that.
Update 2015-11-28: Reddit user ZachPruckowski pointed out that individuals would struggle to finance this, so I added my second-best idea to have a diverse roster of companies pitching in as well.
Update 2016-05-12: 6 months later, the honorable Cory Doctorow is tooting his horn about this too, and he focuses on the EME issue. Please, please help us save Mozilla and Firefox.
Update 2018-05-30: Three years later The Verge has picked up on one of the points.
Update 2019-01-23: Google is tampering with the adblocker market by manipulating Chromium, proving that since they are primarily an advertising company, they don’t like people taking control of their browsers and blocking ads.