Hacker News new | ask | show | jobs
by Sebb767 1691 days ago
And yet the all could have choose Firefox and you could say exactly the same.
2 comments

Chromium has proper separation of its components (Blink, V8, Desktop, iOS, Android UIs, etc). It's "easier" for a small full-time paid team to detach the default browser UI, implement their own thing and keep the other components up to date.

Examples of this are the Electron Framework [0], Vivaldi, Brave, Opera, Yandex, Edge, etc.

Firefox instead is a nightmare to fork. They used to have something called XulRunner[1] that allowed to create your own XUL application (things like Seamonkey, Thunderbird used it) thus making it fairly easy to fork Firefox. After the 41 release Mozilla removed it completely. XulRunner's components were intertwined with Firefox code. Mozilla deliberately killed the easiest way to work their product.

Only light forks like Waterfox, LibreWolf are viable. Hard forks fail or struggle every single time Mozilla releases a new version (SeaMonkey, Waterfox Classic, Pale Moon, etc), lagging behind in features and performance.

Even WebKit is easier to integrate with your own UI (Safari, Gnome Web [2], etc).

[0] https://en.wikipedia.org/wiki/Electron_(software_framework)

[1] https://en.wikipedia.org/wiki/XULRunner

[2] https://wiki.gnome.org/Apps/Web/

Yes? I've no idea what you're implying. All the viable Chromium forks have large amounts of manpower and resources available.

The choice between forking Chromium and Firefox is mainly one of business[0]: Chrome has a >70% global marketshare, adding Edge & co even ignoring Safari it's probably around 80. Since Google also keeps pushing their own stuff, that means forking Chromium gives you much better compatibility guarantees.

[0] though the history of Chromium — and Webkit before that — forks also means there's probably a lot more knowledge floating around about maintaining such a fork, especially since Chromium itself was originally a fork (running concurrently with its source and regularly synch-ing from it, forking a dead codebase or hard-forking with no sync is a different concern)