We discussed the pros and cons of adding a Beta to the Firefox 3
schedule at last week's development  and product delivery 
meetings, and then had a follow up call with representatives from the
build, QA, and development teams to review the commentary and
discussion and come back with a proposal.
After that discussion, the decision was to propose that we add a third
beta milestone for Firefox 3.1, as well as a requirement that by
Thursday, December 4th, all component owners re-triage their blocker
lists in order to identify which require beta exposure, and also to
develop estimates for driving those lists to zero. From here forward
we will focus on blocker numbers at our weekly meetings, requiring
component leads to present plans for reducing the numbers over time to
ensure we're trending in the right direction. We believe that we can
add this milestone without a major impact on the shipping schedule for
We don't have full clarity into the nature of our remaining blockers,
some of which likely require beta exposure. In order to close this
release, a re-triaging (like we did around Firefox 3 Beta 4) is
required both to identify the severity of the remaining blockers and
the time required to address them properly. Further, the impact of
late Beta 2 landings such as Private Browsing Mode, Worker Threads,
Speculative Parsing and TraceMonkey will benefit from multiple beta
The insertion of another beta also offers another public consultation
point for web and add-on developers, allowing us to react to their
feedback. Again, with wide-reaching changes like those listed above,
it was felt that this was prudent, especially if it could be done
without major impact to schedule.
Finally, as mentioned during the meetings last week, since we will be
holding off from any additional changes that would affect themers and
add-on developers, this gives our add-ons community a full beta cycle
to test and update their add-ons. The hope is that when Beta 3 is
released, compatibility with our existing add-ons will be high,
encouraging more users to shift to the beta to provide their usage
* Only patches for blocker bugs and those with explicit approval will
be accepted into the Gecko 1.9.1 / Firefox 3.1 codebase (initially to
be on the mozilla-central repository, soon to be branched to the
* Component leads will re-triage their blocking bugs marking those
requiring Beta exposure as "P1", and those required for release as
"P2"; any other priority will imply that the blocker is a significant
issue but one which should only get attention if the P1s and P2s
aren't being actively worked. This is to be completed by Thursday,
* Regular triage meetings will be held to process outstanding blocker
nominations and approval requests. At the weekly development meetings
the blocker fix rates and acceptance rates will be presented &
discussed to ensure we keep an eye on progress.
* No new features will be accepted into Beta 3. Limited string changes
will be accepted. No add-on compatibility changes will be accepted.
* Beta 3 code freeze will be scheduled based on the results of the
triage, but is expected to be in early January 2009.
Please discuss the aspects of this proposal on this thread (follow-up
to dev.planning). We will also discuss it during today's development
meeting at 11am PST (see https://wiki.mozilla.org/Platform/2008-11-25
We still want to make the promise to add-ons developers that beta2
will be "stable enough" to start mass converting add-ons, and your
email does mention this.
It follows in my mind that by making this statement we're committing
to keep major functionality after beta2. For example, it would be bad
if someone wants to take advantage of DOM worker threads in their
add-on, and we pull it before beta3.
I just want to call this out as something that's an implicit promise
we're making. If we're not ready to make that promise we should make
sure we say so.
For what it's worth, I have some changes that still need to happen to
the tab drag/drop stuff that are technically add-on compat changes (in
that they change the notifications add-ons see), but are actually aiming
to reduce the bar for add-ons working correctly. Would those be
accepted for beta 3? The current notifications are just wildly wrong
when a page that's still loading is dragged to a different window.
> We still want to make the promise to add-ons developers that beta2
> will be "stable enough" to start mass converting add-ons, and your
> email does mention this.
Yes, this is an important plank of both the rationale and the process!
> It follows in my mind that by making this statement we're committing
> to keep major functionality after beta2. For example, it would be bad
> if someone wants to take advantage of DOM worker threads in their
> add-on, and we pull it before beta3.
Part of the Beta 2 criteria was that anything that made it into that
beta was being accepted as our set of technologies to ship in Firefox
3.1. I concur that we're making this implicit promise, and will make
sure that's a point drawn clearly on the call.
Of course, if it turns out that worker threads puts our overall
release at risk, or introduces massive-scope security problems, etc,
we might have to re-evaluate. We're never going to ship something
unless it's ready. However, because we're making a commitment to our
add-on developers, it wouldn't be removed lightly or without
> I just want to call this out as something that's an implicit promise
> we're making. If we're not ready to make that promise we should make
> sure we say so.
This is a little tricky, as I don't want to walk down the route where
we're making platform-promises to anyone. Firefox is the product
that's driving here, and we'll do what's best for Firefox. Wherever
possible we will do things to work with and make things easier for our
add-on community, but we can't get into a position where we limit our
ability to make required changes to the codebase in order to serve
that portion of our community. I'm perhaps focusing on a semantic nit
here (about what "required") means, and indeed it would have to be a
pretty major issue to appear at this point to make us change course,
but I don't want to make blanket promises that handcuff us, either.
It depends. If I were an add-on developer, and I started building my
add-on one way, would that still work after these changes? That's what
I'd consider "compatibility". Improvements will always be accepted. :)
That really depends on how invasive your add-on was, what assumptions it
made, and how much it tried to work around the existing bugginess.
Put another way, any change in the event sequence add-ons see is a
potential add-on failure point if add-ons make enough assumptions.
I think in this case add-ons that don't make boneheaded assumptions will
still work after these changes, and the number of addons that don't make
boneheaded assumptions and still work will increase.
> On 25-Nov-08, at 11:16 AM, Boris Zbarsky wrote:
> It depends. If I were an add-on developer, and I started building my
> add-on one way, would that still work after these changes? That's
> what I'd consider "compatibility". Improvements will always be
> accepted. :)
I think that if the current way is broken, and this enables a more
stable and reliable addon, we should tell addon authors that this
specific piece needs work, and b2 should not be their target for that
specific functionality. If the implementation of a new feature is
flawed, we should tell addon authors that we're fixing it and just do
it, rather than ship a substandard impl. This would obviously need to
be done by b3, of course.
But what if extensions don't work with 3.1b2? I can't get many good
things to happen with -chrome <chromeurl> based extensions.
Do they work with 3.1b1? With 3.0.x? Bug numbers? Test cases?
No, yes, 465993, 465993.
>> No, yes, 465993, 465993.
> You should probably nominate things like this when you find them.
I tried, I guess I put the ? thing on the wrong slot?
I think that's one point that is rarely explicitely stated but often
felt in a hard way by the platform/XULRunner community, and if we're
serious about spreading the paltform and XULRunner, we need to think
hard about this topic - probably not right at this point in the 3.1
cycle, but generally.
Without disagreeing that there's a lot to talk about here, in this
case I was speaking more in terms of Firefox-as-platform (for add-on
developers) than Gecko-as-platform (which is I think more relevant to
the point you're making.)
That's the same platform. XULRunner doesn't get its own... anything,
pretty much. If, hypothetically, worker threads gets dropped in Firefox
3.1, it won't ever show up in XULRunner 1.9.1. Please either stop
separating the two in your mind, or actually separate them and have
people actually driving XULRunner by itself?
They're not fully separate in my head, no. The point I was making was
specifically about the add-on community, which is a very different
subset than the application-built-on-Gecko community.
People are welcome to drive XULRunner by itself. I'm pretty sure some
Being a member of application-built-on-Gecko community with an
application that uses worker threads, I am worried about them being
dropped even hypothetically.
Could you please provide some links to where this topic is discussed in
My only concern here is suddenly it seems a majorly wanted feature for
SM2 (which will base off 1.9.1) was just backed out due to a possible
test failure, (harder for patches author to figure out since test was
mac-only, we'll try to figure it out though).. anyway, its a patch that
had been waiting for gavins review since before b1, (as in quite a long
while) he just reviewed it, but it does have potentially addon breaking
See Bug 407725 for the bug I talk about.
And Bug 467045 for an actual addon that broke due to that landing.
Will SM be able to have time to investigate and still get this in? (if
nothing else than because we've tried so hard to get the bug fixed) ;-)
[even better if because: it appears (to me, but again hard to test
locally) that the test failure failure due to a perf increase in a
~Justin Wood (Callek)
Actually, this already was tried to get in for 1.9.0 (!) but took
several longer review cycles for the smaller fixes until this last
really long one for the to-believed-final patch. I really really hope we
can get this back in again very soon as it is something that surely
should have a nice period of nightly testing and at least one beta
before it gets into a final - and it's _the_ blocker for 1.9.1-based
SeaMonkey 2 getting customizable toolbar capability at all.