Mozilla borrows from WebKit to build fast new JS engine
arstechnica.com
arstechnica.com
Apparently Firefox (as of Gecko/20100115 - FF 3.6) supports only the version 2 of their specification[2]. Adobe Reader supports the latest (4, don't know 4.2).[2]
Prior to Firefox 3.5 this was all supported without issue. As of 3.5 Firefox revoked support for ICC v4 (offering only ICC v2 support). As a result all colours look darker and I can rarely see gradients etc. now which is problematic as I prefer to use FF + Firebug for web development.
It would save a lot of compatibility issues for websites and web developers, as well as push standards further if they both ran the same engines underneath.
So essentially Firefox would kept its same UI and add-ons system and thus would still keep its users. Which browser users used would basically come down to their preference in the way the browser feels as speed/standards/etc would no longer matter since they would be roughly the same (FF/Chrome/Safari)
(Edit for the downvote parade - people have been talking about NIH at Mozilla for years:
http://www.linux-mag.com/id/4144
http://diary.braniecki.net/2008/01/27/not-invented-here-synd...
http://talkback.zdnet.com/5208-9595-0.html?forumID=1&thr... )
(And the irony that you're wanting them to adopt a codebase that exists mainly because Apple didn't follow your anti-NIH advice and adopt Gecko has already been covered in other comments, though no-one seems to have mentioned that Google could have have just worked on Webkit's Squirrelfish/Nitro rather than write V8, which meant they had two competing projects internally until they switched fully in version 2.0 of Android last September)
I mentioned that Mozilla is known for having NIH syndrome in response to the parent's question as to why they would use their own JS engine instead of V8. jrockway's point about the timing of it is probably correct, but it doesn't change the fact that people have brought up Mozilla's NIH for years.
They have developers on board familiar with the TraceMonkey codebase. They have developers from Adobe helping out with the Tamarin codebase. That's inside knowledge they would lose and it's debatable if on the long term V8 will deliver ... yes, right now it's the fastest, but is it the fastest approach?
Outsourcing a vital component of a project to another open-source project that's younger and hasn't proven its long-term viability should certainly be taken with a lot of care.
Personally I'm pretty happy with Firefox. The only thing bothering me is the single-process model, versus the one process per tab of Chrome, but I'm pretty sure they'll fix that pretty soon.
I really hope so. My average number of tabs open seems to be growing logarithmically over time (lately I've been weighing in at about 40, which is not even that many if you use Tree Style Tabs and put your tabs on the left), so I have a whole lot of tabs to reload every time I crash. And that happens quite a bit more often than it should, since I have so many tabs open.
If and when Chrome gets a left-side tree tab extension that works on OS X (haven't checked lately, I should keep an eye out), I'll be switching over almost immediately, for this reason alone.
Seems like WebKit should be able to use this code when it's working; Mozilla is GPL/LGPL/MPL, and WebKit is LGPL.
As long as they use open standards, it can't hurt the web, and if on top of that their code is open source, there should be lots of cross-pollination that further speeds things up.
It might be tempting to think that consolidating to one main platform would make things better - and maybe they would be at first - but in the long-term, without real competition, the rendering engine and javascript engines would almost certainly improve more slowly than they otherwise would.
If Apple had said the same thing back in 2003, then Webkit would not exist today. Firefox didn't exist then, but Gecko sure did, and there have been plenty of opportunities since for them to give up and switch.
I say there's value in diversity.
Both the Gecko and KHTML projects were started around the same time.
Gecko is also very very wide spread in other non-browser applications AFAIK.
Quote from: http://weblogs.mozillazine.org/bz/archives/020267.html
"This is not exactly an isolated incident; a number of the performance issues I've run into recently in Gecko have had to do with correctly handling edge cases that this particular open-source engine happens to just not handle. I guess it's easier to do well on tests if you cheat.
More interestingly, Opera's performance on this sort of thing is still quite good, and I have yet to discover them cheating..."
The comments are good too, and include input from Dave Hyatt, but you have to skip over the "contributions" of some aggressive webkit fanboys.
It's a good thing the WebKit and V8 teams didn't have that attitude, or the only open source rendering engine would be Gecko.
Mozilla will continue to use the tracing engine to JIT loops. It will fallback to the webkit js engine when the tracing JIT can't be used.