Why do most browser companies opt for a Chromium/Blink base instead of a Firefox/Gecko one?

Zyratoxx@lemm.ee to Asklemmy@lemmy.ml – 278 points –

I mean, I like Firefox, but I'd love to see Vivaldi based on Firefox/Gecko. There's Floorp, which is similar in some ways but it's more like an Edge built on Firefox than Vivaldi.

Edit: Thank y'all for your answers. :D

I want to link !@bdonvr@thelemmy.club 's post because it is a similar quesion. https://thelemmy.club/post/718914

59

Blink has a younger code base that's easier to build on. Gecko has been around since the early 90s and has some ancient evils lurking deep within. At least that was the reasoning a while ago. As Mozilla has been putting a heavy emphasis on code correctness for the last few years, that may no longer be the case. Then again, momentum is a big deal, and I still see people saying the don't want to try Firefox because its memory inefficient even though they fixed that bug almost a decade ago now and its less resource hungry and faster than chrome now

Blink is a fork of WebKit wich is a fork of KHTML, KHTML exist since the '98, the codebase isn't that younger too. Was tweaked by Apple then by Google, with some features that don't exist on other engines.

Blink has a younger code base that’s easier to build on. Gecko has been around since the early 90s and has some ancient evils lurking deep within.

They both are of very similar age actually. The old Netscape rendering engine originated in the early 90s, but Gecko was a rewrite from scratch that was first used in a browser in 1998.
Blink is based on KHTML which is based on khtmlw, which was written at some point in the mid-90s, but as well saw a complete rewrite in 1999.

The only time I ever had memory problems with Firefox was when I tried to run it on a potato. That complaint has always been bullshit.

Edit to add: The aforementioned incident was in 2010, on a machine with only 512MB of RAM. Like I said, potato. Chrome back then was somewhat more memory-efficient than Firefox, and could support three open tabs on that machine before it started thrashing, whereas Firefox would thrash with just one. Both browsers performed abysmally under such a severe RAM shortage, but Chrome was slightly less abysmal. Slightly. I seriously doubt the current version of either browser would be usable on that machine, although I don't have it (I gave it away soon after this incident) so I can't check.

Firefox ate my RAM joke is ridiculous. Nokia N900 has 256MB RAM. Fennec for Maemo had electrolysis (multiprocessing) turned on. In version 4. Years before the desktop Firefox. You really need to go old-school embedded for Firefox to eat your RAM.

Faster than chrome ? Do you have any source ?

Unless I'm missing something it seems like Chromium still wins in the vast majority of tests, some by over double or even triple the speed/score.

Looks roughly 50/50 Chrome vs. Firefox for most of those, or a tie, to me. But looking at the Y axis for many of the test is there really a significant day-to-day difference between an execution time of 150ms and 160ms? As far as the average user is concerned, Firefox's performance matches that of Chrome's.

I am looking at the Linux benchmarks because that is what I use. I count 11-4 in favor of Chrome and/or V8 with one that’s a tie. For the record I use LibreWolf which is based on Firefox, but it is definitely noticeably slower in my experience.

This is somewhat beside the point but I'd argue there's not even a reason to use Firefox on Windows so those benchmarks are irrelevant entirely. If you're not willing to move away from Windows (a near-monopoly that collects your data) what is the point of moving away from Chrome (a near-monopoly that collects your data). It's extremely half-assed.

If you’re not willing to move away from Windows (a near-monopoly that collects your data) what is the point of moving away from Chrome (a near-monopoly that collects your data).

Don't let perfect be the enemy of good. A step in the right direction, even if half-assed, is better than no step at all in cases like this.

Chrome wins for 4 of those graphs, Firefox wins for 7. Two are a close tie.

I am looking at the Linux benchmarks because that is what I use. I count 11-4 in favor of Chrome and/or V8 with one that’s a tie. For the record I use LibreWolf which is based on Firefox, but it is definitely noticeably slower in my experience.

This is somewhat beside the point but I’d argue there’s not even a reason to use Firefox on Windows so those benchmarks are irrelevant entirely. If you’re not willing to move away from Windows (a near-monopoly that collects your data) what is the point of moving away from Chrome (a near-monopoly that collects your data). It’s extremely half-assed.

there are options besides windows and linux. I only use windows for gaming, mac for everything else besides server infra. but yeah I guess if you're looking at linux you're going to be looking at different browsers than the majority of people. as to why you would want to move away from chrome and not windows, there's plenty of reasons. It seems pointless to argue that here though, as you seem to think it's an all or nothing.

Gecko was probably based on early 90s code but it wasn’t out until 2000. It’s still older than almost everything else though.

Actually ff is the old Netscape navigator which was popular in the early to mid 90’s. When Netscape didn’t take off like they hoped it was retooled a little bit and turned into ff

When Netscape didn’t take off like they hoped it was retooled a little bit and turned into ff

Don't you mean "when Microsoft abused their monopoly to crush the competition it was open sourced"?

Yes. That still doesn’t change how Gecko (which is basically a rewrite of the old Netscape engine) was not released until 2000.

Ah, yeah, and it's probably too laborious to change the browser base now.

Thank you for your answer! :D

1 more...

The code is already prepared very well to be embedded into something. I remember trying to embed the javascript engine SpiderMonkey into a project (I needed C bindings which I then could use in Erlang). After a week or so trying and extending, etc. we gave up and tried V8 which we had running within one hour with good documentation great APIs and so on.

I myself have been Firefox user since Firefox came out but trying to embed it myself and failing I kind of get why others choose Chromium/Blink as their base.

Oh, I see. I had an internship last year where I developed a WebApp and I only got a slight glimpse of the differences between Blink & Gecko but even that already influenced my code so I can kinda imagine the struggle :')

Thank you for your answer! ^^

The main reason I've heard is that chromium is far easier to embed than Gecko. Gecko isn't something you embed like a library. It's something you build upon. Detaching Gecko from Firefox UI (or Thunderbird for that matter) is supposedly really hard.

I don't know if I'd say separating Gecko from Firefox is all that difficult. About a decade ago I worked on a project at the tail end of my internship at Mozilla to separate Gecko from Firefox Mobile. The idea being to create a sort of GeckoView Android component that could be used like a WebView component to give devs the option to embed Gecko in their app rather than (at the time) WebKit and for Firefox Mobile to become a UI wrapper around a GeckoView component as well. I only had a few weeks to work on it and in that time I had a rough proof of concept running which was an independent Android app that ran Gecko through this new GeckoView component and had a super basic UI to control it. Unfortunately being an internship project I didn't have time to take it through to completion and being the Firefox OS days at the time the team had other priorities so I don't believe it ever got fully finished. But point being is that it's not terribly difficult to separate the two; I did it as an intern in a few weeks a decade ago.

Ah, so it isn't really built do be adapted by others the way Chromium is. Well that's too bad. At least there's Floorp although I don't really have the knowledge to actually check whether their code is fine or not (as they are quite unknown yet) so I'm not so sure whether to trust them.

Anyways, thanks for your answer! :D

I'd imagine because they want as little compatibility issues with their product as possible so they just copy what's already popular.

KHTML/WebKit/Blink has always been built with the intention of many browsers (or anything else that needs a rendering engine) integrating it, thus it's very easy to do so.

Gecko hasn't been built with the intention of being integrated into any browser at all. Gecko isn't integrated into FF either. You integrate the browser into Gecko, not the other way around. It's closer to building a browser in Electron than to building a browser with the Blink engine.

Oh, thanks for the interesting insights :D

I asked a similar question a week ago

https://thelemmy.club/post/718914

Oh, thanks for linking it. Gonna read the replies you got too :)

Edit: I linked your post in my original question :D

Once upon a time internet explorer dominated the web. The web bowed and catered to the jank that was internet explorer...at least until other browsers gained traction. To this day there are some websites that are only designed with internet explorer in mind.

We can go further. Just recently I saw a website that supposedly "is best viewed full screen, 800x600 or better, in Netscape"

Do you think I'll still be able to view that website after I've time traveled to 1995 to use my Netscape? This seems like some kind of paradox.

Check local and state government websites. Its gotten way less common but a lot of them haven't seen human eyes for 20 years let alone an update.

Link? Would love to take a trip down memory lane.

I can still remember firing up Netscape for the first time in 1994.

fenrir.com

The only reason I stumbled upon it was because I wanted to check if the domain was available.

And I am convinced people didn't think the same would happen when everything other than Firefox and Safari switched to being based on Chromium because "nah, it's open-source, that won't happen."

Well, here we are. The only thing keeping Chrome from completely dominating is that iOS currently requires all browsers to use WebKit, but once there is a real Chrome on iOS, you know every site is going to tell iPhone and iPad users to "lol just download Chrome."

This is not the situation I was hoping for, but I saw this coming years ago.

It’s now been replaced by “no message, but sort of only works with Chromium”. As a full-time Firefox user I unfortunately see an increasing trend of “not working right with FF”

As a web dev and firefox user, I really wish more devs tested in Firefox by default. Almost always if it works in FF it works in Chrome, but that's very much not the case the other way around. I've never run into a situation where there's not an easy pre-existing solution to any compatibility issues, but you'll only know there's a problem if you actually see it.

Chrome and its derivatives are by far the most popular browsers, it's simply easier to go with the most common for maximum compatibility.

And that's the problem. It gives full control power to Google. That's the reason that popularity needs to be broken.

Yep, hence why I don't use Google browsers.

This is a genuine question, asked by someone willing to learn.

Why does it give control to Google to use Chromium? It’s open source? Are all the decision makers Google employees? Wouldn’t one assume that forks would occur if a decision was taken as chromium level that was detrimental to, say, Microsoft’s Edge?

Google is the maintainer and biggest contributor to chromium.
https://en.m.wikipedia.org/wiki/Chromium\_(web\_browser) and they've already introduced wei into chromium without any pushback.

https://kbin.social/m/degoogle@lemmy.ml/t/255346/Google-is-already-pushing-WEI-DRM-Webpage-into-Chromium

There are forks of chromium already like Vivaldi. You can still use them. Unfortunately using them is not a guarantee that Google can't use their usage numbers as leverage while politicing or advertising bad behaviour to other parties like social media.

Worse yet, maintaining a fork is a huge undertaking for a project in the size of chromium. This means in time the fork may struggle to keep up. Or upstream may introduce functions that depends on the bad behaviours and the fork be forced to either adopt both, or adopt none.

Seems fair, tho 99,99% of websites are working just fine

Thank you for your answer :)

What makes floorp more like edge than vivaldi? I love floorp

Fair point. I compared it to Edge because Floorp tries to mimic their UI, it is miles ahead of Edge when it comes to customizability tho. Maybe not as customizable as Vivaldi but it's very close.

Programmers are not immune to fads or the network effect

The jiophones and nokias with kaiOS are based on a fork of gecko, which is a common phone in rural India and goes by different names, sold and made by different companies in different regions all over the world

Oh, interesting, thanks for the insight :)

Performance, long term assurance. Sorry my brain's not working RN. That's all I can think

Gecko was pretty shit performance wise until Firefox quantum in 2017. Back then even Apple decided it's better to use webkit for it's browser.

It's difficult to say exact reasons for each browser. But for Chrome enjoying the dominant position before that, it was better to jump on Chromium as base just for better compatibility with most websites.

Tooling followed soon after

Apple didn’t “decide it’s better to use webkit”, they MADE WebKit (from forking KDE). Back when they started WebKit Gecko was only out for a year and heavily associated with Netscape, while KDE’s was already mature

Thanks for the correction. This doesn't disregard my argument. Netscape codebase was bloated and underperformant. It was a bad choice for a basis for a new browser.