this post was submitted on 22 Nov 2024
41 points (93.6% liked)

Open Source

31648 readers
192 users here now

All about open source! Feel free to ask questions, and share news, and interesting stuff!

Useful Links

Rules

Related Communities

Community icon from opensource.org, but we are not affiliated with them.

founded 5 years ago
MODERATORS
 

This may be one of those questions that might expose my half-baked knowledge in this field, so I thank the experts patiently explaining this to me in advance.

  1. What is the fuss about web browser engines?

As I can see, there have been many web browser engines in the past; most defunct / unmaintained and the three: blink, gecko and webkit being the only ones actively developed and maintained today (I am aware of Goanna, but some articles online say it isn’t being developed anymore – I could be wrong). What is stopping someone; say the FSF or some other group championing libre software from coming up with their own web engine completely different from the incumbent engines? I understand that not all web features will work with every engine, but surely we need more diversity than just the existing three to spur more development, right? Many software including the Linux kernel had humble beginnings and if enough people find it to be a suitable alternative, they might slowly jump ship to this new hypothetical web engine that was built using GPL3 from scratch.

  1. What is stopping web developers from simply shunning Google’s Manifest V3?

I haven’t seen or heard of one single good thing about Manifest V3 from any web developer (at least the six that I know personally), and have only read articles on why it is either unnecessary, or that the proposed advantages can easily be done is a less disruptive manner. While I appreciate that the internet today runs a lot on Google’s infrastructure and services, surely if Web Devs tell them to go pound sand, or intentionally break the site when using Google Chrome, and put a message saying, “Go to Firefox / Safari for a better experience”, that will make Google backtrack.

Once again, I apologise for these basic / daft questions. I appreciate any insight that you may have for me.

top 23 comments
sorted by: hot top controversial new old
[–] [email protected] 46 points 3 weeks ago (1 children)

The fundamental problem is that a web engine is one of the most massively complex pieces of software that we currently use. There are a ridiculous number of standards and behaviors that a modern web browser needs to implement, as well as a whole host of security implications that need constant updating. It's not like the majority of other software projects, where a determined solo dev or even small group can strike out on their own. It really requires a team of dozens or hundreds of developers putting in consistent effort, which basically means a corporate entity.

[–] [email protected] 12 points 3 weeks ago* (last edited 3 weeks ago) (1 children)

Agree, and this is why there are only three engines out there since more than 20 Years (+2 testiminial forks, Goanna (Gecko) and Qt (Blink), apart of KHTML only used by KDE in its Konqueror, grandfather of WebKit and Blink).

But the engine nowadays isn't the main problem and pretty irrelevant, the main problem is that Google control 3/4 part of the websites, imposing it's standart. All engines are FOSS and every company and dev can adapt these to his like. Chromiums are struggeling now with Mv3, but mostly due to the extensions frm the Chrome Store, not so with inbuild features (adblocker and other related privacy functions), in other extensions related to the UI, translators, tabs and similar, it's irrelevant for the user if it is Mv2 or Mv3.

In the choice of a browser there are only few questions

  • Does it fit my needs?
  • Does it spy my data and activity? (Chrome, Edge, Opera after v12)
  • Has it regular security updates?
  • A good support and active community?
  • Is it stable and save?

That are mainly the points, but as said, arguing about which browser is better is arguing about the wrong problem, which are the web standarts, not the browsers.

[–] [email protected] 1 points 3 weeks ago (1 children)

this is why there are only three engines out there

No.

[–] [email protected] 1 points 3 weeks ago (1 children)

Yes, there are three engines since 20 years (apart of some testimonil modifications and forks), because the engine is the most complex part of the browser and creating a new engine from skratch is a work for a huge amount of devs for several years. No browser company can affort to do this and stay out of the market for years until the release of their browser.

[–] [email protected] 1 points 3 weeks ago (1 children)

Yes, there are three engines since 20 years

If, and only if, you skip NetSurf's own one and Dillo's own one and the numerous text-mode engines like GNU Emacs's one, w3m et cetera, this number might be close to the whole truth. But I don't see why you would do that.

[–] [email protected] 1 points 3 weeks ago (1 children)

Netsurf use the WebView render, it's also used by Edge as part of the OS and Chromium. Text browser have a way simpler engine, because they don't need a graphic engine to render an webpage. The current engines in modern browsers are 3 and some variations, Goanna is a modified Gecko, and WebView, Qt, are Blink variants, Link was an improvement from WebKit and KHTML. Before there was Presto which is obsolete since a lot of years. The other day I saw an startup , I forgot the name, which was collecting support for a new brwser with an independent engine developed from scratch, they talked about an alpha release in 2027. First I thought to put it in jokes, but better comenting it with "Good luck, guys". In the Wiki is a list with over 70 abandoned and discontinued browser and browserprojects, a lot which also tried to make a different engine, even most of the existing browsers (~100) are fighting to survive in a saturated market. No chance to think in different engines as the existing ones.

[–] [email protected] 1 points 3 weeks ago

Netsurf uses its own renderer.

[–] JASN_DE 34 points 3 weeks ago (1 children)

surely if Web Devs tell them to go pound sand, or intentionally break the site when using Google Chrome, and put a message saying, “Go to Firefox / Safari for a better experience”, that will make Google backtrack.

Riiight... User will surely do that instead of simply never visiting your site again.

[–] LazaroFilm 10 points 3 weeks ago

Yep. If you don’t show me what I want without jumping through hoops. I’m gone.

[–] m4m4m4m4 22 points 3 weeks ago (1 children)

What is stopping someone; say the FSF or some other group championing libre software from coming up with their own web engine completely different from the incumbent engines?

Seems you're not aware of stuff like Servo, which some said was supposed to be the replacement of Gecko, and it's being written in Rust. But Mozilla ditched it and gave it to the Linux Foundation where its development is reeeaaally sloooooooow.

Afaik The Linux Foundation gives next-to-nothing, if not nothing, to its development. But despite of all of that it seems it has increased its pace (compared to the time it was just given to TLF) and has got donations and stuff.

But a browser engine is an absurdly huge piece of software and it will be a miracle if projects like Rust (or Ladybird, which I just learned it's targeting its first alpha for... 2026!) get backed by big corporations and their pace gets quicker.

Call me stupid or whatever (seeing the Reddit toxicity that has got into Lemmy I'd be surprised if this has no downvotes!) but I do think Servo has the potential to be a serious contender to the hegemony of Chrome/Chromium in the long haul. The Linux Foundation seems to have enough resources to propel its development and reach that goal, but they just choose not to nor seem to care at all. So yes, unless a miracle happens we normies can only choose between Chrome/Chromium, Firefox or something Webkit. Maybe even going absolutely radical and using Konqueror with its KHTML engine, if you can.

[–] [email protected] 2 points 3 weeks ago (1 children)

But a browser engine is an absurdly huge piece of software and it will be a miracle if projects like Rust (or Ladybird, which I just learned it’s targeting its first alpha for… 2026!) get backed by big corporations and their pace gets quicker.

NetSurf already does everything that Ladybird promises - and it has done that for years. Just saying.

[–] m4m4m4m4 2 points 3 weeks ago (1 children)

See, I didn't even know about it - only now that you mention it. Makes you wonder why more people aren't aware of it, whereas Ladybird has gotten more noise.

[–] [email protected] 2 points 3 weeks ago

Maybe because it's already old enough to not be "cool" anymore. Anyway, one of the reasons why I keep mentioning it is to reverse this noise.

[–] [email protected] 14 points 3 weeks ago

Modern web engines are basically mini operating systems. Long gone are the days where a web browser just needed to render basic HTML pages, handle some simple protocol actions, and render images.

To build something that supports all of the latest web standards, is secure, is always up to date, and on top of all that, is performant, requires a large group of very skilled devs working constantly on all those components.

Web development, for better or worse, has become a massive and rapidly evolving ecosystem that is constantly morphing and changing. Web apps are becoming the standard, and even "simple" modern websites are absolutely filled with different widgets and frameworks for all the different elements they contain.

If a very large/rich org or company decided to dedicate a whole team of devs to build a FOSS web engine, it could happen, but that used to be Mozilla, and look how that has slowly been failing.

What person with a website that has any significant traffic would willingly break it for 80+ percent of its users? That will never happen, sadly.

[–] [email protected] 8 points 3 weeks ago* (last edited 3 weeks ago)

but surely we need more diversity than just the existing three to spur more development, right?

Ideally, of course. In practice, to me, it looks like it's a very hard thing to do.

Don't let that discourage you from taking on the endeavour though! I too would like another option!

[–] [email protected] 7 points 3 weeks ago (1 children)

most defunct / unmaintained and the three: blink, gecko and webkit being the only ones actively developed and maintained today (I am aware of Goanna, but some articles online say it isn’t being developed anymore – I could be wrong).

The fourth most developed browser engine is Ladybird, spun off from the SerenityOS project. It's very active. And then you have Mozilla's Servo... kinda. And then Goanna is still maintained, but not too active.

[–] [email protected] 2 points 3 weeks ago (2 children)

Ladybird is still very early in development and is not even targeting an alpha release until 2026. There are no binaries currently available, so the only way to even test what currently exists is to compile the source code. I am excited to see a new competitor, but I also do not have high hopes given how difficult it is to meet all of the web standards. Given the increasing number of websites that have problems or limitations with Firefox, I do not foresee Ladybird ever getting to the point where it could be reliably used by average people. I would love to eventually be proven wrong about this though.

Servo also has nothing to do with Mozilla anymore. It has been a part of the Linux Foundation since Mozilla laid off all of the developers in 2020.

[–] [email protected] 1 points 3 weeks ago

I am excited to see a new competitor

I wish more people would help NetSurf development instead of joining the Ladybird bandwagon. Ladybird is basically a less portable, less complete NetSurf.

[–] [email protected] 1 points 3 weeks ago

I'm fairly excited about Ladybird because it's already gotten 423 on html5test vs Firefox 128's 544. I do agree that they're currently pretty much alpha quality, though.

[–] [email protected] 7 points 3 weeks ago

What is stopping someone; say the FSF or some other group championing libre software from coming up with their own web engine completely different from the incumbent engines?

Building a browser engine is hard, especially when the target is moving at a rapid pace, and that target is controlled by Google. Like it or not, the web as it is today, is pretty much driven by Google (and to a lesser extent by Apple and Microsoft) these days. They can throw infinite resources into developing the browser engine and the browser itself. The closest competitor we have today is likely Servo, and they scrape by on pennies.

Developing something from scratch, with even less funding and expertise than Servo is a non-starter. It's not going to happen. Sure, sure, there's LadyBird and some other independent efforts, but I very highly doubt they'll ever catch up to the three major engines.

To develop and maintain a browser, you need people, and they need to be paid. Paying open source developers is... quite a big problem in and of itself, even for things considerably easier and smaller in scale than a web browser.

surely if Web Devs tell them to go pound sand, or intentionally break the site when using Google Chrome, and put a message saying, “Go to Firefox / Safari for a better experience”, that will make Google backtrack.

They would not, because for every developer who would do this, there's 100 who would not, because their livelihood depends on people with Google browsers being able to use their stuff. Google is in a position of power here: they are the #1 search engine, they are the #1 browser, they're pretty well positioned on the mobile phone market too. The vast majority of businesses (companies or individuals, doesn't matter) simply can't afford to go against Google.

If the vast majority would, then yeah, Google would backtrack. But that would require a coordinated effort, from the vast majority of the internet. Likely multiple months of protest. That's not going to happen, people can't afford it.

[–] solrize 5 points 3 weeks ago* (last edited 3 weeks ago)

Building a full function browser is a huge project that can really only be done by a big organization. And it's mostly for the benefit of advertisers and other hucksters, so not a satisfying thing to work on for purely charitable reasons. Basically the web sucks. We'd be better off with a privacy protecting fragment that was designed for end users rather than for upstream. See Rfc 8890 for more.

[–] [email protected] 3 points 3 weeks ago (1 children)
[–] [email protected] 2 points 3 weeks ago

Which is a less portable, less complete implementation of this one.