Back in the day (and by that I mean a week ago), new versions of Firefox were released “when they were ready” – à savoir, when all the features they wanted to put in were in it. That’s called feature-based releases, and most developers use that strategy.
But there’s another release strategy that focuses on releasing new versions every so often. Some features might not make a version, but that’s OK; a new version is coming in x weeks so it’ll be included then. This is called fixed releases.
The guys at Chrome have been using the fixed release strategy: a new version of Chrome is released every 10 (not sure, could be 6 ou 8 or something) semaine. The guys at Mozilla used to use the feature-based release strategy, but now they’ve switched to fixed releases. That means that new versions of Firefox will come every 6 semaine.
The switch to fixed releases has more of an impact than just release dates; it means you have to completely change your pre-release strategy. With feature-based releases, you release an alpha… then a beta… then the final thing. But with fixed releases it’s completely different, and how it’s implemented varies from program to program.
Firefox is now using an interpretation similar to Chrome’s. That means that there will be several flavors of Firefox:
- Nightly is the bleeding-edge version. Any new features are added straight to here, even if they aren’t stable.
- Experimental is like the traditional alpha. After all the features are added in Nightly, the features that are stable enough will be included here.
- Beta is like the traditional beta. All features that will make the next stable release are included here.
- Stable, the version that’s ready for common consumption.
So new code is added to the nightly (ou mozilla-central) builds, and then it’s tested. As the code gets more stable, it moves to the next flavor. Once it hits stable, it’s finally released.
As you can notice, with the fixed release strategy the guys at Firefox can be working on multiple Firefoxes at the same time. At week 15, par exemple, there will be 4 versions of Firefox out:
- Firefox 4 will be the stable release.
- Firefox 5 will be in late beta.
- Firefox 6 will be in the experimental phase.
- Firefox 7 will be in nightly phase.
The guys at Firefox have named the different phases, aussi, and they have some slick new logos.
- Nightly versions are, slightly anticlimactically, named Nightly.
- Experimental versions are called Aurora.
- Beta/stable versions are just called Firefox.
Personally, I think this is pretty awesome. The logos are amazing (I’m currently using Nightly, but I might switch to Aurora just because of the amazing logo and name.) It starts with a dark globe… then the sun starts coming up… then the massive fox appears. Impressionnant.
There’s even more stuff I haven’t covered. Check out the official Mozilla blog for more info.