2) It was an attempt to rebuild a browser engine up from the ground up on modern hardware - and large parts of that work landed in Firefox.
I've tracked their progress for quite some time. There was never a concrete plan to replace the DOM handling components of Gecko with the DOM handling components of Servo.
It was written in 2013... when Servo was announced. Servo was originally intended to replace Gecko. Anything else is a retcon.
Saying "large parts of that work landed in Firefox" is misleading. A browser engine is a huge thing, and most of Servo is not in Firefox. If you just want to replace a few parts, creating an entirely new engine from scratch is far from the most efficient way.
Why does this matter? Well, because decisions have consequences. Way back in 2013, they were feeling pressure from Chrome, and decided the best way to compete was to rewrite the browser engine (in a brand new language to boot). The original engine stagnated, and here we are 7 years later. What a colossal failure.
> It was written in 2013... when Servo was announced. Servo was originally intended to replace Gecko. Anything else is a retcon.
Here is a quote from the Servo wiki from 2014, which is the earliest snapshot present in the WaybackMachine archives.
>Servo is explicitly not aiming to create a full Web browser (except for demonstration and experimentation purposes). Rather it is focused on creating a solid, embeddable engine. Although Servo is a research project, it is designed to be "productizable"—the code that we write should be of high enough quality that it could eventually be shipped to users.
The words "Firefox" or "Gecko" do not appear a single time in the blog post you cited originally. This is because there were no plans to replace Gecko with Servo at that point in time. They did plan for that possibility, and it was probably a minor goal, but the primary goal was research, as they stated in both the blog post and the wiki entry. They were hoping that they could replace parts of Gecko, I'm sure, but it was never a given.
In your quote, they didn't want to create a full browser, but they did want to create a full engine. And it was designed to be "productizable." I think it supports what I'm saying.
Servo was the last big plan from Mozilla to turn things around. Since then, we've just gotten Pocket, random bundled add-ons, etc. It seems like they are mostly just content to slide into irrelevance. And I am very sad about that. I do honestly wish Servo had succeeded, although I thought it was pretty obvious it wasn't going to.
Also, while I'm airing grievances, I think it's very likely that having a few big chunks of Firefox/Gecko be written in Rust is going to be a maintenance burden that will slow down development even more. Now that Mozilla has laid off the Rust and Servo people, what are they going to do?
>Here's the thing though: What this Servo dev thought of as "production ready" and what the Gecko team thinks is "production ready" are very different things. In Gecko-land, it's not enough to do best-practice things like continuous integration, regression tests, error handling, etc. For Gecko, it's also about compatibility -- both with 25+ years of web content (much of it malformed) and a wide range of supported combinations of operating systems and hardware.
>If you're working on Servo, you can be much more strict about what hardware combinations you support and what kind of content renders well. Look, there's a reason that the lineage of all widespread web engines go back 20+ years: it's much easier to incrementally improve that engine while ensuring that you're not breaking anything than it is to start over from scratch.
>I would also like to point out that you don't have to take my word for it: It has taken at least 3 years (probably closer to 4 years) to get WebRender ported over to Gecko from Servo and get it running well enough to the point that we can start saying that it will likely reach 100% deployment within months instead of years.
>My point is that, while Servo was great for demonstrating new ideas and producing eye-popping demos, it was not going to replace Gecko anytime soon, regardless of what those few Servo developers thought. In all the time I've worked at Mozilla, I have never once heard anybody in charge of Firefox say that we were going to do a wholesale swap out of Gecko with Servo.
We might be arguing past each other. He says this:
> Unfortunately a narrative kind of built up around all this stuff that Gecko developers were a bunch of bumbling idiots who were just maintaining a bunch of outdated bloatware, while the Servo project was where all the action was.
This is precisely my complaint. Firefox really did need some sort of strong direction to save it, and Servo was all they came up with. I don't think it was just a few self-important Servo devs, I think (at least part of) management was in on it too. In fact, the blog post above was signed by Brendan Eich, which I find really disappointing (I thought he, at least, was smarter than that...).
Anyway, once Servo sucked all the other oxygen out of the room, Firefox was really doomed. Now Servo is dead and we have... a few incremental improvements to Gecko to show for it. I definitely feel bad for the guys working on Gecko the whole time. That said, they could've came up with some "response" to Servo, but they didn't.
> Servo is an attempt to rebuild the Web browser from the ground up on modern hardware, rethinking old assumptions along the way.