Forum Discussion

HotCakeX's avatar
Jan 07, 2020
Solved

What were the main reason(s) Microsoft chose Chromium over Firefox?

I just saw a post on my Twitter from EdgeDev and they said they contributed so much to the project. with hashtag #Opensource   Open source is good but Chromium is not the only open source engine, T...
  • Thraetaona's avatar
    Thraetaona
    Jan 09, 2020

    HotCakeX 

     

     

    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.

Resources