top | item 5225064

Why Mozilla Matters

307 points| gkanai | 13 years ago |brendaneich.com | reply

156 comments

order
[+] blumentopf|13 years ago|reply
I have a hard time believing Brendan's pledge to diversity given Mozilla's non-support for Gecko embedding.

There's a number of Gecko-based browsers, e.g. Camino, and they've left their users in the lurch by ending support for Gecko embedding: http://caminobrowser.org/blog/2011/#mozembedding

Mike Pinkerton has for years been voicing rightful criticism that Mozilla is focussing on Firefox and nothing else, see e.g. this interview of 2006: http://mozillamemory.org/detailview.php?id=7277

If Mozilla really wants diversity, why haven't they made an effort to make Gecko attractive for embedding, thus providing an alternative to WebKit? Instead they've done the exact opposite.

[+] fpgeek|13 years ago|reply
> If Mozilla really wants diversity, why haven't they made an effort to make Gecko attractive for embedding, thus providing an alternative to WebKit?

I think Mozilla's announcement makes their reasoning fairly clear:

https://groups.google.com/forum/#!topic/mozilla.dev.embeddin...

My summary is:

- The old embedding infrastructure was difficult to use and expensive to maintain

- It was also a technical dead end

- Better embedding infrastructure depended on complex architectural changes to Firefox

- Firefox is Mozilla's bread-and-butter, in terms of visibility, influence and revenue

- Mozilla has ambitious goals and does not have infinite resources

Forget for a moment that we're talking about Mozilla, Firefox and Gecko embedding. In a different context, what would you do?

[+] Millennium|13 years ago|reply
Even when Mozilla supported Gecko-embedding, major devs rejected it time and again over the years, always in favor of WebKit or Presto. Even the Gnome folks had switched away well before embedding was deprecated.

Frankly I think the Mozilla folks learned the wrong lesson from this, but they did learn something.

[+] rurounijones|13 years ago|reply
Well that seemed like a very well-reasoned and well-written article without. I found myself nodding along with a lot of it.

The part about there not really being "One Webkit" is the bit that stuck out for me since it seems (warning: generalization ahead) most outsiders (even web-developers based on articles and comments I have observed on HN) do believe that Webkit is mostly one engine worked on by one basically happy family of corporate sponsors.

[+] noahl|13 years ago|reply
I might be behind the times, but the thing that was by far the most interesting to me was Servo [0]. He's absolutely right - all of the current rendering/JavaScript engines are going to need significant work to take advantage of massively-parallel hardware in the next few years. (I say this after seeing the work required to port ordinary CPU code to CUDA. OpenCL should be similar.) The idea of Mozilla not just switching to WebKit but actually trying to leapfrog it to a new, even better rendering engine is awesome.

[0] https://github.com/mozilla/servo

[+] steveklabnik|13 years ago|reply
And of course, with servo being written in Rust, that makes it doubly interesting.

"To make an apple pie from scratch, you must first create the universe." - Carl Sagan

[+] mindcrime|13 years ago|reply
Mozilla had their shot at being the leading edge browser, and, heck, maybe they even were for a while. But at some point in the history of Mozilla / Seamonkey / Firefox they started to care way too much about "market share" and started treating IE as though it was the target. Discussions about implementing new standards or new features ended with "but IE doesn't do that", etc.

And then Mozilla became very inimical towards the idea of implementing forward looking things, and giving ideas a chance to win or lose in the "marketplace" (not a perfect metaphor, but whatever). Remember the debacle over mng support? The argument basically reduced to "nobody's using it" at a time when no browsers supported it. And nobody was going to use it, until some browser(s) did support it. But IE didn't, and IE was the target. Oh yeah, there was some argument about the size of the code, etc., yada yada, but even when the developers reduced the size of the mng code dramatically, it was still rejected.

Mozilla leadership never seemed willing to try and lead and expect IE to begin to see Firefox as the target. XForms? Mozilla absolutely should have implemented XForms properly. The one place they did actually get "ahead of the curve" a bit was SVG, and - while still hardly dominant - SVG has finally made into IE.

Honestly, while Firefox is a great product in many ways (I'm using it to compose this post) I think it has fallen short of what it could be, and one reason for that - IMO - is an overly dogmatic, top-heavy leadership model and lack of willingness to incorporate feedback from the larger OSS community.

[+] tedmielczarek|13 years ago|reply
You're trying to make a technical argument and referencing MNG and XForms. I'm really not sure where you're going with that.
[+] NinjaWarrior|13 years ago|reply
If you don't like monocultures, you shouldn't have hated plug-ins. And Firefox OS should allow users to install browsers other than Firefox.

I'm very sad that not only Flash 11 but also Silverlight and Unity Web Player are all doomed by the enthusiasm of the "open" standards. Therefore, I feel that current Mozilla is full of hypocrisy.

And Mozilla, you must implement the Web Audio API ASAP. Without this, all interactive "HTML5" demos with audio will be developed only for WebKit browsers. "We innovate early, often"? I don't think so.

[+] azakai|13 years ago|reply
> If you don't like monocultures, you shouldn't have hated plug-ins.

Plugins are each a monoculture. Flash, Silverlight, etc. - these are not multiple implementations of the same standard (like WebKit and Gecko are). Plugins are each a single implementation of non-standard.

> And Firefox OS should allow users to install browsers other than Firefox.

Firefox OS is really just the Firefox browser and minimal stuff around it to make it run. I'm not sure I see the point of allowing installation of another OS from it (replacing firefox there means replacing basically everything).

> I'm very sad that not only Flash 11 but also Silverlight and Unity Web Player are all doomed by the enthusiasm of the "open" standards.

None of those are doomed, except for Silverlight which Microsoft decided to discontinue. And the thing that is dooming Flash is not open standards, but iOS which did not allow it to run, which eventually made Flash irrelevant on mobile.

> And Mozilla, you must implement the Web Audio API ASAP.

Of course, work on this is well underway. You can follow here,

https://bugzilla.mozilla.org/show_bug.cgi?id=779297

[+] padenot|13 years ago|reply
The Web Audio spec is more a user manual than a spec, to be fair. We are implementing the API at the moment, but the spec is so unclear that it is impossible to implement it properly. We have a couple things done and working, though.

And about "We innovate early, often", keep in mind that we had a counter-proposal to the Web Audio API, that we implemented. The W3C has chosen Google's instead of ours, and I believe that the fact we are late to implement this particular spec is quite normal.

[+] air|13 years ago|reply
Monoculture means here that everyone is running the same implementation. Flash 11, Silverlight and Unity Web Player are all examples of that.

Allowing opaque plugins encourages weakly specified technologies with just one defacto implementation and leads to monocultures.

[+] loudmax|13 years ago|reply
If Flash, Silverlight, and Unity Web Player were based on open standards and they each had as many competing implementations as there are web browsers, then they might be a real way forward. They're each useful in their own way, but their application is limited because they're each locked to a proprietary implementation.

Granted, Silverlight was "open" in the sense that it had defined specs, but the specs were clearly written by a single company, and competing implementations would be at a significant disadvantage.

[+] kevingadd|13 years ago|reply
The Web Audio API is Chrome-only (or I guess it shipped on iOS 6 now? I still can't use it in Safari on my desktop PC) because Google wanted it that way. The API is incredibly poorly specified and poorly designed.

HTML5 games have been able to use <audio> to play sounds since before the Web Audio API existed, but Google never bothered to actually make it work right in Chrome. They were too busy coming up with their own thing.

[+] tjansen|13 years ago|reply
When you still need to explain why Mozilla matters, despite a market share of ~20%, I guess it's already doomed...

Practically nobody uses a browser, or any other product, only to "fight monoculture". It may be an honorable goal, but a product needs compelling advantages beyond that.

[+] robotmay|13 years ago|reply
The reason I use Firefox over Chrome is mostly down to memory usage with a large amount of tabs open. Chrome really starts chugging when you get over 40 tabs (and it's a pain to organise them too). It also has some really weird caching problems which you only seem to stumble upon if you're doing a lot of web development.
[+] Svip|13 years ago|reply
I think that is a little petty. While I may be a vivid Mozilla supporter (and user of Firefox!), I did too get the strange feel of it being a bit of a 'whining'. At least the title gave that impression.

But reading the entry, it is actually rather good reasoning for why Mozilla won't switch to WebKit. I am not sure WebKit-dev really needs more companies telling them what to do. Or fight over what to be done.

While others may disagree, I consider XUL a compelling advantage over the alternatives, because I can modify my browser to my liking, without writing my own browser from scratch.

I am not trying to be conservative, but I like the way Firefox does things. Yes, there are issues, it is hardly perfect (I use Chromium to watch Flash and use Java at home, because I fear Firefox's heavy memory footprint[1]).

And Firefox's desktop share has remained rather stable the past year, along with Chrome's share.[2]

[1] Although, in fairness, I do usually have over 100 tabs open. [2] http://arstechnica.com/information-technology/2013/02/intern...

[+] fpgeek|13 years ago|reply
I think you missed an important point.

OP is not arguing people should be using Firefox or other Mozilla products to "fight monoculture". OP is arguing that in order to deliver browsers (and other products) with compelling advantages in a way that advances Mozilla's mission, Mozilla needs to maintain their own rendering engine(s).

[+] guelo|13 years ago|reply
I'm pretty sure you're wrong about that. The last time we had a corporate controlled monoculture there really was little practical reason to switch away from Microsoft to Mozilla except the idealism of fighting against corporate control, in fact, there were plenty of practical reasons not to switch since a big chunk of the web at the time worked only on IE browsers. But significant people did switch, enough to make a difference.
[+] Proleps|13 years ago|reply
I use Firefox because it is free software. It feels more honest than Chrome, IE or Opera.
[+] Ygg2|13 years ago|reply
I don't think fighting a monoculture is a bad thing. Monoculture is bad in the long run, there are several implications to it mostly security wise.

So its not just monoculture. It's also Mozilla's wast ecosystem of customization and the good will it's projects generate.

Look at it this way - Did Chrome made/sponsor PDF reader in JS? Did it sponsor a Flash VM in JS? Did Google Chrome team made tools other than would help all vendors equally? Dart and NaCl are valiant efforts but they help Chrome first and other browsers second.

[+] Offler|13 years ago|reply
Then I suggest you read the article as he gives a very good explanation.
[+] acdha|13 years ago|reply
For me the question for the larger web community boils down to this: we benefit as a whole when there are multiple high-quality browser engines but the implementors do not directly receive a significant share of those benefits (i.e. Opera implemented some things, helped the standards improve, and 99% of the web didn't benefit until the corresponding WebKit or Gecko implementation).

If we want that to change – particularly for ambitious projects like major security or parallelism improvements – it seems like there has to be some way to bring the scale back to the level where a small group can effectively enter the field.

[+] mtgx|13 years ago|reply
I wonder if Mozilla plans on rewriting Firefox with Rust. Would that be too big of a task for Mozilla? They should also make the decision if they stick with Gecko or not at that point.
[+] zobzu|13 years ago|reply
They are developing them in parallel. Since rust is still an experimental project (the language isn't even finalized) it wouldn't make sense to replace firefox with it _now_.

So there is no "at that point" decision. Firefox+Gecko codebase is here to stay for a few years.

[+] anotherevan|13 years ago|reply
As soon as I saw the headline that Opera was switching to WebKit, I thought, "I bet I know what announcement Mozilla will be making on April first..."
[+] Nitramp|13 years ago|reply
> [...] Don’t get me wrong. I am not here to criticize WebKit. [...]

Well, no. The whole "Thoughts on WebKit" section of the article spells out problems with WebKit that do not exist in Mozilla-land; most people would call that criticizing.

Which is perfectly fine (how would you write this article without critically comparing the different projects), but please be honest about it and spell it out.

[+] sixbrx|13 years ago|reply
I might not be at the party to drink the spiked punch, but that doesn't mean I won't partake a bit...
[+] skatepark|13 years ago|reply
Mozilla -- and Brendan Eich specifically -- have held back the web as a platform for years.

Brendan Eich is myopically focused on the DOM and JavaScript monoculture -- rather than the underlying potential of the web: a standardized and completely open application platform.

I assume this is due to his own vested interests and personal investment as the author of JavaScript, but it has been incredibly damaging to the web as a whole. For Google to push anything forward (NaCL, PNaCL, dart), they need at least one other major browser vendor to join them. Apple and Microsoft have vertically integrated native application markets, and have no reason to further the development of the web. That leaves Mozilla.

If Mozilla genuinely cares about providing an open application platform (ala Firefox OS), they'll put Brendan Eich out to pasture and focus on moving past his stranglehold on JavaScript+HTML.

[+] mwcampbell|13 years ago|reply
I think I have identified a few potentially faulty assumptions underlying your comments.

You assume that the only reason that Mozilla is the only major player to push JavaScript as the way forward is that Brendan invented JS. Another interpretation which is less cynical toward Mozilla is that the other players are most interested in their own platforms, whereas Mozilla is most interested in the Web as a whole. A JavaScript runtime is the one runtime that all browsers have, so rather than fragment the landscape with a second runtime, Mozilla is pushing JS as the way forward.

You assume, as if it were an axiom, that compiling other language to JavaScript is less efficient than compiling to LLVM bitcode and/or x86/ARM native code. I'll take these separately.

Targeting JavaScript versus LLVM bitcode: For good performance, either of these will be JIT-compiled to native code. To claim that LLVM bitcode is a better target, you need to show that some JIT compilation technique implemented by LLVM/PNaCl is made impossible by JavaScript the language. JS typed arrays provide a C-friendly memory model; I don't know of anything else that's missing. I'd be happy to be educated though.

Targeting JavaScript versus native code: Last I checked, Google is not going to push NaCl for standard web apps until PNaCl is ready. So we'll need the cross-platform target and JIT compilation anyway. You may argue that even when PNaCl is ready, application developers will also ship x86 and/or ARM builds for maximal efficiency. But let's dig a little deeper: in all likelihood, the PNaCl, x86, and ARM builds are all generated by a compiler from a single intermediate representation. In principle, why couldn't a subset of JavaScript be compiled to equally efficient native code? Even assuming that offline ahead-of-time compilation yields more efficient code than JIT compilation, a browser could observe which apps the user uses most, and apply more aggressive offline compilation to those apps. So it is by no means imperative that application developers ship native code.

You also assume that Mozilla's insistence on the DOM and other existing standards, rather than PNaCl + Pepper, is unequivocally holding back the Web as an application platform. Let's drill down into specifics. What features do NaCl and Pepper provide that aren't (yet) covered by standardized APIs? My understanding was that Canvas and WebGL are helping a lot.

Finally, you may be unaware of some limitations in NaCl. Specifically, because of the way NaCl validates code, you can't run a JIT compiler on top of NaCl. So, if you thought that NaCl would be a better target for Java/Python/Ruby/pick your favorite than JS, think again. For good performance, you'd need something to compile your source language to something else anyway, either JS or LLVM bitcode. Might as well be JS.

I think I have demonstrated that Mozilla's insistence on JS and other standards is not holding back the Web as an application platform by any means. Indeed, none of the other major players you've mentioned, not even Google, is as serious about the Web -- the open Web -- as Mozilla.

[+] bzbarsky|13 years ago|reply
NaCL is tied to particular hardware.

PNaCL doesn't exist yet, so there is nothing to push.

Dart is a much more interesting question.

That said, is there really value in having two and only two languages available (and leaks when you try to use both together in nontrivial ways) compared to using JavaScript as a compilation target? I guess it depends on how good a fit Dart is for your use cases...

[+] azakai|13 years ago|reply
> For Google to push anything forward (NaCL, PNaCL, dart), they need at least one other major browser vendor to join them. Apple and Microsoft have vertically integrated native application markets, and have no reason to further the development of the web. That leaves Mozilla.

Yes, but Mozilla still needs to be convinced that the new technology makes sense for the web. Mozilla collaborates with Google on lots of new things for the web (WebRTC, see recentl HN stories on interoperability between Chrome and Firefox there, Web Intents, etc. etc.), but it does disagree on NaCl for example.

[+] mwcampbell|13 years ago|reply
Question for skatepark: If PNaCl were finished now and supported by every major browser, what would you do with it? Would you use it to supplement the existing web stack for performance-critical code? Or would you write whole applications in some other language (if so, which one?) and target the browser via PNaCl?
[+] OGinparadise|13 years ago|reply
IE does MS bidding. Chrome does Google's bidding.

So, I hope Firefox stays and I hope that the $1 billion Google gave them doesn't change their priorities.

[+] fpgeek|13 years ago|reply
Just because Google gave them $1 billion doesn't mean it impacts their priorities (see: Apple and the rumored billions Google gives them for being the iOS search engine placement). It also matters what other offers are on the table. I bet Microsoft would be willing to pay plenty for Bing placement in Firefox. Both Mozilla and Microsoft clearly considered the possibility seriously (remember Firefox with Bing?).

Also remember that, initially, Firefox's Google contract expired without being renewed. Instead, the renewal came a few weeks later. At the time there was plenty of speculation that Google was letting Mozilla twist in the wind. Considering how much Google came back with, it certainly looks like any twisting went in the other direction.

[+] tedmielczarek|13 years ago|reply
I'm pretty sure we don't get anywhere near a billion dollars from Google. I haven't paid attention to our financials in a while, but the most recent public financial documents from 2011 say "Mozilla’s consolidated reported revenue (Mozilla Foundation and all subsidiaries) for 2011 was $163M (US), up approximately 33 percent from $123M in 2010."

http://www.mozilla.org/en-US/foundation/annualreport/2011/fa...

[+] byefruit|13 years ago|reply
Clearly Mozilla matters to Brendan Eich because without it he would struggle to find somewhere to meet his atleast $500k/year[1] pay package?

Mozilla's board are accountable only to themselves. It's a personal playground and cash machine for Baker and Eich.

[1] http://thetruthaboutmozilla.wordpress.com/2007/12/22/analyzi...

[+] BrendanEich|13 years ago|reply
I know, don't feed the troll, _ad hominem_ arguments are fallacies on their face, and all that.

But so that there is no confusion on the part of readers who haven't been around the block, or around the valley, and therefore might be taken in by your libels, here's a personal testament:

You (byefruit) may be young, and/or not in my Silicon Valley job market. Look at my peers of around the same age as me. Many are independently wealthy. Those at executive or C-level (Chief of...) positions make similar salaries, not counting stock options from public companies which generally remunerate them to a much greater degree.

I'm not looking for a new job, but I get head-hunter contacts often enough. From the non-startups, the promised packages are as good or better in terms of salary. Doing a startup would mean a reduction in exchange for more founders' equity.

I have had invitations and targeted recruiting pitches from Google starting in 2002 and running up to this year. Had I gone in 2002, I would be set for life. I'm not independently wealthy, in spite of a decent salary for someone at my age and level.

Getting Firefox out, restarting JS standardization, helping build Mozilla, competing with Chrome, starting Mozilla Research (http://www.mozilla.org/research/), launching Firefox OS -- these add up to hard work, as hard as I've ever done save for the crazy Netscape days in 1995-6. This is especially true lately with lots of travel, which is not easy on my wife and small children.

Meanwhile, open source means living in a fishbowl, and Mozilla with its mission and people-first social movement roots means finding a business structure that doesn't loot our brand or screw volunteers by trying to cash out via an IPO or acquisition.

The structure that we chose was a U.S. 501(c)(3) Foundation, with IRS approval up front, but then with IRS reneging after a couple of years, followed by a fight to deny us our status and tax our early revenue that had been declared tax-free at the time by that same agency.

In the course of this "package audit", I had the joy of a personal IRS audit, which I passed cleanly (I defended myself). And Mozilla prevailed on the question of its public benefit status.

I don't live in Atherton or Palo Alto. I don't drive a fancy car. I'm in a house built in 1960 that was enlarged in the '70s but is modest by any standard (and very messy right now!).

So, do you really think I am just in this for the money?

This is not a boast, it doesn't make me great or even good. Like most who have some years of sustained work and credit/blame on their backs, I am little by myself. I'm much less than some truly great people who work for a good cause for no more, and often a lot less, than I make.

I am 100% sure that I could not persuade most of Mozilla's top talent of anything if I were merely an empty suit adding no value and sucking a big salary.

So it is just galling to hear your spin on thetruthaboutmozilla, which by the way seemed in that 2007 piece to say that I was worth every penny (not that I'm giving it any credence :-|).

If I'm right that Mozilla matters, then it matters no matter what I make or where I go. If I'm valuable to Mozilla, then my staying will help. I have to consider that too, in negotiating compensation.

"Know thyself" is as important now as it was at Delphi in ancient Greece. I'm not at Mozilla to make money. I'm here to make the web better for everyone, users, developers, your parents -- without having to face business-agenda or personal-financial conflicts of interest.

Aristotle and Jesus agreed on this point regarding money (Mammon) vs. "the good" (God): you can't serve two masters.

So, enough about me. Whom or what do you serve, and why?

/be