4 ms·
> "in 10 years, maybe we'll be able to take on Electron" isn't that great of a value proposition Perhaps not, but "in 10 years, we'll have a browser that's sig
by timschmidt 2y ago
> "in 10 years, maybe we'll be able to take on Electron" isn't that great of a value proposition
Perhaps not, but "in 10 years, we'll have a browser that's significantly faster and safer than the competition" is how you plan to still be relevant 10 years from now.
- jokethrowaway 2y agoAs much as I love servo and rust, you can't compete with Google and Chrome. Certainly not on performance. On safety you have a chance because bugs happen.
- timschmidt 2y agoIf you think Servo can't compete with Chrome on performance, please watch this talk: https://www.youtube.com/watch?v=BTURkjYJ_uk https://www.youtube.com/watch?v=BTURkjYJ_uk
- dralley 2y agoThe browser engine is not what makes Firefox "relevant" or not. Their competitors are Apple, Google and Microsoft. The marketing budget for Chrome is larger than Mozilla's entire budget. "Google" is synonymous with the entire internet for a large fraction of the non-technical population. Every device you could buy on the market whether a PC, a tablet or a phone has one of their competitors browsers already pre-installed. Their primary leverage is unique features and functional adblockers, neither of which is impacted by the layout engine. And again, you're taking away resources from something that is already behind right now. The canonical example of massive long-term rewrites being a bad idea for the business is literally the precursor to Firefox. Gecko can be refactored in-place, including into Rust if they decided to do so.
- timschmidt 2y ago> Their primary leverage is unique features and functional adblockers, neither of which is impacted by the layout engine. Yes, unique features like being written in a memory safe language and depending on memory safe implementations of image and video decode libraries are exactly what I care about in an all-knowing sandbox which touches network services and runs untrusted code on my computer. > And again, you're taking away resources from something that is already behind right now. Disagree. You're talking about every Mozilla project that's not Servo. Firefox/Servo development is Mozilla's core competency. One which they've abandoned.
- dralley 2y ago>depending on memory safe implementations of image and video decode libraries are exactly what I care about in an all-knowing sandbox which touches network services and runs untrusted code on my computer. What does that have to do with Servo? Firefox has already been doing those things and continues to do them [0], they don't need to do them in Servo first. We are specifically talking about the utility of rewriting a layout engine from scratch, rather than putting more resources into evolving Gecko - including rewriting small parts of Gecko in Rust incrementally. >Disagree. You're talking about every Mozilla project that's not Servo. Firefox/Servo development is Mozilla's core competency. One which they've abandoned. They obviously haven't abandoned it. It's not like they cancelled Gecko development too and are rebasing on top of Blink. Again, this is all just a philosophical debate over whether rewrites or refactors are more effective when it comes to the most core component of the browser. [0] https://github.com/mozilla/standards-positions/pull/1064 https://github.com/mozilla/standards-positions/pull/1064
- timschmidt 2y agohttps://4e6.github.io/firefox-lang-stats/ https://4e6.github.io/firefox-lang-stats/ Do you see those red and orange and green pie slices? 40% of the code. There, be memory errors. Approximately 70% of all errors in that code will be memory safety related and exploitable. Fixing it looks like developing Servo. Don't want to take my word for it? How about the US Department of Defense: https://media.defense.gov/2022/Nov/10/2003112742/-1/-1/0/CSI_SOFTWARE_MEMORY_SAFETY.PDF https://media.defense.gov/2022/Nov/10/2003112742/-1/-1/0/CSI...
- dralley 2y agoMozilla continues to add new Rust to Firefox, despite discontinuing the Servo project. A big parallel rewrite is not the only possible approach to writing Rust. "Fixing it" does not have to look like Servo. In fact doing more incremental rewrites will improve the situation shown in that chart much faster than waiting 10 years for parity before doing the replacement. I'm not responding further until you actually read and understand what I'm saying instead of flailing at a strawman.