One year of sponsored Servo development(servo.org) |
One year of sponsored Servo development(servo.org) |
The setup right now seems to give enough people enough time to work on it to move forward, why on earth would you want to involve companies infamous for their shit software quality, like Samsung?
Because look at Mozilla... You need to get the browser in front of people. A browser that works on the real web, is such a huge project, you cannot do it as a hobby community-funded project for ever. You need user-share-%.
Samsung can put it in front of Samsung appliance users.
So sure, Samsung would bundle it with their usual crap, but if it helps making the engine more mature, great, but I also don't see why they would in the first place.
You understand that Mozilla Firefox is not funded by the "community" and is completely funded by Google's money. Even donating does not fund the browser.
Mozilla knows that the open source "community" has no money, and cannot replace the amount of money Google is paying them and the employees who work on the browser.
The question is are you ready to fill the $600M a year black hole for Google to NOT pay Mozilla to fund Firefox?
It only makes sense for Servo to get funding from for-profit companies at this point, which is one of the only ways open source can work.
Some non-profits have their HQ in the valley and pay SF salaries when they could just as well have paid a fraction of that to a very competent developer elsewhere.
Another big thing is govt aligned sponsorships are not for software but for generating jobs/work within their borders.
It’s apparently still not ready to be used as a browser engine (and may never be), so what exactly is it for?
Rust was started in 2006 (20 years ago) and is now one of the most powerful programming languages, while the Servo project was started in 2012. If they reach parity and beyond of current browsers this could clearly become one of the most important browser engines in the future. Effort very well spent in my opinion.
It... took... long...
But there it was. And it still works.
Just the fact that Firefox got browser tabs before anyone else, and Firebug, just took it to another level compared to all the other browsers available at the time.
All this effort to use rust and yet they would not rewrite the JS engine which is the biggest attack surface for memory vulns.
Also, isn't the goal of Servo to effectively compete with CEF first and foremost? Because you don't need memory safety for that really
https://servo.org/blog/2024/04/15/spidermonkey/
https://github.com/servo/servo/wiki/Servo-and-SpiderMonkey-R...
the monthly updates always mention their refactoring work on the script crate
Focus on core right now, you can change js engines further down the line if need be.
Just that - even if you distribute work to a number of cores (that itself limited), you still need to sync the execution. So unless you have some bigger chunks of computation, the performance increase will be very small.
And yes, there are bigger chunks of work when rendering a web page, but that is typically already outside the css engine and can be distributed without having to rewrite the core engine.
But my comments are a bit generic here, so I am open to comments regarding this particular project.
[1] https://wpt.fyi/results/?label=experimental&label=master&pro...
Making a new browser engine hurts browser compatibility more than it helps it. It now becomes one more target that needs to be tested against, limitations need to be kept tracked of, etc. The best thing for long term browser compatibility is focusing resources into Blink. In regards to the standard we can use LLMs to cross reference the spec, with tests, and with the implementation to make sure all match.
https://github.com/versotile-org/tauri-runtime-verso
Servo doesn't implement the whole web platform, but your own desktop app isn't the whole web. You can generally work around any limitations or missing features. And it might be lighter than CEF or whatever.
And yet, somehow, Ladybird seems to be the darling of the masses (in certain circles at least). Doing vibe-ports to Rust, while going closed-contribution also, in my mind, sits in a marked contrast to the origin story that initially generated so much goodwill.
You can run CAD in it: https://solvespace.com/webver.pl
Then somewhere along the way, they decided they wanted to be a real browser for some reason even though we have Chrome, Safari and Mozilla which is open source. This is IMO the worst use of your time as talented engineers, your product is completely undifferentiated and can never be differentiated since it’s a browser. You’re competing against very well funded adversaries, who are giving away everything for free.
Inevitably to compete, you will lean heavily into AI coding, at which point the “learning” goal is completely left at the wayside.
I’d analogize, there are sometimes good reasons to build a game engine, maybe it’s for learning, keeping the skill alive, something unique you want to demonstrate or you just want to reinvent the wheel for your game but using AI, a bajillion tokens to build an Unreal clone is a waste of your time, which is exactly what Ladybirds doing.
I disagree with this. Yes, we have Chrome, Safari, and Firefox. And a few spin-offs of those. However, functionally, they are all pretty much the same. They all offer largely the same set of features, have substantially identical UX, and in general try to be everything for everyone.
What's missing is a browser for those of use who aren't "everyone." There is an (admittedly small) market for a browser for the privacy-conscious, the ad- and DRM-averse, the hackers, the power users, and those who are delighted rather than scared to see every possibly tweakable knob and button in their settings menu. Let me change the theme, let me rearrange the UI to my workflow, let me block any damn element/site I choose at the network level. Give me an API to extend and modify the _whole_ browser however I want without needing your corporate permission.
What's missing is the "Linux" of browsers.
(To be clear, I am not suggesting that Ladybird or Servo will fill this gap. It's too early to say one way or the other.)
I'm not even disagreeing with your position (mostly by not having my own), but I find it hilarious how close this reads to Torvald's "I'm doing a (free) operating system (just a hobby, won't be big and professional like gnu)"
I had the impression all along this was the goal. The initial message was "You CAN build a modern browser" which includes JavaScript, modern CSS, WebGL, WASM, WebGPU, etc. The initial article that Ladybird very loudly proclaimed to be antithesis to asserted these are why you can't make a web browser.
https://ladybird.org/posts/adopting-rust/
Myself, my annoyance with Ladybird is that restarted everything from scratch. There are components of servo that are really good and basically complete. Why not use those components and concentrate on the components where you have design conflicts with Servo?
Call me chronically online or whatever, but I've looked at his twitter, and I really don't like his attitude. What specifically grinds my gears is one of tweets where he looks down on programmers who rewrite and program just for the fun of programming.
It's so hypocritical of him, when his entire project started off as just for the fun of programming.
The cherry on top is this was all a part of the whole "agentic shift". I'm fine with someone using AI, and he seemed to use it semi responsibly (at least last I checked), but his hubris and hypocrisy make me not care about the project anymore.
The same would occur again.
That folks want to take it further is admirable. But doubtful Mozilla could have afforded to with their existing commitments.
On the other hand, I don't know if a slightly more customizable browser is something that's really worth building from scratch.
To me it's just not serious. They also had articles of "why we are doing zig and not rust".
It's an ambitious project, but I can't take it seriously when the tech stack is in constant flux.
The motivation to use a memory safe language as the alpha approaches sounds more of a longer term bet [3].
[1] https://ladybird.org/newsletter/2024-11-30/#swift-language-a...
[2] https://ladybird.org/posts/adopting-rust/
[3] https://ladybird.org/posts/changing-how-we-develop-ladybird/
Lol, for Blink perhaps, what about the rest of the ecosystem, the web and the users, like the ones who don't even use Blink?
Very idealistic point-of-view with no basis in reality, sadly, because wouldn't it be nice if we could care about just one engine?
That’s what makes Google more dominant, and if you think that’s a good idea you should really put down your LLM and go read up on a bit of history. Do you want to live in a world where a single company controls your access to the web? Are you eager to navigate through ad pages with a little bit of web? To have even more of your data mined?
Browser diversity may be a bit annoying for developers, but it is good for users, and developers are users too. When there’s a lack of diversity, everyone but the dominant player is squeezed.
That can only happen if we don’t all focus resources on Blink, which is the point. By definition, we can only have other engines if diversity is a thing.
The problem isn’t specifically Google (though they are a problem), but any one individual company having all the power.
Why? What's fundamentally stopping Edge market share from going to 90% that would go away if they switched back to their own browser engine?
>but any one individual company having all the power.
Open source means that anyone can make any change at any time. Google doesn't have all the power over what a fork does. A fork is still in full control.
Yet somehow this argument seems to evaporate since people’s brains short circuit the moment they see the name Google.
The community can always fork and maintain a separate version of Chromium if necessary. Or does this concept only not apply to Chromium?
And if FF also starts to restrict UO, I just go to chrome then. I assume many think like me.
>work on other browser engines is not duplicated or wasted.
How is having N engine developers implement some new addition to the EMCAScript or CSS standard for each of their engines not duplicated work?
Maintaining a fork is not fun as taking patches from the origin repo becomes more complicated the longer the fork exists and the bigger the divergence becomes.
> How is having N engine developers implement some new addition to the EMCAScript or CSS standard for each of their engines not duplicated work?
It would be duplicated only if they all maintained, say, a Blink fork.
Firefox was great because it was open source but it wasn’t ever really the “best” browser - it was the best open source browser.
Yes that was implied because IE was not mentioned either!
From https://fedoraproject.org/wiki/Firefox_Hardware_acceleration
I think that was around 2022-23.
I remember this affecting my laptop video watching a lot. Google meet feeling sluggish on Firefox is also something I remember until very recently..
They want to degrade the experience just enough to get you fed up with FF and go (back) to Chrome, without making it absolutely obvious that's what they're doing.
They often label these things as "regressions" because they don't test on Firefox and take forever to fix them. But I can't help but believe it's intentional.
Then Microsoft stopped developing IE, and it became essentially frozen.
Mozilla moved ahead with refactoring the browser parts into a lightweight Phoenix (Firebird, Firefox - anyone remembers the FireSomething extension?). But it took _years_ for it to get into a usable state.
> Just the fact that Firefox got browser tabs before anyone else, and Firebug, just took it to another level compared to all the other browsers available at the time.
Your quote doesn’t appear.