Forum Discussion
What were the main reason(s) Microsoft chose Chromium over Firefox?
- Jan 09, 2020
I insist that these reasons are mostly from a business and technical point of view.
1. Integration
Its rare to find any applications using embedded Gecko.
XUL is Mozilla's UI markup language, similar to HTML.
Gecko has always been rather tightly bound with Firefox/XUL. If you did not want to build your interface in XUL then the embedder was carrying around a bit of extra code that was complicated. There have been some various attempts at making Gecko an embeddable interface independent engine.
Although In recent years, Mozilla has greatly been reducing the usage of XUL in Firefox.
I think Mozilla is right not to invest in embeddable Gecko. Even if they succeeded; on a technical level, Gecko + Xulrunner = pretty huge code base. And if they manage to get Servo into production anytime soon it would just be a waste of time anyway.
https://developer.mozilla.org/en-US/docs/Mozilla/Gecko/Embedding_Mozilla/FAQ/Embedding_Gecko
It's something that even Mozilla recommends against.
Due to limited developer time and resources, embedding seems to have gone largely out of focus and thus Gecko is indeed harder to embed than WebKit.
Servo aims to be more embeddable but the API is still in work. (more info in the next section)
2. Stability/Reliability
https://en.wikipedia.org/wiki/Servo_(software)
The link you've provided clearly states that Servo's "CEF support never reached a usable state and support was removed from Servo in early 2018".
But it does not necessarily mean that Servo is deprecated or an abandoned project.
https://servo.org/
https://github.com/servo/servo/wiki/Roadmap <== This should be sufficient
As you can see the project is under active development and aims to replace major components of Gecko with the ones written in Rust.
https://wiki.mozilla.org/Oxidation
3. Familiarity/Compatibility
While Firefox's extension store might be one of the best, its something inevitable that chrome has the most amount of extensions available and most newer extensions are mostly limited to chrome.
most of those 'newer' extensions are developed by the same people who don't read or care about web standards in general.
4. Monopoly
Like I have previously mentioned, while Chromium is a free and open source project developed by Google, modifying the source code shouldn't go unnoticed. Besides, it goes through many reviews and isn't instantly merged into their Stable branch which Chrome is built on.
I'm not saying that monopolies are good, but even Google's "dictations" are Open Standards and that is nowhere as bad as closed sourced ones (IE).
And browser built upon the same platform (Chromium) are not Forced to follow Google's standards, if They have significant Marketshare they can do what google did with Webkit. Fork it.
and regarding UA sniffing, most browser capabilities (tech's) could be 'spoofed' in a similar way.
Thraetaona wrote:
3.
Of course, most professional or popular extensions are released for both, but smaller ones mostly target a single browser. we can expect more extensions to target chrome because of its growing market share.
4.
Some extra components:
1- Pepper Flash (PPAPI) Is built into chrome, you'll have to install NPAPI into chromium under linux distros, or manually extract PPAPI from a Chrome installation and link chromium to that one.
2- Widevine (Again, this can be manually added to chromium)
3- Telemetry and a background service for automatic updates.
4- ChromeOS services
5- Proprietary codecs (AAC, H.264, and MP3, etc)
About Manifest V3
lets ignore the other changes introduced in Manifest V3 and focus on ad (content) blocking.
One of the major changes is their move from 'WebRequest' to 'DeclarativeNetRequest' API
With WebRequest, Chrome sends all the data in a network request to the listening extension. That includes sensitive data. The extension then evaluates the request, and decides what to do with it.
As a result, you have to trust the extension developer won't bait you with an awesome adblocker, then switch to spying on you after an update as it already prompted for those permissions. Google is trying to move the object of trust from the extension developer to the browser developers.
The goal they're trying to achieve is to prevent extensions from spying on your web traffic, by having the extension register rules beforehand, similar to how you register a ublock Origin's filter lists.
One of its major problems was that they originally enforced a low amount of rules (50000) which raised some concerns at first, a typical ublock list could easily exceed that amount. But now it has a limit of 150000 which should be sufficient.
The problem is that Google has a conflict of interest when it comes to ad/content blocking.
Chrome will lose a considerable portion of their users if they really decide to fully deprecate manifest v2 and WebRequest without any good replacements.
The extensions will nevertheless evolve to adapt to this change, whose implementation is still distant.
On the bright side, Firefox/Chrome/Edge all have some kind of privacy related features included, I'd say that they are a decent out-of-box alternatives to adblockers.
As always, other browsers are not forced to follow this decision, While i do agree that chrome has become some sort of monopoly and has developed a significant advantage in terms of browser market share, there is an exception; Back then there was mostly IE which was already pre installed, with no real competitors, and internet speed was slow enough to make downloading another browser a time consuming and frustrating task.
Nowadays we have many browsers to choose from. Yes they mostly run Chromium as their web engine but clearly they all have unique features and target users. We also have Gecko and Webkit under active development.
Chromium is still a open sourced project and honestly not everything is bad about having a dominate browser engine standard. Even if only a 'partition' of it is open sourced, its enough to make fully functional browsers like Opera and Vivaldi.
This was not possible with Internet Explorer back in the day, which was closed source and solely controlled by Microsoft.
3.
Smaller extension developers can create Firefox version too, nothing is preventing them.
like I said Firefox is the 2nd most used browser and it's more popular in Linux ecosystem.
so this can't be one of the reasons Microsoft chose Chromium over Firefox.
4.
Yes I was aware of them as they are very popular and well known.
Given the nature of Google company, It's wiser to trust an extension like ublock origin instead of Google Chrome. Google talking about preventing spying is a joke.
you can read some of my posts here
Decent yes but far from perfect.
3.
Well, nothing is preventing them from porting the same extension to other browsers, too.
But that comes at the cost of maintenance.
Even if firefox's share droppdd to 1% compared to 99%, would it still make sense porting to it, considering that it still is the worlds second popular browser?
Well, That's impossible, but i was just saying that if chrome's usage is going to grow, then less and less developers will care about Firefox's support. how can you expect someone who doesn't care weather their site is accessible by anything other than Chrome to port their extensions to other browsers?
Firefox's usage is indeed higher within the Linux ecosystem, but be aware that some extensions might specifically target a certain OS; same reason we don't use shell (like KDE) integration extensions in chrome/firefox under windows.
Linux usage is only a tiny portion of desktop share, let alone the influence of mobile markets on this.
4.
ublock origin is not the only extension making use of that API
Regarding trusting ublock, you might be interested in this: http://tuxdiary.com/2015/06/14/ublock-origin/
Well, why would anyone who values privacy at that rate, choose google chrome in the first place? there are many alternatives.
"Decent yes but far from perfect."
Well, it should use something like 140k at max, given that most of those rules are outdated and no longer in existence, it could be trimmed down to a much smaller amount.