WebKit and Chromium are hard forks. The former is a fork of KHTML, and the latter is a hard fork of the former. However, in recent years I’ve only seen soft forks, and as for hard forks, I’ve only seen one with Pale Moon, which hard forked Gecko and named it Goanna due to disagreements with the direction the Mozilla Project was taking.
But why wouldn’t any organization make a hard fork, whether of WebKit, Chromium, Firefox, or another browser not based on the three mentioned above?
Because developing and maintaining a browser is extremely hard and expensive. It’s easier and cheaper to just soft fork a browser, still depending on it, and then make all the changes that are needed.
What a lot of people are forgetting to mention here, is that the reason why maintaining a browser is so hard is because Google keeps updating the standards, and has the resources to do so, while Firefox struggles to keep up.
Remember, Google Chrome is Google’s OS. Like Microsoft has Windows, and Apple has MacOS. This is why web standards include support for USB, GPU, and other esoteric use cases. It’s in Google’s best interest for users to use web apps to do things instead of desktop apps, since that means they are likely using Chrome, within Google’s control. And Google has a perverse incentive to keep evolving these standards so that other browsers struggle to keep up, and their browsers feel outdated and feature lacking relative to Chrome.
Google has a perverse incentive to keep evolving these standards so that other browsers struggle to keep up, and their browsers feel outdated and feature lacking relative to Chrome.
ditto with their office software and filesystems.
Wouldn’t Microsoft be the main perpetrator of this in office software? Google Docs, LibreOffice, etc have to read their .docx files correctly so they keep changing how it works?
to-MAY-tow
TAH-mah-tow
Force of habit. Lol
Security is hard, having timely compatible patches is priceless.
WebKit has Apple behind it and Blink has Google. There’s your answer. Even Microsoft realized it can’t maintain a web engine anymore.
A modern webbrowser has more loc than the operaring system running it.
I don’t think that’s quite right. The Linux kernel, Firefox and Chromium all sit around 30 millions lines of code, last I checked, so if you add the rest of the operating system, it should still have more lines of code than the browser.
But yes, similar order of magnitude.
Modern web browser hard to maintain and develop. Really hard.
As others have said it is a huge amount of work to maintain a fork of such a complicated piece of software.
Especially around security: web browsers constantly process potentially-malicious data, which gives them a large attack surface. Every browser regularly has new vulnerabilities discovered which must be fixed. Hard forking a browser means that, even ignoring any bugs in the new code the fork has added, every time a bug is discovered and fixed in the code they forked from someone needs to analyze the upstream’s fix and port it to the fork. The more they diverge, the more work this is. Failing to do this work lets any malicious website exploit the bugs and install malware on users’ computers.
A big part of me wishes the browser would just die. Its become a bloated and surveilled mess, entirely controlled by like 2 companies, with 90% of the actual data being javascript spyware. There’s almost no browser that can’t be fingerprinted and linked to your identity nowadays.
A simple markdown browser for static content (IE like gemini), and native apps with open APIs that can render markdown for dynamic content (IE like most fediverse apps), should be all we need.
Gemini is very cool I found out about it through RSSGuard, which has a browser for it built in
On the specific case of Firefox - its code not only is huge complex but also a bit of a mess. There were efforts many years ago to do a Qt port of Firefox but they found out it was really hard to decouple the Gecko engine from the UI part. That’s why you can’t find 3rd party “frontends” using the Gecko engine, but only what would be Firefox forks with extra steps, cosmetic changes and so on, but nothing really substantial - big changes in Firefox would break them.
One of the reasons I’m really looking forward to Servo development is for this reason.
What’s Servo? 🤔
A playable character from the Sims 2 expansion “Makin’ Money”
a browser written entirely in rust, should be fun on redoxos when it matures (all rust operating system with a mini kernel)
Whoa, didn’t know about redox os. Neat.
The preview on their site make it looks like it’s pretty usable for basic daily use (even has balatro). I’m gonna try it. Thanks !
That’s why you can’t find 3rd party “frontends” using the Gecko engine
Isn’t that exactly what WebLibre is?
Wasn’t Servo Mozillas attempt to solve that before they laid off all Servo staff and gave the project to the Linux foundation?
Arent Browsers almost as complicated as OSes?
Possibly more complicated than OSes.
(Depends on the browser, and possibly what counts as the scope of the “OS.” For example, you could be comparing GNU/Linux+wayland+KDE to Netscape 1.0, or you could be comparing modern Firefox to QDOS.)
Remember, a modern web browser contains a Javascript VM, which arguably makes it an OS in and of itself.
There is
ladybugladybird*Ladybird
which is however not a fork, either hard or soft, of anything
Money that could be better used on other projects.
FOSS exists, which is where people do things for no money, just because they think it will help people
Because there’s no good reason to do that that justifies the cost and effort.
Hard forks are generally fairly rare, e.g. you could ask the same about the Linux kernel…
keep in mind that the web specifications are incredibly complex. by some counts it’s probably the most complex program most people will ever use. to be clear, that count includes a lot of stuff that has never been implemented. but even so, you would have to read and implement a substantial subset of these to make a web browser. even if you hard fork an existing browser, you have to deal with every new bug and security issue and feature and every new spec the w3c puts out. it’s a huge fucking mess.
















