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?
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.
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.
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…
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.
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.
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?
It was one of the stated goals for Servo itself to be designed like that. But I don’t think anyone at Mozilla expected Servo to take over from Gecko. They were already quite happy that they were able to incorporate Servo’s style engine and URL bar implementation and such into Gecko.
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 !
WebKit has Apple behind it and Blink has Google. There’s your answer. Even Microsoft realized it can’t maintain a web engine anymore.
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.
Modern web browser hard to maintain and develop. Really hard.
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.
Security is hard, having timely compatible patches is priceless.
I’m not sure that there would be a good reason to do it to be honest. Each engine is pretty mature and has been built into its design philosophy for years - nearing decades. If you have a different idea for how a browser works you’re probably still better off starting from scratch than trying to hodge podge your vision from an existing engine that is already unwieldy and has plenty of vulnerabilities (while more and more will appear as time goes on).
There is
ladybugladybird*Ladybird
which is however not a fork, either hard or soft, of anything
Xd
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
Sometimes a decent FOSS app is created with no income flow, true, but I don’t think anything on the scale of a web browser/rendering engine has ever.* All of the sizable FOSS projects I can think of have the support of one or more sponsors who have an an interest in seeing the project succeed. I’m thinking of Linux, Chromium, AOSP, Debian, KDE, Blender, and the like. About 85% of commits to the Linux kernel are from full-time employed corporate contributors.
Lemmy gets some sponsorships I think, but from non-profits. Besides that, it is supported by donations, and seemingly not enough. I was a regular donator, but I’ve since fallen on hard times and cannot help right now. They deserve better, honestly. My point is, we take nice FOSS projects for granted, and I don’t think we really have any right to complain if they go away or wind up driven primarily by corporate interests. The work is not free.
*Come to think of it, I think KHTML, the rendering engine on which Blink and Webkit are ultimately based was started as a volunteer project. After it became a viable starting point for Apple and Google though, it was forked and primarily developed by employees of Google and Apple. I guess that’s a similar story as Linux, but without the fork.
















