I’ve been thinking a lot the last few days about the debate that’s been going on about what “Mozilla” should do. [I put “Mozilla” in quotes here because it’s a quite unusual & difficult to understand thing — but the link to Mike’s post is maybe the best articulation I’ve seen, especially when viewed through special, snark-reducing glasses. (I don’t reduce the snark, personally — it’s what I like about Mike’s posts.)] Or, rather, what Mozilla should do more of, do faster, do better. They’re all right, of course. We should do more, faster, and do it better. The criticisms in the debate, both explicit & implicit, tend to create a lot of introspection & wider debate, which I think, ultimately is good, healthy and productive. Even debates like the one on languages that pops up from time to time helps to clarify things.
Like Mike, I’m having a tough time reconciling calls for centralized decision-making in something that’s fundamentally decentralized. Even with Mozilla (Foundation + Corporation) making some decisions on where to put money or people to work, I believe we’re still one of the most decentralized, global, egalitarian and successful technology/product organisms in the world. But more on that later…
What I’ve been thinking about specifically this morning is the conversation about whether Mozilla (again, a loosely defined concept at best, but for the moment, let’s assume that people mean Mozilla Corporation + Foundation) should focus on Firefox and whether we should focus on building a platform for application development. It’s a bit of a false framing of the problem, though, and here’s why: Firefox is, of course, an application that somewhere north of 100 million people in the world use to interact with the Internet. (and only around 50% of them use English language versions, which is a topic for another time.) But it also, today, is 3 separate and distinct platforms for building applications on.
1. It’s XUL, of course, for building extensions — and at last count, there are around 2,500 extensions that have been written that we know about that run the gamut from trivial to shockingly useful. These extensions work in the browser, and (mostly) make your browsing experience more productive. There are a number of startups who have built these — several even using Firefox extensions as their initial or primary entry point. Some of the venture-backed (or angel-backed) ones that come immediately to mind are: del.icio.us, StumbleUpon, FoxMarks, JetEye, Yoono, AllPeers, FoxyTunes, ScribeFire, AdaptiveBlue, CoolIris — that’s 10 quick ones, but there are many more that I’ve forgotten or not ever known about.
2. It’s a framework for building other applications that aren’t within the browser — commonly called (and grouped together) as something called XULRunner (or, more precisely, a collection of things which includes XULRunner, Gecko, and more). We’re a little loose in what we call XULRunner, but here I’ll just lump together applications that are using XUL as a platform to build more things that aren’t browser-based on top of it (I know this is broader than most people’s definition). Using XULRunner (or the Mozilla codebase) to build standalone apps (or derivative browsers) is so far quite popular among startups and large enterprises alike. Some of the venture-funded endeavors here are backed by the most successful VCs on the planet, and a brief, non-exhaustive list, includes Joost, Songbird, and Flock, plus many more in stealth mode and behind corporate firewalls. And not to mention Thunderbird, an e-mail client used by 5M+ people, and projects like Camino and SeaMonkey and the Democracy Player, all of which are doing amazingly well.
3. Most importantly, it’s the web. In no small measure, the explosion of high interactivity AJAX applications can thank Firefox’s emergence in 2004, both in terms of a good platform to develop on (and getting better, with fantastic extensions like Firebug), and in terms of the pressure that it’s put on Microsoft to put out a better, more standards-oriented browser and do real development on the web again. These applications are uncountable — thousands, or hundreds-of-thousands. Lots, anyway, and, as I said, resulting in 100M+ Firefox users, even before counting the positive impact on the 100s of millions of more IE users around the world.
And while I’m on the subject of the open web, in our web-focused community, we keep talking about it like the fight is won. Like the web is open forever, for everyone. But it isn’t. It isn’t for, say, the 137M users in China, 99% of whom use IE-based browsers and are plagued by spyware — most who I talked with figure all the malicious software on their computers is just the price of being on the Internet. It isn’t for folks whose langage is Thai or Kurdish or Vietnamese — or countless others — who don’t yet have a browser that’s in their own language. It isn’t for Koreans, where the overwhelming force of government and industry has built a Windows-oriented monoculture.
And it isn’t, really, even with content. Flash is doing fantastically, driven by successes of companies like YouTube. And there are 3 major, potentially industry-changing efforts (Microsoft’s Silverlight, Adobe’s Apollo, Sun’s JavaFX) to build new platforms that use words like open, but are as proprietary as Java ever was for Sun, and probably more so. They’re all awesome technologies, and awesome demos. But they’re not the open web. They’re built by a vendor, controlled by a vendor, tooled by a vendor. And Adobe’s putting up $100M — significantly more than the wherewithal of a project like Mozilla — to help companies take that first hit.
This isn’t the most useful way to measure, but Mozilla has done this with fewer than 100 employees. We were fewer than half that a year ago, and more like 15 people total 2 years ago. This obviously and absolutely undercounts the whole of Mozilla — 25%+ code for Firefox was contributed by volunteers; all non-English localizations were; and clearly the debate which I mentioned is involving many, many people in our extended world.
So here’s a little summary. By my count, the absolute most conservative view is that 100 paid people are supporting more than a dozen funded startups building extensions for Firefox, more than a half dozen funded startups building completely new applications, countless web-based application startups, and more than a million users per employee. All for less money than Adobe is putting into Apollo’s launch. Way less.
That’s crazy high leverage. As much leverage as any organization I know of in the world.
Can Mozilla do more? Yes. Can it go faster? Yes. Can Mozilla continue to support a giant ecosystem of enterprises built on top of Moz technology? Absolutely. Can Mozilla do everything? Save the world? Absolutely not. And, to be honest, nobody is more critical of Mozilla than people in our community. Far from being frustrating, it’s actually amazing. Enabling. And it’s the reason that Mozilla (in the large, not in the Foundation + Corporation sense) keeps moving forward, keeps making things better.
We do have to make choices, though. There’s only so much time, there’s only so much attention. It’s tough for a small band of folks to change the world, and sometimes you do things in an order you may not like the best.
But some days we’re faced with real, explicit choices. Like whether to ship Firefox 3 this year. Or how much time to devote to making sure that those aforementioned Thais can finally get a browser that actually works in their native language. Or how to help users in Dalian, users in Osaka, users in Great Falls, users in Ankara — to help them understand that there are choices here, and that they can (and should) have more control over their web experience than they do. Or, as many have pointed out, to make XULrunner more complete so startups can do their legitimate work and change the world in their own ways.
These goals are all laudable. They’re all important. They’re all gigantic. So sometimes we make choices. Sometimes we go with the grain of the wood, so to speak, and try to spotlight great things that are happening in spite of any choices that “we” make.
I’ll say this: the fact that this conversation is happening is a huge testament to the entire community — it means that Mozilla has relevance, that it’s got an opportunity to continue to do amazing things. For a market that everyone, including me (well, everyone except the Mozilla community) thought was moribund just a few years ago, that’s a special, maybe singular accomplishment. While there are real, contentious, meaty conversations happening about what “Mozilla” should do, we should all remember what an amazing set of things are happening already, and tomorrow, and the next day, too.
Camino is NOT built on top of XULRunner, unless something very fundamentally changed since I last looked at the code. In fact, many of the problems we’ve had arise from the fact that it has lots of dependencies inside core Gecko that are thought to be private interfaces.
Great post, John!
Camino is NOT built on top of XULRunner, unless something very fundamentally changed since I last looked at the code.
In fact, many of the problems we’ve had arise from the fact that it has lots of dependencies inside core Gecko that are thought to be private interfaces.
Great post, John!
Håkan W, you’re right, absolutely. I’m being a little loose here, and should be talking about building on top of Gecko instead of XULrunner, but yesterday conflated using the codebase integrated to build other apps with the XULrunner runtime.
“We do have to make choices, though. There’s only so much time, there’s only so much attention. It’s tough for a small band of folks to change the world, and sometimes you do things in an order you may not like the best.” So funny — it’s something we tell our users (and especially our beta testers) over and over again, and I work for one of the Big Moneythrowers mentioned above. 🙂 The Company may be huge, but the development teams are relatively small — and the releases must be well-defined, manageable, and (above all, when you work for a for-profit organization) shippable. Gah, I could write pages and pages on this subject, but I don’t want to hijack your comments. Maybe I’ll post about it in my blog, or the new team one, one of these days…
Håkan W, you’re right, absolutely. I’m being a little loose here, and should be talking about building on top of Gecko instead of XULrunner, but yesterday conflated using the codebase integrated to build other apps with the XULrunner runtime.
“We do have to make choices, though. There’s only so much time, there’s only so much attention. It’s tough for a small band of folks to change the world, and sometimes you do things in an order you may not like the best.” So funny — it’s something we tell our users (and especially our beta testers) over and over again, and I work for one of the Big Moneythrowers mentioned above. 🙂 The Company may be huge, but the development teams are relatively small — and the releases must be well-defined, manageable, and (above all, when you work for a for-profit organization) shippable. Gah, I could write pages and pages on this subject, but I don’t want to hijack your comments. Maybe I’ll post about it in my blog, or the new team one, one of these days…
Thank you very much for this useful article and the comments.—————Leonard The Magazine Stundent at 9 Eylul University sohbet