[–] porphyra 2 days ago
[–] btown 2 days ago
> Can I submit a PR that includes code generated by AI tools?
> No. This includes (but is not limited to) all generative AI tools like Claude, Codex, ChatGPT, Cursor, Gemini, and Windsurf.
For something like a browser, this de facto limits the set of people who can contribute to something that touches the layout engine (e.g. the ineffable but brilliant https://github.com/servo/servo/blob/main/components/layout/f...) to just those already familiar with the code.
A much better middle ground IMO would be to quarantine first-time committers behind an AI-generated-PRs-will-not-be-reviewed policy, but to allow those who understand and respect the cycle enough to get PRs accepted, to begin using AI to give the team leverage. Without some kind of policy like that, Servo's sadly going to fall behind literally any other open-source project that people could dedicate their time towards.
[–] fabrice_d 2 days ago
[–] alfiedotwtf 2 days ago
Now, in 2026 I’m excited by LLMs because the combo of Rust+AI is literally an unstoppable force..
It’s a shame they’re building the Lamborghini of rendering engines but refuse to source parts unless it’s delivered on horseback
[–] scratcheee 1 day ago
Now reviewing code, finding flaws? They’re great at that. Prototyping new ideas, and suggesting potential solutions? Amazingly useful. Writing lots of code solving problems in projects focused on having the features not on being long term secure and easy to extend? They seem to do this very well.
But the actual code going into a web browser engine needs to be very carefully produced.
So I’d compare it more to how c++ going into safety critical systems cannot use any of the “cool” features of c++. Code going into a web browser cannot be generated without a human hand tightly on the tiller.
[–] matkoniecz 1 day ago
[–] cowlevel 2 days ago
By the time you understand it you shouldn't need AI to write changes. First-time committers are the ones most likely to use AI.
[–] cleansy 2 days ago
[–] darkamaul 2 days ago
Based on the tool listed here, you can probably know when this policy was first written. For instance, Windsurf is long gone and Cursor is not tier 1 anymore.
Crazy to think how much the space of AI coding agent has evolved in less than 2 years.
[–] porphyra 2 days ago
[1] https://github.com/servo/book/commit/5afb80d5b08b259ca359cfe...
[–] nextaccountic 2 days ago
In 2024 the tools were severely lacking. Today they work better (if subpar and verbose), but put an undue burden on reviewers (which are already in short supply)
[–] Hendrikto 2 days ago
[–] worldsavior 2 days ago
[–] LeFantome 1 day ago
The design of Ladybird follows the web standards closely as well. It is going to be quite different from older engines. And the code is quite organized, if your concern is AI slop from layers and layers of AI added features. I do not think that is how they are using it at all.
My biggest gripe with Ladybird is that they adopted some pretty large components written by Google. You cannot really use Skia and say that you do not rely on Google as an example.
Not relying on Google was their big selling point, since every other browser is Google-dependent.
[–] zarzavat 2 days ago
[–] eyjafjallajokul 2 days ago
Well, I mean Servo was the original catalyst and production use-case for Rust back in 2012. Both are products of the work of various folks at Mozilla around the time.
[–] throwup238 2 days ago
[–] fabrice_d 2 days ago
[–] jpfr 1 day ago
Maybe, hopefully, Rust allows to maintain a more safe browser at less than 20,000 commits per month.
We will see the maintenance effort after achieving 100% WPT. And whether they can close the performance gap by Rust-enabled safe concurrency...
[–] dnautics 1 day ago
Why? Beacuse of memory safety?
It's a shame that there aren't other memory safe low-level options that don't come with the rest of the baggage of rust, or try out different paradigms, for example: not defaulting to malloc (and having other allocator options that aren't painful), not using trait-based shared behavior, not using macros, no turbofish, object orientation (for those who partake), etc.
[–] jeffbee 2 days ago
[–] nicoburns 1 day ago
[–] fabrice_d 2 days ago
[–] jeffbee 2 days ago
[–] fabrice_d 2 days ago
- Servo b88af263d11e12288ff3eca0848aaa675d6a52f0: 21.4
- Chrome 157: 60.9
- Safari 27.2: 59.2
- Firefox 159: 41.0
So between 2x and 3x slower than the current "big 3".
[–] orangeboats 2 days ago
[–] MobiusHorizons 2 days ago
[–] orangeboats 2 days ago
>v8 is fast because it emits assembly
It emits machine code afaik. And secondly, do you _really_ want to implement the intermediate layers of a JIT in assembly?
[–] MobiusHorizons 1 day ago
However the point I was trying to make is still relevant I think, which is that machine instruction abstraction layer (whether it is serialized as binary machine code or as assembly text) remains a critical piece of what makes high performance software fast even today.
There is a recurring myth I see on HN that suggests abstraction layers are progressive, as though humanity had evolved past the assembly/machine instructions abstraction layer to C to higher level languages leaving lower abstraction layers behind completely. That is simply untrue, and a project like V8 is actually a great example of this, since it not only will have hand tuned assembly routines, but also needs to ship a bespoke compiler which will emit machine instructions.
So even though it’s true we don’t organize our software with assembly language, it remains a key to performance. It could be a custom JIT compiler, hand tuned SIMD code (eg to handle string parsing), or even just checking what the compiler emitted (eg in compiler explorer). Machine instructions remain key to high performance.
[–] orangeboats 1 day ago
I am not going to waste my time with you.
[–] robin_reala 2 days ago
[–] ericyd 2 days ago
[–] shakna 2 days ago
As an on-again off-again project, I've been building an incremental game that is pretty much just hundreds of progress bars - a little bit out of the norm for the browser.
Firefox everything renders smoothly and gently.
Chrome chugs, skips paints, delays animation frames, skips some events, and batches others.
Game uses a few features that aren't in Servo yet... But maybe I can tweak it...
[–] caminanteblanco 2 days ago
[–] npodbielski 2 days ago
[–] npodbielski 2 days ago
[–] caminanteblanco 2 days ago
[–] npodbielski 2 days ago
[–] moderation 2 days ago
[–] jszymborski 2 days ago
[–] moderation 2 days ago
[–] nerdypepper 2 days ago
[–] nerdypepper 2 days ago
[–] hn_submit 2 days ago
[–] Weryj 2 days ago
[–] wild_pointer 2 days ago
[–] walski 2 days ago
[–] amelius 2 days ago
Do they allow vibe-coded contributions?
[–] simonw 2 days ago
> Contributions must not include content generated by large language models or other probabilistic tools, including but not limited to Copilot or ChatGPT. This policy covers code, documentation, pull requests, issues, comments, and any other contributions to the Servo project.
> For now, we’re taking a cautious approach to these tools due to their effects — both unknown and observed — on project health and maintenance burden. This field is evolving quickly, so we are open to revising this policy at a later date, given proposals for particular tools that mitigate these effects.
The references to ChatGPT and Copilot suggest it was authored before the Codex and Claude Code revolution. I wonder if they'll revise it at some point soon.
Update: looks like that language was originally added in July 2024: https://github.com/servo/book/commit/5afb80d5b08b259ca359cfe...
I found a discussion about changing it in April 2025, but they decided to keep it the same at that point: https://github.com/servo/servo/discussions/36379
[–] matkoniecz 2 days ago
are there serious projects welcoming vibe-coded PRs?
[–] kykat 2 days ago
[–] fabrice_d 2 days ago
[–] wmanley 36 minutes ago
* The migration away from mongodb: completed.
* CUDA implementations of our image processing algorithms: done.
* Removing copies from our video capture pipeline: done.
* Migrating away from AngularJS to server side templating: tractable and in progress
These are all things that I’ve known about for years, and that we’ve been paying tech interest on. I know what needs to be done, but it’s never been a high enough priority to actually invest the time. Up till now it’s been cheaper just to pay that interest than to pay off the capital. Thanks to agents it’s finally happening.
[–] tcdent 2 days ago
Have been using it as the render backend on an experimental tablet OS and its quite capable once you fix the font rendering.
Would gladly upstream contributions but I dont type anymore.
[–] phkahler 2 days ago
With an official automated test suite that they aim to pass, someone could probably set Claude loose on closing out those bugs and feature gaps. Assuming AI can figure out why tests fail (it probably can) I'd give it about a day to finish. Actually maybe a week since it'd be compiling RUST. Would the resulting code be of the same quality? Probably not. Would it be good? Maybe.
[–] nicoburns 2 days ago
[–] pkulak 2 days ago
[–] tormeh 2 days ago
[–] samus 2 days ago
[–] matkoniecz 2 days ago
feel free to make one
[–] domenkozar 2 days ago
Feels like a missed opportunity where we could take a giant leap forward.
[–] porphyra 2 days ago
But even in June 2026 they reiterated this ban and added CI checks to automatically reject AI-coauthored patches [1].
> For developers of Servo itself, please note that per project policy, you must not use the output of large language models or other generative AI tools in your contributions. To help us enforce that, we now have CI checks that reject AI agents as coauthors (@SimonSapin, @delan, #44723).
[–] matkoniecz 2 days ago
seems entirely reasonable reason and approach, and I see no reason to force everyone approach LLM in the same way
[–] nerdypepper 2 days ago
that being said, i entirely respect their decision of course, perhaps they will revisit at a later point in time!
[–] nicoburns 2 days ago
My experience is that it varies greatly by feature.
Something like border styles, the agent was able to do pretty effectively. Although it still took a few hours iterating on it to get the performance characteristics and edge cases right.
More complex features like hoisting position absolute nodes and other layout features still take days to weeks of iterating to get something usable that isn't so fragile it'll blow up the next time you touch something.
[–] Zecc 12 hours ago
[–] fschuett 2 days ago
[–] 8NNTt8z3QvLT8tp 2 days ago
[–] Y_Y 2 days ago
[–] iknowstuff 2 days ago
But as maintainers we (I don’t work on servo, but other projects) know that obviously people use AI anyway.
But it seems really hard for it to get anywhere just based on occasional contributions from volunteers. I was actually quite surprised that basic functionality like <progress> and the :checked attribute were not even supported prior to this release.
Servo got 527 commits, while Chromium has over 20,000 commits.