That was the layoff where they got rid of all the rust people?
Its going to sound harsh, but they are loosing market share to browsers that didn't have to invent a new language to write a browser in.
So, getting rid of those people was probably a positive impact for firefox since they were mostly just yak shaving instead of actually improving the end product. The users don't care if you wrote it in C++ or fortran as long as it performs well, doesn't eat all their ram, or create giant backdoors.
Letting "the lets rewrite our core product in $COOL_TECH_OF_MONTH" people run a product is a sure sign of something that will fail if its not already. Lets invent our own computer language to do it is even worse.
This feels like a gross mischaracterization of the intent and work that went into Servo. You say this as if nothing else was being done on Firefox concurrently even though this is demonstrably false - and in fact, portions of Servo were integrated into Firefox (see: Quantum).
Firefox keeps losing on technical merit because it is fundamentally impossible to keep up with Webkit and Blink, which are all backed by massive corporations and are throwing money at the engineering and project resources to actually move things forward.
Your take was wrong. The move to rust was great and used to improve security and maintainability of the browser. They cut the wrong people. What they should have done was whack everything other than firefox and coders contributing to that code base and employees supporting that effort directly. They have awful leadership currently that are just milking their exec offices for the cash.
> The users don't care if you wrote it in C++ or fortran as long as it performs well, doesn't eat all their ram, or create giant backdoors.
In the short term, yes. In the long term however, this strategy could have been crucial. And the long term is precisely where open source software usually has the upper hand.
> The users don't care if you wrote it in C++ or fortran
Web site users don't care if a site's written with NodeJS or assembly; but that would make a huge difference to bugginess, development speed, feature set, etc.
Firefox is getting bogged-down in some areas due to its C++ codebase; especially trying to introduce concurrency (in a way which doesn't break everything, or cause unforeseen security implications, which is often the case in C/C++)
Yes, but consider the engineering effort to create a general purpose memory safe language vs just a domain specific one in comparison to the work required to write a browser, which also includes another domain specific language (javascript).
Seat of the pants, I would say getting something like rust on par with g++/clang code generation, and 3rd party tools is probably in the same ballpark engineering wise as actually maintaining the browser.
And if you spend a little time looking at firefox, there is/was a lot of low hanging fruit. I've mentioned elsewhere the difficultly building it, but even more than that, is that pretty much every single version of gcc that came out for a while would break firefox in some fundamental ways. And overwhelmingly these breaks were caused by crappy C++ programming where people were doing things that were known not to be syntactically correct but no one bothered to fix them. Then frequently instead of actually fixing them they did things like switch from building with an old GCC to a newer clang because it threw fewer errors. Then they claimed that the result was "faster" than gcc, despite the fact they were comparing an old version of GCC with a newer version clang. When the work was done to actually get it to build with gcc, it turned out to be even faster. (not that gcc is better than clang, only that ideally a project like firefox would compile cleanly with a wide range of compilers). Said compiler warnings are frequently valid, and analyzing them at least to know if its true is a worthwhile code quality exercise.
Yes, you have to ask yourself why everyone is using V8 as their JavaScript runtime and not Mozilla’s equivalent or why every alternative browser is using Chrome as a foundation.
Or XUL wasn’t packaged as cross platform GUI framework.
And then of course the Firefox mobile fiasco.
My guess is that the engineering and management don’t interact. Two different companies within the same company, no coherent vision.
What FF mobile fiasco are you speaking of? I am using FF mobile happily and have been for years. I haven't noticed any issues with it. Was there a business level fiasco or something?
One objective fiasco is the inability of FF on Android to keep multiple tabs in memory. Older versions were capable of it without issue, ever since the tab unloading feature, Firefox has been reloading tabs at the slightest pretense.
Switch apps? Tabs get reloaded when you're back.
Lock & unlock phone with Firefox in focus? Tabs get reloaded
Switch tabs in Firefox? Tabs get reloaded...
I wish I was just ranting, but all of the above happens with a single active tab loaded...
That is interesting to me because that isn't my experience. I just tried the lock screen for example and I couldn't get any of tabs to reload, foreground or not. I'm on Android 10 running on a Moto G7. Maybe it's affected by vendor settings?
Quite a few devices experience this though. For the record, I use an S9, and used to have 50+ tabs with no issues on older versions of Firefox - now I cannot have one tab remain open without a reload if I lock my phone with Firefox focused and turn unlock it a minute later. And that's with Firefox explicitly exempt from each and every kind of battery/memory etc. "optimization" by Android...
Doesn't happen for me. OnePlus 8 with Oxygen OS 11.
The one thing I really miss in FF mobile is the opposite.. Pull to refresh or another gesture that accomplishes that. The current two tap option is too slow.
The main problem is that they're not making money with their core product so they need to experiment and innovate to find ways to make money.
I agree they probably didn't need to invent rust: that was an happy accident, the kind of things that happen when you have really smart people around. If they had a money making accident we would be talking about something else, but I guess they would need a different type of culture for that to happen.
This is not how you run a company and it shows.
It's impressive Mozilla is still around if you ask me - but I suspect it has to do with Google, M$ needing someone easily controllable to keep the anti monopoly government people away from browsers.
> The main problem is that they're not making money with their core product so they need to experiment and innovate to find ways to make money.
Firefox is owned by the Mozilla foundation, the corp is only there to help develop it since having developers work directly for the foundation is apparently complicated. Non-profit foundations don't need to find ways to make money with their core product and they should not try to - instead they can seek funding elsewhere, for example from donations and government grants.
No the corporation was founded because having a major corporation like Google pay so much to a foundation was difficult for tax reasons.
But it did push them over the edge IMO. They're behaving like a corporation now, with a CEO pulling as much money as they can, too much PR etc. Through the Google deal they have become what they were fighting. But they're not very good at it, hence the low marketshare.
Rust and servo were how they were innovating, and where a lot of the competitive features came from. By firing them, Mozilla made clear that they do not care about these things. The CEO is quite clearly a parasite hell-bent on extracting as much value as she can before bailing for the next victim.
The problem--and I feel the pain here deeply as a security person myself--is that that innovation was primarily along an axis (security) that no users care about (with a small bit of performance from concurrency, but there were clearly other ways to be faster), and was draining resources away from innovation that users cared about... which I'd claim was even going in the opposite direction: for many years now they have been continually tearing out the non-philosophical reasons I used Firefox in the quest to build a clone of Chrome, something the world doesn't have much use for as it already has Chrome.
Remember that the users still using Firefox are mostly technical and privacy fans that do care about security a lot.
Focusing on the mainstream user at this point will not help as they're already so far gone they don't even remember the name Firefox anymore.
They should focus first on making it and excellent browser for the users that still care. Then word of mouth will bring it back to the mainstream as it did the first time.
It's not even that they're building a clone of Chrome - Chromium is actually adding features like tab groups.
It's more that they're removing not-Chromey bits, not adding the Chromey bits, and removing Firefoxy bits like search keywords via bookmarks and the like.
As a Firefox user I disagree. Their work on Servo and Rust resulted in many performance and reliability improvements. WebRender for example came directly from Servo.
It's unfortunate that after those changes, the Mozilla team did not take criticism in public forums very seriously and brushed it off as noise. I personally stopped using Firefox after some of those "architectural" changes started producing "dead" tabs - the tab could not be interacted after load.
In place of "We're listening", users that complained got a "Works fine on my machine" bundled with a few rude words in places like Reddit. Not the core teams fault, of course.
Someone with more time can probably set up a scientific test of the performance claim even today - set up a bunch of Selenium tests to open JS-heavy sites in multiple tabs on older versions of FF upto current version using BrowserStack or SauceLabs.
The question is, would the work have been done sooner, or more effectively if they had just fixed the C++ code rather than spending a lot of time creating rust, only to rewrite said code?
I mean to this day (and i just tossed off a firefox build yesterday to see if most of what I was saying is still true), the firefox maintainers can't even be bothered to fix the tens of thousands of warnings that appear when built certain ways. That is a really low bar to cross with a C++ project, and they haven't even bothered. I've worked on projects where we had a recommended compiler, but we always spent some time assuring that the project appeared to work with the latest gcc/icc/whatever, because at some point those newer compilers would become the defaults, and also because they frequently pointed out issues in the code. Its just a cheap way to fix undefined behavior bugs.
So, I think the only answer to that is yes, that long stretch before they dropped the rust code was wasted time/effort.
Mozilla didn't really invent Rust, and its looking quite likely that Rust is going to be just as significant of a contribution to the world as Firefox was (long term).
Its going to sound harsh, but they are loosing market share to browsers that didn't have to invent a new language to write a browser in.
So, getting rid of those people was probably a positive impact for firefox since they were mostly just yak shaving instead of actually improving the end product. The users don't care if you wrote it in C++ or fortran as long as it performs well, doesn't eat all their ram, or create giant backdoors.
Letting "the lets rewrite our core product in $COOL_TECH_OF_MONTH" people run a product is a sure sign of something that will fail if its not already. Lets invent our own computer language to do it is even worse.