A narrative on the future of web browsers and web browsing

Firefox and the Mozilla Platform

March 3, 2008 – 8:04 pm

The subject of the Mozilla platform (”Gecko”) and its relevance beyond serving as the foundation of Firefox has been a subject of great debate for quite some time. The topic flared up again this weekend on one of Mozilla’s developer newsgroups. The impetus appears to have been a relatively obscure bug in the Mozilla-based Thunderbird email client. The Thunderbird crew is understandably keen to have the problem fixed, since it is a new issue that has arisen due to changes made in the platform in preparation for the upcoming Firefox 3.0 release. They appear to have taken issue in particular with a comment by Mozillian Robert Sayre that “we certainly aren’t going to block the Firefox release on an issue that doesn’t affect Firefox.”

Mozilla CTO Brendan Eich contributed some more level-headed remarks to the discussion:

There are lots of platforms on top of platforms in the world; some apps even act as platforms. Obviously, not all bugs are fixed at once. On the other hand, Gecko has integrity as a platform beyond Firefox. It’s in the User-Agent. It has to have sane semantics and be a black box as much as we can stand to engineer it that way, in memory-unsafe programming languages and with time-to-market in mind, especially Firefox market.

Making this a black/white, your way or the highway thing is false. Obviously the bug in question arose because of Thunderbird and other apps behaving differently. That’s something to talk about, without making false dilemmas between impossible coordination vs. Firefox uber alles. For one thing, it’s not clear to everyone what the right answer is, so interacting with other apps’ owners and peers makes sense.

Several commenters pointed out that the relationship between Gecko and third-party apps is (or should be) a two-way street. “We accept patches” is a common refrain from open source developers frustrated by outside developers who complain about some obscure bug or another but don’t seem to have the time or inclination to deal with it themselves. It certainly seems fair for the Firefox team to expect code contributions and unit tests from other development groups in exchange for maintaining the core platform.

The underlying issue is broader, however. The Mozilla platform has been hovering in limbo for quite some time. It would have been perfectly reasonable for Mozilla to designate it for their internal use only, which would have solved the problem of how to allocate scarce resources (considering the huge success of Firefox and the corresponding investment it requires). As it transpires, the platform is used by a number of Mozilla and “almost Mozilla” projects like Thunderbird, Camino (a Mac-specific browser) and Seamonkey (the original browser suite). It has also been adopted by several high-profile products by third parties, including Songbird, Joost and Miro. This is clearly of benefit to Firefox to the extent that these projects contribute to the development and maintenance of a more robust platform.

At the same time, the platform lacks much that one would expect from a professional development product, including a proper installation kit, an integrated development environment and complete documentation (though the situation for the latter has improved greatly in recent months thanks to efforts on the Mozilla documentation website). The reality is simply that Mozilla is 99% focused on Firefox (to great effect, it must be said) and looks likely to remain so for the foreseeable future. Until the platform finds some sort of permanent, independent home, it is unlikely to live up to its potential and will continue to be the subject of some controversy.

  1. 23 Responses to “Firefox and the Mozilla Platform”

  2. Thunderbird is not one of the “almost Mozilla” apps, it’s just as Mozilla as Firefox, even if it isn’t star pupil of the class.

    By David Naylor on Mar 3, 2008

  3. In regards to the IDE, there is one sitting there that is quite capable along the lines of XUL dev, Komodo. It’s open source (openkomodo.com), it’s built on Mozilla, “we accept patches” :-D

    I think in some ways, a Mozilla Platform is closer than one might think, it just needs some love to make entry into trying it out a bit more easy.

    By Shane Caraveo on Mar 3, 2008

  4. See this bug:

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

    and track it. XULRunner is the installation kit you are looking for and if it’s based on Firefox, you don’t even need a download. That goal will not necessarily be met by Firefox 3, but it remains an active goal.

    But of course, I agree, and I’ve explicitly said so many times including in roadmaps, that Mozilla has to be apps first, platform second. That’s a survival necessity. In spite of it, we have a compelling enough platform that, e.g., Le Monde’s entire daily production system is XUL based.

    But will a successful platform find its way to independence? This is unclear to me. Windows has a tollgate, and serves Office first and best. Linux could be cited as a better example, but it is not as relevant to end users as Firefox is.

    I have no easy answers. I worked at SGI and watched it divisionalize, duplicate its kernel group, then re-unify (H-P did something similar), back in the late 80s and early 90s. The core code is often viewed as a cost center, not a profit center, so malnourished by short-sighted empire-builders.

    That’s not happening with Mozilla, but on the other hand we aren’t going to promise anyone a free lunch. If our platform is sound and broad enough for Firefox and its add-ons by the time we do a major release, and Thunderbird and other apps follow on a (compatibly-extended) dot release soon enough, then we are at the state of the art as I know it.

    Doing more for other apps by delaying Firefox is not sensible. Neither, of course, is sweeping a bug under a carpet based on hasty diagnosis or wishful thinking.

    /be

    By Brendan Eich on Mar 3, 2008

  5. "the platform lacks much that one would expect from a professional development product"

    That’s because it isn’t a product, it’s a project. Mozilla actually only has two products:
    http://www.mozilla.com/en-US/products/

    I’ve been writing a series about Mozilla technologies on InsideRIA. The last part of the series should be up this week sometime, and this is something I write about in it. Topical concerning these latest discussions.

    Here are the first two parts:
    Part 1:
    http://www.insideria.com/2008/02/why-mozilla-deserves-our-atten.html
    Part 2:
    http://www.insideria.com/2008/02/why-mozilla-deserves-our-atten-1.html

    By enefekt on Mar 3, 2008

  6. enefekt is absolutely right. The platform is not as polished as a product because it’s not a product. Projects are not products. In this crazy Web world, sometimes it’s hard to tell the difference, but products have marketing, docs, user support, and something whose value can transcend any technical good: a brand.

    Gecko is not a brand. Mozilla may be a brand or proto-brand, but it is overloaded and the most conspicuous brand value probably has to do with open source, community, the Foundation. But I would be interested to hear what others think.

    /be

    By Brendan Eich on Mar 4, 2008

  7. Shane is probably correct: the ‘platform’ just needs a little love. That, however, is what is so maddening. It appears that a little love is all it’s needed for years but MoFoCo was unwilling to provide that love.

    Now that Baker has been shoved aside into la la land is it possible that a “techie by background” in John Lilly can push XULrunner forward at a decent rate?

    By pd on Mar 4, 2008

  8. pd: you are not paying attention. “Love” is not the issue, a platform as a product is. The valley and world are littered with corpses from attempts at pure platform plays. They fall into commoditization traps and become cost centers. This is not going to happen while Firefox is growing as both platform (second) and application (first). Both aspects are crucial, but one is superordinate.

    Also, if you think Mitchell was “shoved aside”, you are mistaken. This isn’t some .com with a board that fires the CEO; Mitchell’s move was hers to make. She and others here have new things to do. Please try not to inflate your comments with fiction.

    /be

    By Brendan Eich on Mar 4, 2008

  9. David - you didn’t parse my sentence correctly. I was putting Thunderbird in the category of “Mozilla and ‘almost Mozilla’ projects”. Specifically, it’s a Mozilla project and the others I mentioned are (as far as I know) “almost Mozilla”.

    Shane - Thanks for pointing out OpenKomodo. I agree that much of what is needed for the platform is in place, but to make it into a real product we would need a higher level of commitment and willingness to “sweat the details”.

    Enefekt - My point exactly. It isn’t a product but there is a strong argument, I believe, that it could/should be one.

    By Matt on Mar 4, 2008

  10. Brendan - Saying that Windows “has a tollgate” is a bit overblown, don’t you think? Microsoft has always had an awesome vision and a large part of their success stems from the effort they have invested into tools, documentation and other support for the developer community. I totally agree that making a true platform out of Gecko would be a big challenge. I get something of a vibe from your comments that the Firefox crew is perhaps a tad nervous that, were this to happen, they would miss the iron grip that they currently have on the platform.

    Which is fair enough, but there are a lot of advantages to having an independently viable platform (like many, many more resources being invested in it). This applies both to Firefox and to Mozilla in general.

    As far as being a cost center is concerned, since when do you open source people care about money? :-p In all seriousness, take MySQL as a model. Definitely a pure platform play and with an open source license to boot (modulo its hybrid nature). And lo and behold, they just exited for $1 billion. I’ll take that kind of cost center any day.

    By Matt on Mar 4, 2008

  11. Matt: Windows sucks, Visual Studio does not, but in the end Microsoft would not be where they are today without that tollgate. This is category: bleeding obvious in my book.

    What’s the point of our “iron grip” if we don’t have a platform beyond “what Firefox needs”? On the other hand, platform for platform’s sake is a loser, I repeat. MySQL is not a platform by itself, it’s a piece of a platform. Your better comparison would be Linux.

    /be

    By Brendan Eich on Mar 4, 2008

  12. Well “Windows sucks” and “tollgate” don’t necessarily add up. I’m not a huge Windows fan either and it wouldn’t have been nearly as huge if not for Microsoft’s dubious practices. But it’s still a great example of a successful platform play.

    My point with the “iron grip” thing is that the Firefox folks want to have complete control over the platform (speculation and generalization in one sentence!) which would be threatened by a strong independent platform used by a lot of other companies. And they have a point. The question is whether the advantages of an independent platform would outweigh this consideration.

    I’m not sure where you’re getting with the Linux analogy either. Red Hat’s done okay, haven’t they? That said, I basically agree with you about the pure platform play being a moon shot with very low probability of success. The Mozilla platform should be targeted as a developer product like MySQL or Trolltech (another OS hybrid success story).

    By Matt on Mar 5, 2008

  13. You’re closer with “developer product.”

    Your hypothetical “strong independent platform”is the back end JS and Gecko hackers who actually do have a lot of say about the platform, including people like bz who are the living opposite of those mythical Firefox-iron-grip tyrants.

    Please don’t make up stories, reality is much more interesting :-/.

    /be

    By Brendan Eich on Mar 6, 2008

  14. Hey, I said I was speculating. I’m just saying that a truly independent platform (your point about bz and company is well-taken but it’s still all happening under one roof) would have a cost to Firefox because, for example, it would be harder to green light changes that other apps didn’t want for some reason. This isn’t some evil conspiracy theory, it’s obvious.

    And anyway I’m a big proponent of beefing up the platform side of things, in case that wasn’t obvious, and my *real* point was that despite any potential cost to Firefox, the benefits would far outweigh them. I’m pretty sure we’re actually on the same side here.

    By Matt on Mar 6, 2008

  15. I may be on a different “side” when it comes to OSes. Rob Pike’s right: Unix, the Web, the PC as commodity, and scale-up challenges have put real systems research into a coma. Linux as an OS is uninteresting, a limited anti-Windows vision (and please, can X windows die already?).

    As for tollgate vs. sucking, tollgate => monopoly (natural or unnatural) => mediocrity => competition. We’re well along in that cycle with browsers, but not with OSes.

    Dropping off my wife’s car the other day, I was chatting with my service associate at the dealer about how he had to set up a fake business just to get XP instead of Vista on his six-month old Dell laptop. He was through with Macs, after a Macbook “experience”.

    Users are not moving to Linux, they are simply trying to pay the last toll, since the new toll is too high.

    You may have more upbeat Linux news in Europe, but really, the desktop OS is not the contested ground at this point. Server OSes, sure — commodity with opportunities for Enterprise support businesses (Red Hat, undercutting Sun’s higher prices; how long can that go on?). Mobile OSes? No, the phone with carrier tether (or in spite of the carrier) is still the draw.

    Platforms are for apps to stand on. What are the interesting new apps? They’re user-facing “web apps” (whether they target browsers or similar “RIA” clients) with increasingly intertwingled “mega-data” on the server side, in the cloud.

    In this light I hope you can see my point that competing with TrollTech is not the leveraged move for the Mozilla platform. Weave widgets and lighter-weight add-on models are more like it.

    /be

    By Brendan Eich on Mar 6, 2008

  16. “… it would be harder to green light changes that other apps didn’t want for some reason” is the best summary case against generalizing the platform into a serves-everyone-equally-badly Linux-like experience. :-P

    Firefox is the lever. If we drop it in a mad reach for platform nirvana, we lose.

    /be

    By Brendan Eich on Mar 6, 2008

  17. In this light I hope you can see my point that competing with TrollTech is not the leveraged move for the Mozilla platform. Weave widgets and lighter-weight add-on models are more like it.

    This implies that you are opposed to the existence of Thunderbird, Seamonkey, Songbird, Miro et al. Or I am totally misunderstanding you. Can you clarify?

    Firefox is the lever. If we drop it in a mad reach for platform nirvana, we lose.

    A wise man once said “making this a black/white, your way or the highway thing is false.” Oh wait, that was you. :-) This isn’t about dropping Firefox vs. dropping the platform. Increasing the independence of the platform is going to have an impact on Firefox. The relevant questions are: how big would that impact be? To what extent can it be mitigated? Would we gain enough to make it worth it?

    I’m repeating myself, but I see compelling reasons to think that the answer to the last question is “yes”. In particular, if Gecko were a broadly adopted independent development platform for which Firefox were one customer, there would potentially be a much larger community contributing to the platform. I’m crystal ball gazing, I know, but personally I believe this could be transformative for future versions of Firefox.

    By Matt on Mar 6, 2008

  18. If you think there’s opportunity for a productized Gecko platform, what’s keeping you from making that product? Just needs a little bit of work, could have a huge gain, seems like a great opportunity to invest (not just financially).

    This is clearly of benefit to Firefox to the extent that these projects contribute to the development and maintenance of a more robust platform.

    Happily, it’s of benefit to more than that extent, as with the exception of SeaMonkey the platform contributions (esp. long-term maintenance, vs. initial feature addition) from non-Firefox app communities have been pretty small; contributions that are beyond scratching their own itches even smaller. The Mozilla platform, which of course is being starved by MoCo by having gutted the platform development team and making no forward-looking and app-independent investments in the platform itself, benefits indirectly by simply being _used_, but that there’s a benefit doesn’t mean that all costs in service of that benefit are reasonable, bearable, or leveraged.

    I don’t see a lot of other projects going out of their way to fix bugs for Firefox, or usually even to contribute to the code, which is fine — it’s their right to allocate their time as they see it best-aligned with their goals. The Mozilla Foundation believes that the best alignment with its goals remains a strong, though not exclusive, focus on Firefox, and will allocate its resources there primarily. As Sam said in that thread, working on tests that help everyone — even if they are only testing things that Camino depends on, and only in their areas of extra-Gecko expertise — isn’t as interesting to Camino developers as working on their own app-level bugs or features. No news there, but it’s a good thing for everyone who builds on the platform, from add-on authors to venture-backed companies, that the Mozilla Foundation doesn’t position its resources as exclusively along those terms. And Firefox and Thunderbird could certainly use the help; it’s not like we don’t have to postpone or drop features or capabilities that are likely to help tens of millions of people around the world because of lack of resources, on virtually every release.

    When Mozpad was briefly a going concern, and needed to be independent from the rest of the Mozilla project for some reason, I offered some of my team’s time to help people, including getting their contributions in. We didn’t get a lot of uptake on that, simply because the vast majority of the things people talked about were what _others_ “should” provide for them, not what would help them help themselves, or others. Who will bake the bread? (Flock, I should point out, is definitely baking some bread right now, and I’m sure they wouldn’t describe their involvement as an act of charity.)

    By shaver on Mar 7, 2008

  19. I wrote:

    >> In this light I hope you can see my point that competing with TrollTech is not the leveraged move for the Mozilla platform. Weave widgets and lighter-weight add-on models are more like it.

    Matt wrote:

    >This implies that you are opposed to the existence of Thunderbird, Seamonkey, Songbird, Miro et al.

    What I wrote implies no such thing. What logic are you using? I’m sticking with Modus Ponens.

    I’m suggesting that a pure client-side widgets plus rich web layout/graphics platform play is a bad idea, untethered from a web service, or a meta-service that can talk to multiple user-chosen services. Now what do you think?

    /be

    By Brendan Eich on Mar 8, 2008

  20. shaver wrote:

    > The Mozilla platform, which of course is being starved by MoCo by having gutted the platform development team and making no forward-looking and app-independent investments in the platform itself

    Clue to the new: he’s being sarcastic.

    /be

    By Brendan Eich on Mar 8, 2008

  21. Shaver: love the “Little Red Hen” reference at the end ;-).

    Matt: what’s your view on mozpad now?

    /be

    By Brendan Eich on Mar 8, 2008

  22. Shaver - getting more of a feel for the viability of a platform play was one of the main reasons I stirred the pot in the first place. I feel your pain with respect to lack of contributions from platform users, having occupied a front-row seat at the rise and fall of Mozpad.

    Part of what I’m postulating is that it’s always going to be hard to get app developers (who are in the throes of intense release stress 90% of the time, by definition) to spend time on issues that force them to stray from their critical path. So why not provide them with great tools and support, make them pay for it, and use that money to hire a team to upstream patches and otherwise give the platform the love it deserves?

    By Matt on Mar 10, 2008

  23. Brendan,

    >This implies that you are opposed to the existence of Thunderbird, Seamonkey, Songbird, Miro et al.

    What I wrote implies no such thing. What logic are you using? I’m sticking with Modus Ponens.

    Modus Wild-ass-guess is more my style. I thought you were trashing the idea of client-side apps (as opposed to web apps), but upon rereading it’s clear that I misunderstood. Oops.

    I’m suggesting that a pure client-side widgets plus rich web layout/graphics platform play is a bad idea, untethered from a web service, or a meta-service that can talk to multiple user-chosen services. Now what do you think?

    Dunno. Why doesn’t the web itself qualify as a “meta-service” in your nomenclature? What domain restrictions make your approach more viable than a “pure play”?

    What’s your view on mozpad now?

    See http://www.allpeers.com/blog/2007/12/22/whither-mozpad/ and my comment to shaver (up there ^^^). Maybe I’m too impatient or lazy or something, but I now believe a full-time focus is necessary to achieve anything useful. My experience with Mozpad made me skeptical that a volunteer organization is up to the task. Probably a small core of full-time participants would create enough momentum to get others involved on a volunteer basis.

    But you guys have way more experience with this than I do! I’m interested to know what you think.

    By Matt on Mar 10, 2008

    Trackback URL for this post


    http://browsing.justdiscourse.com/2008/03/03/firefox-and-the-mozilla-platform/trackback/
  1. 1 Trackback(s)

  2. Mar 4, 2008: Rob Sayre’s Mozilla Blog » Blog Archive » Firefox and the Mozilla Platform

Post a Comment