XULRunner: What we are doing

In June 2003, Mozilla version 1.4 was released. For the first time, the Windows installers of Mozilla installed two separate pieces: the Gecko Runtime Environment (GRE) was installed into a shared location on the user’s hard drive, separate from the application components. Standalone installers for the shared GRE were made available so that other applications embedding Gecko could use the shared runtime. Life was full of promise… until users started upgrading or uninstalling their applications. The nightmare unfolded gradually: unsuspecting users would install a new version of Mozilla and Netscape or AIM would stop working. System administrators would install one version, and users would install into a different location, and both installs would fail to work correctly. It was not uncommon for the computer to become so horked that no combination of running uninstallers and installers would fix it: the only solution was to go into the registry and manually remove offending settings.

To this day, the phrase “GRE” conjures visions of frustrated users, unhappy developers, and unreliable instability.

The Perils of a Shared Runtime

This is the peril of a shared runtime, and one we absolutely must avoid. It is fiendishly difficult to get right, and the consequences of getting it wrong are devastating for users and developers alike. In March 2005, I posted a vision of how a shared XULRunner runtime could be implemented sanely. It kept registrations of installed runtimes and applications, and made sure that the correct version of the runtime was always available to applications. The XULRunner roadmap referenced this plan for XULRunner 1.9 and Firefox 3. Time has moved forward and we are now making hard decisions about features that were planned for Firefox 3, throwing many away because they do not fit in the schedule. The shared XULRunner runtime is one of those features.

This is the long story behind Mitchell’s post about XULRunner investment and Firefox 3. Mozilla is not “killing XULRunner”. It is merely stating the (obvious, I thought) fact that the previously published roadmaps are incorrect, and reiterating our support for continued development of the platform.

What are we doing?

Even though Mozilla isn’t going to ship Firefox 3 on a shared XULRunner, it is continuing active support of the Mozilla platform and the XULRunner project in particular:

The Power of Openness

I would like to extend a special acknowledgment to Ben Turner of Songbird for his continued support and patching of XULRunner and of the Mozilla build system. He recently asked me “how can I help make the Mozilla build system easier to use for external applications?” This is the kind of question that makes me happy and lifts my spirits: there are some low-cost changes to our platform that could make everyone’s life a lot easier, and all you need is to send me an email or IRC ping. The XULRunner team is not “less that one developer”, but it is dozens of Mozilla Corp. employees, and hundreds or even thousands of developers working on the entire Mozilla platform. That I’m the only Mozilla Corporation employee working on nsXULStub.cpp is irrelevant, and a distraction from the accomplishments that we have all made together.

Atom Feed for Comments 11 Responses to “XULRunner: What we are doing”

  1. Mozilla vs. Platform « richwklein.com Says:

    […] Benjamin Smedberg has a post that helps clarify Mozilla’s stance on the […]

  2. Alex Vincent Says:

    Looks like I get to eat my words, as I promised shaver. :-) I’ll do that later today.

    It’s this line in your post which makes me happy: “Make sure that prepackaged XULRunner builds are available.”

  3. Fini Alring Says:

    Very nice update Benjamin,
    I often think about how far and what really happens with XULRunner. So thanks for clearing it up, I guess something similar to Java VM install system is required to secure a smooth XULRunner experience for all those weird versions people will have installed at the same time.

    I recently stumbled upon Songbird, and man what a nice example of Mozilla as an app platform.

  4. Rob... Says:

    Thanks for the clarification, Ben.

    I think that Mitchell’s statements of “The Mozilla Foundation does not plan to invest in a pre-packaged or stand-alone XULRunner at this time.” and “Specifically this means we are not producing supported XULRunner builds and we do not plan to ship Firefox3 on top of a stand-alone XULRunner.” confused people though.



  5. enefekt Says:

    Here is my double-quote-laden question:

    If Firefox 3 ships with a “private” XULRunner, which “other applications” do not use, could Add-On (Extension) developers be able to use it?

  6. rebron.org » XULRunner Says:

    […] XULRunner What we are doing […]

  7. Daniel Glazman Says:

    Thanks for this clarification. Given your words above, I think Mitchell’s post was highly confusing, her “xulrunner” being often “GRE”.

  8. Home of KaiRo: XULRunner, Mozpad, and SeaMonkey Says:

    […] Mozpad, and SeaMonkey Our Planet lately has been full of XULRunner talk. And this is good, as it clearly tells that there’s wide support of that technology, and […]

  9. John’s Blog » Blog Archive » hearts on sleeves Says:

    […] at every hour of the day, it seems to me). The two most active conversations, of course, are about XULRunner investment and reactions to Chris’ provocative […]

  10. Leslie Says:

    Some transcript snippets I culled:



  11. Flying Snow Says:

    I think xulrunner would be picked up even more if there was a way to run it from a usb device in a portable manner. If there is a way, it should be made easier to find.

Leave a Reply