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?

  • WellTheresYourCobbler [ey/em, they/them]@hexbear.net
    link
    fedilink
    English
    arrow-up
    2
    ·
    47 minutes ago

    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).

  • mmmm@sopuli.xyz
    link
    fedilink
    arrow-up
    9
    ·
    2 hours ago

    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.

  • Arthur Besse@lemmy.ml
    link
    fedilink
    English
    arrow-up
    18
    ·
    5 hours ago

    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.

  • thingsiplay@lemmy.ml
    link
    fedilink
    arrow-up
    30
    ·
    5 hours ago

    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.