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.
MS probably decided against it because:
If they're doing this for better web compatibility, WebKit/Blink is the obvious choice, sadly. Some of Microsoft's web products don't fully support Firefox, but do support Chromium.
Chromium is more easily embedded, which may help them put it into a UWP app and the UWP API.
Chromium has a slightly more permissive license for MS to do proprietary things with it if they want to.
Would've been nice though.
- HotCakeXJan 09, 2020MVP
Akshay_Mane wrote:MS probably decided against it because:
If they're doing this for better web compatibility, WebKit/Blink is the obvious choice, sadly. Some of Microsoft's web products don't fully support Firefox, but do support Chromium.
Chromium is more easily embedded, which may help them put it into a UWP app and the UWP API.
Chromium has a slightly more permissive license for MS to do proprietary things with it if they want to.
Would've been nice though.
Thanks, these sound great too, specially number 3!