Congrats on the new release. Anything that creates more competition in the browser space has my support. I was hyped about Ladybird but their recent adoption of LLMs and going source-available only has put a bit of a dent in it.
I think you mean that the Ladybird project doesn't accept outside contributions anymore but it's still open source (just checked it's under BSD 2-Clause License). Pretty important distinction I think.
Yeah, it's a Linux system. I can't remember if it was spidermonkey that it failed on or not. Though it sounds like maybe they should consider using another JavaScript engine if it's causing problems.
If you can, try again (don't forget to start with `./mach bootstrap` to install dependencies) and open an issue if the build fails. SpiderMonkey is shipped pre-compiled for most architectures, so it's not a big hurdle in terms of build time.
Not really. There's a parallel thread on the front page where everybody's talking about writing a browser engine in anything other than Rust is irresponsible, and ridiculous. And yet, no one's rushing to pick up Servo. There seem to be some projects in GTK and QT to embed it, but other than a handful of pretty niche browsers, doesn't seem like there's much use.
Nobody is using it because it's not ready to be used. Compatibility with web standards is nowhere near the level of browsers people actually want to use.
Writing a new browser engine at all is irresponsible and ridiculous. Doing it in anything other than Rust just makes it slightly more irresponsible than it already is.
I don't see how it is irresponsible or ridiculous. More browser engines is a good thing. It might be irresponsible to bet your company on it at this point, but on its own I think it is a worthy endeavor. Plus it looks like a lot of fun to work on! This is hacker news after all.
Ridiculous because it's absolutely guaranteed to fail. Irresponsible because if it does succeed against all odds, the internet will actually become a worse place.
If you can't implement most of the web standards (not even all, just most of them), then one of the following will happen:
- your engine will never catch on (best case scenario)
- your engine will be forever known as "this browser where nothing works" and will be perpetually ignored in all discussions about cross-browser compatibility, nullifying any positives that could come from its existence
- worst possible outcome: your engine gains market share, gets treated seriously, and the global development of all new web standards stagnates until you can catch up, which means over a decade of zero innovations.
And you CANNOT implement most web standards[1]. There's too many of them, they all interact with each other too much, the engineering effort required is comparable with rewriting all of Linux from scratch.
And of course there's security. A massive project like that will have massive code complexity, which leads to enormous number of security holes. Chrome and Firefox are mostly secure because their maintainers spent literal decades fixing the holes. They have 20 year headstart over you in making it secure, and they don't have to play catch up with web standards like you do. Everybody using your engine is therefore at a much greater risk of getting hacked than if they sticked with Chrome. And that's assuming you use Rust. If you don't use Rust, then security would be so bad it's not even funny.
None of it matters if you're just making a personal project for the heck of it, of course. Go do it! Have fun! It doesn't matter if you use Rust or not because nobody will use it anyway, so pick whatever tech stack you like the most. Node sounds like a fun choice - it solves the problem of running JS scripts basically for free!
>and will be perpetually ignored in all discussions about cross-browser compatibility
If violence doesn't solve your problems, you use not enough violence.
Also if you don't implement web standards, it's doesn't mean that nothing works. Adblock and noscript break web standards, but people use them just fine, they actually make web work better.
>A massive project like that will have massive code complexity, which leads to enormous number of security holes.
Presumably much of that is in network protocols like heartbleed, which has little to do with something like html parsing or google fonts. Also this is in fact a reason for a new browser engine: Chrome and Firefox lost security, because no matter how much they fix, they still have holes.
>If you don't use Rust, then security would be so bad it's not even funny.
I didn't say nothing would work. I said it'd be known as the one where nothing works. Think: IE6. It implemented like 95% of all web standards as of 2006. But this missing 5% was the difference between being at the forefront of progress and holding back the entire industry.
Today, IE6's 95% would be less than 10%. So you'd need to implement several times more features than IE6 had to be even remotely close to the status of unworkable mess that webdevs are better off not supporting.
Low-level exploits like heartbleed are quite rare actually. The vast majority of security bugs in Chrome and Firefox are in unsafely handling edge cases in parsing HTML and other media types, not isolating script execution enough, and bugs in runtime interfaces (cookies, local storage, mic&cam APIs, location APIs, etc.) Realistically, there's no way to avoid these bugs - browser engine has too much inherent complexity, statistically you're bound to mke amistake every so often. Moreover, IIRC about half of those bugs are caused by buffer overflows and similar memory bugs. So by using Rust, you can expect to have half as many security holes than you'd have otherwise. The number is still in the thousands either way.
That kinda undersells it I think. It's really core components being ported: the JavaScript engine is already ported, with the style and layout systems underway.
Up until ~2015 one of the world's most deployed browser engines was Sciter. A work of _one_ person. A fast embedded browser engine, a binary about 4Mb in size.
It was used to render the UI in apps like our favorite McAfee antivirus.
This niche is still wide open. Electron apps are just terrible, and a focused fast embeddable browser engine would be very welcome.
> This niche is still wide open. Electron apps are just terrible, and a focused fast embeddable browser engine would be very welcome.
I agree with you but throwing web standards out the window like Sciter is a non-starter. One of the benefits of Electron apps is still having the option to run it in your browser.
It doesn't have to implement _all_ the standards, just a subset that is compatible with the full set. So that if you can develop an app within that subset and have it working in other browsers. But not necessarily vice versa.
Doesn't look like it but if Servo wants to be a production-ready browser they will likely need to do the same. Better security and reliability having processes handling different roles.
You mean target Servo's limited compatibility and it should work fine in browsers? Maybe? But there's potential to accumulate workarounds that fix things in Servo but break other browsers.
Typical binary sizes are around 10-20mb, although you can go smaller by doing things like excluding features or compiling with `Os`/`Oz`.
There's no JavaScript yet (which can also be a benefit of course!), but people have recently started experimenting, and we may well start on this soon.
Yes! There are a few experiments with JS engines going on (all very early stage atm (and many vibe coded) but looking promising enough to justify doing a proper implementation in future).
With this you can actually run regular React DOM (so fully compatible with deploying the same codebase to web). There is then the potential to mix in native components, although that's not fully built-out today.
Finally, as part of this project we develop Dioxus Native (see https://github.com/DioxusLabs/dioxus and https://dioxuslabs.com). This allows you to write your app in a React-like framework in Rust, which also allows you to write a single codebase and compile to both native (desktop/mobile) using Blitz and to web (compiles to WASM, renders using real DOM nodes).
Mozilla Firefox merged Servo's Stylo CSS engine into Firefox 57 in 2017 and their WebRender renderer into Firefox 67 in 2019. I guess you could call that a "pretty niche browser" even then but that's a stretch.
No one's rushing to pick it up because Servo was originally an experimental Rust project meant to incrementally replace parts of Firefox. Then Mozilla stopped funding its development, and only recently have people picked it back up again as an independent browser implementation.
> Mozilla Firefox merged Servo's Stylo CSS engine into Firefox 57 in 2017 and their WebRender renderer into Firefox 67 in 2019.
Well sure, but Firefox is still primarily powered by Gecko and SpiderMonkey. And they laid off the entire Servo team.
I wanted this to succeed as much as the next guy, but the momentum just isn't there. I was stunned to hear they are getting close to $8k a month in donations though, so it's certainly not dead (obviously, since this is a realease announcement).
Maybe give them a second? Yes, it's usable for applications web views if you're willing to restrict yourself but for general purpose web browsing there's still a lot that needs doing (but work is progressing). Under Google's management, web tech has grown fast. And it's an ever shifting living standard. There is a lot for any alternative browser engine to implement, let alone keep pace with the changes.
Servo is 14 years old, it's hardly a new project. Ladybird has come much farther in a shorter amount of time. The issue has always been Mozilla not being focused.
Servo was sparsely maintained for years after Mozilla abandoned the project. Just in the last year it has picked steam as an independent project with a range of third party sponsors. Work is now progressing apace and it's becoming increasingly compatible with real-world websites.
> Ladybird has come much farther in a shorter amount of time.
That's hardly a fair assessment when large parts of Servo were mainlined into Firefox years before Ladybird even existed. Stylo, their CSS engine, landed in Firefox 57 in 2017 replacing ~160k lines of C++ with ~85k lines of Rust.
Servo wasn't originally really intended as a browser competitor. It was the flagship experimental project of the Rust language to replace parts of Firefox with memory safe implementations, which it pulled off in style. It's only recently that people have picked it back up as a browser project, years after Mozilla killed the development.
Ladybird has far more funding. The original blog post said Servo brought in $7k last month. Compare that to Ladybird and the first donation on this list already exceeds Servo’s total:
https://ladybird.org/newsletter/2026-06-30/
I played around with it as a replacement for embedded WebKit in a desktop app. It's getting there!
It's obviously not ready yet, but it's also not "infinitely far" anymore. I'm donating to them, because I think that they're the only realistic successor to the dying Firefox.
I've got a stripped down installation of win11 in a vm that has Servo as its only browser if there's ever a need to open a website in it. It's something!
I've repeatedly said this almost year after year, but Servo is not a "real" project. It's weird, but whatever the case is, after it left Mozilla, it has clearly oriented around being governance focused and not helping actual embedded browser engineers.
You don't have to believe me, just look at their track record and ask yourself why no one embeds it in anything after, what, a decade or more?
Congrats on the new release. Anything that creates more competition in the browser space has my support. I was hyped about Ladybird but their recent adoption of LLMs and going source-available only has put a bit of a dent in it.
I think you mean that the Ladybird project doesn't accept outside contributions anymore but it's still open source (just checked it's under BSD 2-Clause License). Pretty important distinction I think.
It's just a pause until they get to their alpha deadline. Hard to do that when you can't quickly validate all the drive by llm contributions
The very first link in the post is broken. The correct link is:-
https://github.com/servo/servo/releases/tag/0.4.0
Prior releases included a preceding 'v' in the version but not this one for some reason.
Wonder how long it will take before they can render PDFjs? That is a hard target admittedly.
There are more important things to work on like that overengineered bloatware regex.
> like that overengineered bloatware regex
I don't know what that would mean in this context. Did you mean the js stdlib regex implementation? Any help?
The last few times I've tried to build Servo it's failed for me. (It's also one the very few rust projects that have ever failed to build for me).
On a Linux system or something else? Iirc a proper build uses spider money which is hell to build/embed.
Yeah, it's a Linux system. I can't remember if it was spidermonkey that it failed on or not. Though it sounds like maybe they should consider using another JavaScript engine if it's causing problems.
If you can, try again (don't forget to start with `./mach bootstrap` to install dependencies) and open an issue if the build fails. SpiderMonkey is shipped pre-compiled for most architectures, so it's not a big hurdle in terms of build time.
What exactly are the curmudgeons in this thread getting out of this?
Does anyone actually use Servo for anything?
Not really. There's a parallel thread on the front page where everybody's talking about writing a browser engine in anything other than Rust is irresponsible, and ridiculous. And yet, no one's rushing to pick up Servo. There seem to be some projects in GTK and QT to embed it, but other than a handful of pretty niche browsers, doesn't seem like there's much use.
Nobody is using it because it's not ready to be used. Compatibility with web standards is nowhere near the level of browsers people actually want to use.
Writing a new browser engine at all is irresponsible and ridiculous. Doing it in anything other than Rust just makes it slightly more irresponsible than it already is.
I don't see how it is irresponsible or ridiculous. More browser engines is a good thing. It might be irresponsible to bet your company on it at this point, but on its own I think it is a worthy endeavor. Plus it looks like a lot of fun to work on! This is hacker news after all.
Ridiculous because it's absolutely guaranteed to fail. Irresponsible because if it does succeed against all odds, the internet will actually become a worse place.
If you can't implement most of the web standards (not even all, just most of them), then one of the following will happen:
- your engine will never catch on (best case scenario) - your engine will be forever known as "this browser where nothing works" and will be perpetually ignored in all discussions about cross-browser compatibility, nullifying any positives that could come from its existence - worst possible outcome: your engine gains market share, gets treated seriously, and the global development of all new web standards stagnates until you can catch up, which means over a decade of zero innovations.
And you CANNOT implement most web standards[1]. There's too many of them, they all interact with each other too much, the engineering effort required is comparable with rewriting all of Linux from scratch.
And of course there's security. A massive project like that will have massive code complexity, which leads to enormous number of security holes. Chrome and Firefox are mostly secure because their maintainers spent literal decades fixing the holes. They have 20 year headstart over you in making it secure, and they don't have to play catch up with web standards like you do. Everybody using your engine is therefore at a much greater risk of getting hacked than if they sticked with Chrome. And that's assuming you use Rust. If you don't use Rust, then security would be so bad it's not even funny.
None of it matters if you're just making a personal project for the heck of it, of course. Go do it! Have fun! It doesn't matter if you use Rust or not because nobody will use it anyway, so pick whatever tech stack you like the most. Node sounds like a fun choice - it solves the problem of running JS scripts basically for free!
[1] https://waspdev.com/articles/2025-04-07/will-there-be-a-new-...
>and will be perpetually ignored in all discussions about cross-browser compatibility
If violence doesn't solve your problems, you use not enough violence.
Also if you don't implement web standards, it's doesn't mean that nothing works. Adblock and noscript break web standards, but people use them just fine, they actually make web work better.
>A massive project like that will have massive code complexity, which leads to enormous number of security holes.
Presumably much of that is in network protocols like heartbleed, which has little to do with something like html parsing or google fonts. Also this is in fact a reason for a new browser engine: Chrome and Firefox lost security, because no matter how much they fix, they still have holes.
>If you don't use Rust, then security would be so bad it's not even funny.
Proofs?
I didn't say nothing would work. I said it'd be known as the one where nothing works. Think: IE6. It implemented like 95% of all web standards as of 2006. But this missing 5% was the difference between being at the forefront of progress and holding back the entire industry.
Today, IE6's 95% would be less than 10%. So you'd need to implement several times more features than IE6 had to be even remotely close to the status of unworkable mess that webdevs are better off not supporting.
Low-level exploits like heartbleed are quite rare actually. The vast majority of security bugs in Chrome and Firefox are in unsafely handling edge cases in parsing HTML and other media types, not isolating script execution enough, and bugs in runtime interfaces (cookies, local storage, mic&cam APIs, location APIs, etc.) Realistically, there's no way to avoid these bugs - browser engine has too much inherent complexity, statistically you're bound to mke amistake every so often. Moreover, IIRC about half of those bugs are caused by buffer overflows and similar memory bugs. So by using Rust, you can expect to have half as many security holes than you'd have otherwise. The number is still in the thousands either way.
I believe Ladybird is being ported to Rust as we speak.
Nah, just individual components where memory haters
> just individual components
That kinda undersells it I think. It's really core components being ported: the JavaScript engine is already ported, with the style and layout systems underway.
I thought they were going to use Swift?
Huh they gave up on that apparently.
https://ladybird.org/posts/adopting-rust/
Up until ~2015 one of the world's most deployed browser engines was Sciter. A work of _one_ person. A fast embedded browser engine, a binary about 4Mb in size.
It was used to render the UI in apps like our favorite McAfee antivirus.
This niche is still wide open. Electron apps are just terrible, and a focused fast embeddable browser engine would be very welcome.
> This niche is still wide open. Electron apps are just terrible, and a focused fast embeddable browser engine would be very welcome.
I agree with you but throwing web standards out the window like Sciter is a non-starter. One of the benefits of Electron apps is still having the option to run it in your browser.
Yes, that's why Servo is so exciting.
It doesn't have to implement _all_ the standards, just a subset that is compatible with the full set. So that if you can develop an app within that subset and have it working in other browsers. But not necessarily vice versa.
If you're going by binary size then Servo is already as big as other browsers. 106 MB excluding dependencies, or 274 MB including dependencies.
Does Servo still launch a herd of processes like Electron?
Doesn't look like it but if Servo wants to be a production-ready browser they will likely need to do the same. Better security and reliability having processes handling different roles.
You can trim it quite a bit, and it also compresses quite well. The dependencies are the main issue, there's just a lot of stuff there.
Can't you run servo apps in the browser? There's no compat in the reverse direction only.
You mean target Servo's limited compatibility and it should work fine in browsers? Maybe? But there's potential to accumulate workarounds that fix things in Servo but break other browsers.
I've been building for the fast/embeddable browser engine niche:
Source: https://github.com/dioxuslabs/blitz
Status: https://blitz.is/status/css
Typical binary sizes are around 10-20mb, although you can go smaller by doing things like excluding features or compiling with `Os`/`Oz`.
There's no JavaScript yet (which can also be a benefit of course!), but people have recently started experimenting, and we may well start on this soon.
This is awesome! Do you think you can host something like React Native if you add a JS engine?
Yes! There are a few experiments with JS engines going on (all very early stage atm (and many vibe coded) but looking promising enough to justify doing a proper implementation in future).
With this you can actually run regular React DOM (so fully compatible with deploying the same codebase to web). There is then the potential to mix in native components, although that's not fully built-out today.
Finally, as part of this project we develop Dioxus Native (see https://github.com/DioxusLabs/dioxus and https://dioxuslabs.com). This allows you to write your app in a React-like framework in Rust, which also allows you to write a single codebase and compile to both native (desktop/mobile) using Blitz and to web (compiles to WASM, renders using real DOM nodes).
> And yet, no one's rushing to pick up Servo.
Mozilla Firefox merged Servo's Stylo CSS engine into Firefox 57 in 2017 and their WebRender renderer into Firefox 67 in 2019. I guess you could call that a "pretty niche browser" even then but that's a stretch.
No one's rushing to pick it up because Servo was originally an experimental Rust project meant to incrementally replace parts of Firefox. Then Mozilla stopped funding its development, and only recently have people picked it back up again as an independent browser implementation.
> Mozilla Firefox merged Servo's Stylo CSS engine into Firefox 57 in 2017 and their WebRender renderer into Firefox 67 in 2019.
Well sure, but Firefox is still primarily powered by Gecko and SpiderMonkey. And they laid off the entire Servo team.
I wanted this to succeed as much as the next guy, but the momentum just isn't there. I was stunned to hear they are getting close to $8k a month in donations though, so it's certainly not dead (obviously, since this is a realease announcement).
It got dropped in 2020, picked up again in 2022/2023, and just hit the pre-2020 activity level (in terms of commits per unit time) this year.
Servo has always been a purely reasearch project with no intention to be ever used in production.
I thought the original purpose was to rEwRiTe iT iN rUsT and replace gecko in Firefox?
From the presentation announcing Rust inside of Mozilla: https://venge.net/graydon/talks/intro-talk-2.pdf
> We are not “rewriting the browser”. That's impossible. Put down the gun.
Impossible in 2010, maybe
Regardless if it's still true or not, the original purpose was not to re-write Gecko.
Maybe give them a second? Yes, it's usable for applications web views if you're willing to restrict yourself but for general purpose web browsing there's still a lot that needs doing (but work is progressing). Under Google's management, web tech has grown fast. And it's an ever shifting living standard. There is a lot for any alternative browser engine to implement, let alone keep pace with the changes.
Servo is 14 years old, it's hardly a new project. Ladybird has come much farther in a shorter amount of time. The issue has always been Mozilla not being focused.
Servo was sparsely maintained for years after Mozilla abandoned the project. Just in the last year it has picked steam as an independent project with a range of third party sponsors. Work is now progressing apace and it's becoming increasingly compatible with real-world websites.
> Ladybird has come much farther in a shorter amount of time.
That's hardly a fair assessment when large parts of Servo were mainlined into Firefox years before Ladybird even existed. Stylo, their CSS engine, landed in Firefox 57 in 2017 replacing ~160k lines of C++ with ~85k lines of Rust.
Servo wasn't originally really intended as a browser competitor. It was the flagship experimental project of the Rust language to replace parts of Firefox with memory safe implementations, which it pulled off in style. It's only recently that people have picked it back up as a browser project, years after Mozilla killed the development.
Ladybird has far more funding. The original blog post said Servo brought in $7k last month. Compare that to Ladybird and the first donation on this list already exceeds Servo’s total: https://ladybird.org/newsletter/2026-06-30/
Servo does also have a handful of people employed to work on it full time outside of that $7k (not sure if that's also true of Ladybird or not)
Linkedin lists 8 employees for Ladybird.
It’s been around for 14 years but it wasn’t always developed during those 14 years.
It’s also no longer a Mozilla project.
> Maybe give them a second?
It's been a decade plus and new browsers have come out in that time.
New browser engines have not
I played around with it as a replacement for embedded WebKit in a desktop app. It's getting there!
It's obviously not ready yet, but it's also not "infinitely far" anymore. I'm donating to them, because I think that they're the only realistic successor to the dying Firefox.
I've got a stripped down installation of win11 in a vm that has Servo as its only browser if there's ever a need to open a website in it. It's something!
Near the end of each month, I get super excited for these blogs. Congrats on another release!
I've repeatedly said this almost year after year, but Servo is not a "real" project. It's weird, but whatever the case is, after it left Mozilla, it has clearly oriented around being governance focused and not helping actual embedded browser engineers.
You don't have to believe me, just look at their track record and ask yourself why no one embeds it in anything after, what, a decade or more?
Because webdevs are lazy and Electron works?