What does God need with a starship?

03/03/2008

There is currently an interesting discussion1 going on right now in mozilla.dev.platform which asks a seemingly simple—but if the number of responses are any indication, actually difficult—question: “Is ‘Gecko’ 1.9 only Firefox?”
It’s definitely required reading if you hack on anything built on the Mozilla platform that isn’t Firefox.
To be honest, I find it a little surprising that others find it surprising that the answer is anything but “Yes.”
There are a lot of principles discussed in the newsgroup posting, but in practice, ever since I was involved with Firefox releases, it is Firefox—not Thunderbird, not SeaMonkey, not Calendar, and not (arguably most appropriately) XULRunner— that has driven Gecko releases. The best determining factor of Gecko releases, i.e. when the Gecko platform version is bumped, was originally standardized as part of the Firefox release process, and is now codified by the release automation.2
I fully admit that I am interpreting the question from the (possibly too narrow) standpoint that I’m mostly familiar with: the Firefox release process. It is entirely possible that the triage process is different.3 But it has the benefit of being entirely devoid of a process4 with lots of human input and interaction which necessarily implies non-deterministic outcomes.
But the answer to “When is Gecko released?” is pretty binary. Since there are no separate XULRunner releases, just look at when the Gecko versions are bumped: for quite some time, it’s been at Firefox release time.
Immaterial of how we want to do things or would like to do them in a utopian world, that’s what the code in CVS does today, right now. It would seem the requirements and triage process mimic the code, namely in that Firefox drives the process.
Almost ten months ago now, it was stated pretty clearly that “XULRunner improvements should benefit a range of other applications but the focus of Mozilla employees will be on browsing.” There was a lot of discussion about what the material impact of the policy statement would be, including my own two cents on the matter.
I may be misunderstanding the posit of the original question posed in the newsgroup, but it would seem that this is an concrete, identifiable example of a question directly arises from a policy of having a singular product and its release schedule drive the development of the platform.
If this isn’t the outcome developers on Mozilla’s non-Firefox projects expected, then it may be time to ask “where was the disconnect between what was said and what was heard?”
For me, the discussion raises some meta-questions that, to my mind, are not only more important than “Is ‘Gecko’ 1.9 only Firefox?” but whose answers also turn out to be more relevant than just what happens in the next N months, as lots of people work really hard to get an awesome Firefox 3.0 out the door:

  • Is there going to be a separate XULRunner 1.9.0 release before or during5 the Firefox 3.0 release time frame? If so, how are triage decisions for that release (being) made? Does the process include stakeholders for projects that aren’t-Firefox?
  • (I admit that this may be a totally stupid question on my part, but it’s totally unclear to me:) who is the final determiner of the answer to the above question? There’s a lot of really good discussion going on in the newsgroups, but who makes the final call?
    Everyone tells me drivers@ and staff@ are “gone,” and have been for quite some time. Does this mean the Firefox 3 release drivers6 will decide what a “Gecko 1.9″ is? The Steering Committee? A vote of everyone who’s posted more than five times in mozilla.dev.planning?
  • If that answer is the Firefox 3 release drivers or the Steering Committee, as an open source project, is it relevant to ask if any of the lessons learned in previous days—when the Mozilla Project was largely dependent on a single company, i.e. AOL/Netscape, for engineering work—are applicable?7

Distinct from any discussion of the questions above, I stand ready, as I did ten months ago, to help in any way that I can. Like most people, I use and adore Firefox and agree with the argument that its Mozilla Corporation’s best lever to move the (Open) Web forward.
But I also use and love Thunderbird. I have used9, and relied upon Calendar. And I believe that the XULRunner platform is the best lever the Mozilla Project has to future-proof against whatever develops on the Internet10, as well as provide a compelling answer to proprietary rich Internet application platforms from you-know-who.
Probably the most useful answer is the one to the question: tell me, an engineer with admittedly limited experience with the Mozilla build system, Tinderbox, and the Mozilla release process, how I can help the answer to the original question be a demonstrable, unequivocal “No.”
_______________________
1 Which was brought to my attention by a Rumbling Thunder post
2 rhelmer implemented the first version; I added the respin logic
3 Although, blocking1.9-flag triage was what prompted the question originally, so who knows
4 Which Brendan aptly describes as “fluid
5 “after Firefox” is a possibility to, but arguably of limited utility
6 Is this a complete/up-to-date list? A couple of blocking1.9 flags have been set by people absent from the list.
7 The question is posed merely by the fact that those two groups are made up of entirely8 Mozilla Corporation employees. I’m not implying any judgment regarding people who work on those groups; I’m merely pattern matching their relational structure to the Project from previous eras.
8 or nearly entirely; the FFx3 drivers list has one non-MoCo-er on it, that I can find anyway
9 and with the number of meetings I’m now responsible for, need to set up again
10 Who knows what we’ll all be using in ten years. Gopher could make a comeback!