Every time there is a post here related to Firefox, I see a lot of people complaining about the state of browsers and the utterly dominance of Chrome and Chromium based browsers.<p>I’m wondering if that are technical reasons why the newish browsers (such as Brave or Edge) are choosing Chromium instead of Firefox as their starting point.<p>If so, shouldn’t this be a priority for Mozilla to change that?
Gecko and servo are both not easily embeddable.<p>Servo isn't a finished rendering engine yet and the browser I saw that could exclusively use servo was not compliant enough and since mozilla fired the servo team there is no certain future for it anymore.
Projects that tried to make servo embeddable are all dead and gone (see <a href="https://github.com/paulrouget/servo-embedding-example" rel="nofollow">https://github.com/paulrouget/servo-embedding-example</a> for example)<p>So yeah last time I tried to use gecko I failed and didn't try again (years ago) nobody is willing to do the work and mozilla seems to focus more on other stuff...
It seems like everyone has reached much the same conclusion: there may be many factors, but the real killer and root cause is that Chromium is well suited to being embedded, and Gecko is not.<p>So hey, any companies out there interested in bringing back a little diversity in browser engines? Or just making a tiny dent in Google's dominance for the greater good? Consider funding work to make Gecko better suited to embedding.
As an engine, Chromium has overwhelming market share, so it decreases risk to build on top of it. Choosing an alternative browser engine increases risk.<p>Embeddability has little to do with it; Chromium (as opposed to WebKit) isn't actually that embeddable. Rather, market share is king. With a high market share, the community will step up with projects like Electron and Chromium Embedded Framework that add embeddability.
While embedding Gecko in desktop applications is not as straightforward as embedding Chromium, Mozilla's GeckoView project makes it easier to do this on Android:<p><a href="https://mozilla.github.io/geckoview/" rel="nofollow">https://mozilla.github.io/geckoview/</a><p>GeckoView is the foundation of Firefox for Android and Firefox Focus. The SmartCookieWeb-Preview browser, which supports sideloading Firefox extensions on Android, is also based on GeckoView:<p><a href="https://github.com/CookieJarApps/SmartCookieWeb-Preview" rel="nofollow">https://github.com/CookieJarApps/SmartCookieWeb-Preview</a>
As others have said; Gecko and Servo are not easily embeddable.<p>That was Apple's reported reason for using KHTML and making WebKit which Google used for Chrome and forked eventually. They wanted something light and embeddable. Don't blame them. Also, that software was LGPL.<p>I was always hoping that Microsoft or Apple would fund the Mozilla Foundation to keep a competitive web engine afloat and prevent Google Chrome engineers from dominating the web. They can take the Firefox code for their closed source software under the MPL.<p>Really doubt MS is going to do that these days. Kinda hoping Apple does since Safari is often the last to support new web standards. It would take very little of their profit and yet keep a big competitor from dominating a critical function of their most profitable products. This is regardless if they actually use Gecko or Servo.
Chromium embeds the Blink browser engine which is a fork of WebKit which is a fork of KHTML.<p>You can read Creative Selection by Ken Kocienda to get the backstory on why they chose KHTML over Gecko. You can also Google for podcasts that Don Melton has been on.
I had a conversation here with people about Servo and it was immediately clear that it was a collection of people who wanted to play around with Rust and not actually solve a problem that people have while saying that they did. They were way more concerned with bullshit like governance than meat and potatoes like writing a getting started article.<p>> Servo’s mission is to provide an independent, modular, embeddable web engine, which allows developers to deliver content and applications using web standards.<p>This is servo's mission, on their website, and the last time I checked, they provide absolutely no documentation on how to actually do it.<p>If you need embedded, just use CEF like everyone else. If you need a browser base, just use Chromium. Everyone else is dicking around.<p>I would have written a WebKit port[1] for my own purposes, because CEF has significant technical limitations, but WebKit has no documentation on how to do it either. They have documentation on what a WebKit port is, and what ones exist, but not actual documentation on how to create your own callbacks for view abstraction and blitting etc. It's a much more significant effort compared to just using CEF.<p>[1]: <a href="https://trac.webkit.org/wiki/SuccessfulPortHowTo" rel="nofollow">https://trac.webkit.org/wiki/SuccessfulPortHowTo</a>
One reason is that Firefox is an older browser design (compared to Chrome), in parts retrofitted. That's a difficult, laborious rut to get out of, especially if your competition has more resources and a big head start. If you're starting a new browser variant, it doesn't make much sense to also start with Mozilla's disadvantage.
It's what happens when you fire you engineer CEO for his personal opinions (that I disagree with) and replace him with a "company culture" that has nothing to do with engineering, but has the "right" opinions.
At this point, more people are using Chromium, so more devs target it, so more browsers are based on it. However, in the beginning, Firefox’s engine (Gecko) was harder to embed than Chromium’s engine (Blink).<p><a href="https://www.reddit.com/r/firefox/comments/m8cwdu/why_arent_there_many_firefoxbased_alternatives/" rel="nofollow">https://www.reddit.com/r/firefox/comments/m8cwdu/why_arent_t...</a>
The Mozilla rendering engine (gecko) was never meant to be embedded in the same way webkit is. It changed a little with Fennec and firefox. The engine became leaner... Yet still it isn't easy to reuse.<p>Even spidermonkey, the javascript engine, is never reused as v8.<p>Different design priciples
Brave started in 2015 on Gecko, using Graphene (FirefoxOS multiprocess/sandboxed app framework). We switched by end of year due to too many gaps (HTML5 DRM was a big one) and incompatibilities (mobile, mostly). Big spreadsheet, most rows netted out negative for Gecko. No way to change now, and a worse bet now based on Mozilla fundamentals.
I think Chromium’s performance contributed a lot to its dominance. Browser distributions have to build off of it to be relevant.<p>Other than Ekioh’s Flow, I don’t know any other competitive attempts from companies building browser components from scratch.
I only use firefox because of it's multi-account container capabilities and some other better privacy features, which is more to do with it's wrapper vs. it's actual engine. Someone could make multi-account containers or better with chromium, and if they did I would just use that instead.<p>Otherwise firefox is a slower, less secure browser and an older more crufty codebase and less webdevs test it thoroughly. Why would I choose it as a new browser wrapper developer ever?
On June 21st, 2011 Mozilla decided that Chrome would lead and Firefox would follow. Almost every single change to Firefox since then made it more similar to Chrome, not less. If you're making a browser, you follow the leader, not the first follower.
I'm wondering, Tor [1] is a Firefox based browser in the same sense as Edge/Brave/+ are based on Chromium?<p>[1] <a href="https://www.torproject.org" rel="nofollow">https://www.torproject.org</a>
Wasn’t chromium based in WebKit? Same as Safari. Basically Apple forket webkit to make safari and Google forked WebKit to make chromium. I really don’t see what the hubbub is about trying so hard to have gecko, webkit, etc. rendering engines out there. If the end goal is standards compliance, the outcome should be the same. The fact that Google did such a good job on early chrome compared to everyone else is really why it’s so popular. Ultimately it’s open source. I think chromium could become more popular than it is, if they upped their marketing and made access to up to date binaries as frictionless as possible for as many platforms as possible.
That's simple. Gecko is awful to embed and use independently of Firefox.<p>Now my question would be why not WebKit, as that is also easy to embed. There <i>are</i> browsers that use WebKit, just not that many.
The answer is actually in the original Scott McCloud comic <a href="http://www.google.com/googlebooks/chrome/" rel="nofollow">http://www.google.com/googlebooks/chrome/</a> . A few highlights are on page 17 (about V8 JS engine) and 36-37 (about Chrome in general)<p>Chrome/Chromium and its stack was designed to be easy to reuse and build upon. This may have been an explicit design goal because of the difficulties with reusing parts of Firefox and other software.
Firefox used to be extremely extensible: there were some software based on Gecko and Xulrunner. However, they all died out after Chromium and Electron took over.
Because Chrome has bigger market share, webdevs test their stuff only in Chrome, as a consequence their stuff works only in Chrome. Browsers have to be based on Chrome or suffer incompatibility problems, and sometimes even that doesn't help as some sites block browsers based on user agent strings if they detect it's not true Chrome.
Out of the blue yesterday my phone asked me to rate Firefox. I think Google is trying to create a facade of competition where there is none by stuffing the Play Store review stats.
The problem with gecko is that it is fundamentally challenging to embed as a standalone UI element. Too much of the "I am a browser" mentality gets into the rest of the engine.<p>Chrome adopted the webkit model of being primarily an embeddable engine, that happened to have a browser as its primary use case. The WebKit framework is used extensively throughout macOS and iOS, across a variety of applications, precisely because the framework is designed as a content view, not as a browser.
The Firefox engine sucks. It's resource intensive, buggy, and doesn't play nice with other technologies... think Flash.<p>Even the former CEO of Mozilla who left and created the Brave browser decided to go with Chromium.<p>Right now- the only browser engines seeing a lot of action are Chromium and WebKit. Every browser is being built on one of these two engines.<p>I suspect even Firefox will switch over to gain the benefits of one of those engines and the number of people working on them.
It seems that it's mostly the people building those browsers and their personal preferences.<p>With google building a track record of shady tactics, I would agree. firefox seems the better choice. It seems no more difficult to fork than chromium (though I've never tried).<p>My 2 cents, there's nothing to stop anyone from refusing to support updates on old frameworks and I'd suspect google to pull the rug out from beneath everyone before firefox anyday.
sometimes I feel like it would be better for everyone if we had one engine that all browser makers contributed to.<p>This would mean that there is only one engine that needs to keep up to date with the html/JavaScript spec and then browsers would then be competing on features rather than if a web site will render correctly.
As one who inserted numerous test instrumention points through out SpiderMonkey JS executable, I can vouch for the extreme nastiness build procedure made by and of Modzilla Firefox build team, not only code-wise but interaction-wise.<p>It’s a bit easier nowadays but still in no way portable for suitable embedded use.
>If so, shouldn’t this be a priority for Mozilla to change that?<p>I would flip that and say Mozilla would be better off if they just adopted Chromium and made sure they provided builds without the controversial stuff.<p>They gave up on having a competitive rendering engine implementation when they abandoned Servo so why bother ?<p>Who is using FF for the rendering engine ? If anything it just breaks compatibility because few test for it anyway. They even fired the devtools team so developing for FF is worse than Chrome.<p>If they created a Chromium distro that was cleaned up for privacy it would probably be a better product than what they have right now.
Mozilla’s priorities are questionable, I’m not sure anyone outside the company knows.<p>I’ve long resisted using a Chromium browser but Firefox has languished for far too long. I’ve been using Arc for maybe half a year now and I don’t plan on going back.<p>Without a team working on Servo, Mozilla is lost IMO.
I’m calling bullshit to most of the comments here and to Mozilla.<p>First, why cannot we have a multi-platform single click, no chrome/ui with fullscreen capabilities, firefox launcher that has prepackaged web app that is self contained? You think Major Tech Dudes can’t implement this?<p>Second, it’s all probably to do with bureaucracy and politics. For all we know FAANG blocks such ad ventures otherwise its bully time.