Naming alphas

Software production is a lot like sausage factories. The end result is nice, but peeking behind the factory walls isn’t always pretty (cue scene from Tintin in America).

It’s been educational to go through the process of picking nominations for the next alpha release, understanding the interactions between Gecko changes and the impact on Thunderbird, and more. We’re getting there, though, as soon as we can figure out a couple of last issue. But then there’s the issue of “public perception”, in particular what we should call this next release. Because names are loaded, and version numbers even more so.

So what is the point of doing this next release? There are lots of somewhat conflicting goals:

  • Because it’s time: it’s been a long time since there was any non-security release of Thunderbird, and that’s always dangerous. Software that’s not used by people outside the inner circle tends to have hidden flaws that get harder to fix with time. So it’s important to release something, anything.
  • Because we’re on trunk: Thunderbird development has been going on on the “trunk” of Mozilla for several months now, and as a result a lot of changes motivated by both the evolution of the platform and Firefox 3 have impacted Thunderbird. It’s good to get feedback on the consequences of those changes, whether that’s cool new features like the Add-on manager or core changes like the changes in the widgetry on the mac.
  • Because it’s a new team. The Thunderbird 2.0.0.x releases you’ve seen over the last few months have all been done by the Mozilla Corporation engineers who have those processes ironed out. Some of us on the Mozilla Messaging side are new to making Mozilla releases, and it’s certainly better for everyone if we work out the kinks in releases doing early releases rather than “important” releases. At the same time, having a new team means that we can challenge some of the old ways, and consider doing things differently because the environment is different.
  • Because we want to release often: Both Dan Mosedale and I really want us to move to a more agile development model, where releases aren’t that hard, and where we can experiment with changes without huge impact on the QA process. That’s going to be hard, and involve investments in all parts of the pipeline, from build automation (Rick’s on that), to unit test coverage (Mark’s on that), to rethinking how we do QA (Gary and Wayne are on that). But getting there also means understanding, documenting, and streamlining the release process.
  • To re-engage with the add-on developer community: there’s lots of work to do to make sure that when 3.0 is ready, the add-on community has been part of that process, so that their extensions can be ported to the new codebase. Having a release that they can target that is based on trunk is a good first step there (finishing and documenting STEEL is another big step in that direction).

Note that there’s a big reason to release which isn’t mentioned above, and that’s “to get feedback on the big changes in the next major release of the product”. And that’s because none of the big changes that we’re hoping to have in Thunderbird 3 are in this build. So for most users, I expect that the differences between this next release and Thunderbird are going to feel pretty minor. Which is how it should be at this stage.

However, given how long it’s been since there’s been a feature release, it’s likely that if we label this release “Thunderbird 3.0a1”, that we’ll both get complaints about how little has changed since Thunderbird 2, as well as give the impression that we’re close to nailing down Thunderbird 3, neither of which are true.

Furthermore, we really do mean that it’s an alpha release. There are no guarantees, there will be minimal testing, and it’s possible it will eat up all your mail (although unlikely =). So calling it Thunderbird anything is likely to confuse people who don’t follow Mozilla closely.

Given all that, I’m thinking that this next release should be called Shredder a1, with Shredder (Rick Tessner’s brainstorm) being to Thunderbird what Minefield is to Firefox. We probably won’t have the word Shredder in the product for a1, but hopefully for a2.



  1. Giving a product a codename, while in alpha state is a good idea, since people won’t confuse it with “the real thing”.

    When it gets to beta – meaning it’s somewhat stable and needs more testers – you should probably call it by it’s name.

    “Shredder” sounds a bit scary, so that might be a good choice for an alpha.
    But be aware of software products with the same name.

    Will you give a status of what you think will get into Thunderbird 3? I know, I can search BMO, but more in the line of “Thunderbird will make X better and add Y feature…”.

    It’s really fun to follow the bugs (especially the address book with standard8 at the wheel) and it’s nice to hear, that you don’t consider the current state of Thunderbird ready for a major version change – I agree.
    There has been loads of changes since 2.0 and I would recommend the nightlies, since I enjoy them.


  2. A new release would sure give us true users some hope, so please release something soon =)

    It might even be a good gift to the community from the new company =)


  3. Shredder sounds good for the same reasoning behind the Minefield codename.

    If you want people to test nightlies / alphas you’ve got to provide guides on the wiki to running it alongside one’s current installation of Thunderbird or backing up and restoring easily as Mike B Beltzner said; hopefully both.

    I’m much more likely to risk my mail especially since I’ve moved to IMAP, although I’m sure there’s still risks there too.


  4. At least with a Minefield, it’s possible to get to the other side.
    A shredder has only one purpose: to destroy documents. Certainly a warning on the start page would be sufficient. In my 5 years of using trunk builds, I have never lost data in an mbox. Of course years ago I separated my “real world” profile from my “testing profile”
    In the early days of Seamonkey trunk builds, they had an app specific profile location, which forced you to create a new profile for those builds. If you really think using trunk builds is that dangerous (I don’t) then perhaps that’s the way to go.
    Oh..BTW how about “Thunderbolt” as a codename. It implies danger as well as power and excitement.
    And… there is an apple download called “shredder”


  5. If you do end up using a codename like Shredder, I would strongly suggest implementing it before a1 is released. The switch to Shredder for a2 might make it look like Thunderbird progress has stalled to those who don’t know about the name change. Plus, certain news sites have a tendency to make a big deal out of alphas for future versions of released products (which is the point of using the codename in the first place).


  6. Remember there are two zeros between the ‘2’ and the ’14’

    Surely this gives you some options.

    a 2.1 release?

    a 2.0.1 release?

    and the alpha could be for this, e.g. 2.1 alpha 1

    just a thought

    Chris Keene


  7. You realise you’re still going to get forum posts saying “I upgraded to Mozilla Shredder and it lost all my email!”, don’t you?

    Personally I’m not too keen on the shredder name – sure it’s document related and sounds dangerous, but it does kinda imply that its actually a product to prevent deleted data recovery (I can easily see a ‘shredder’ add-on for Thunderbird).

    I like the Thunderbolt suggestion, or how about other birds: Pigeon (as in carrier) or Owl (Harry Potter)


  8. If Shredder is supposed to be to Thunderbird what Minefield is to Firefox, you should change the branding on the trunk and it should be Shredder 3.0a1.

    Otherwise, it’s weird to call it “Shredder a1”. What happens for Thunderbird 4 alpha 1, for example?

    If you’re looking for a codename for the Thunderbird 3 codeline, similar to Gran Paradiso for Firefox 3, then it could be Shredder a1, but you’d need a new codename for Thunderbird 4.

    Anyway, just trying to avoid confusion later. 🙂 Love the name “Shredder”, btw.


  9. LOL

    Shredder is good! And I’m delighted to see TB processing with a captain steering the ship, lots of good people on board! I must say, it was worth the effort 😉


  10. Shredder sounds like a good name for nightly builds, it has the same slightly-scary feel as Minefield does. Not sure it works for alpha’s though.

    By way of example, Firefox 3 has three sets of branding – Firefox for the official branding (betas and later), Gran Paradiso for the unofficial branding (alphas), and Minefield for nightlies (also the default for DIY builds).


  11. I agree with Samuel, the codename plus alpha/beta build number should be together as his example of Shredder3.0a1 (although I kind of like “ThunderBomb” or “T-bomb” instead of “Shredder”).

    And speaking of testing the Alpha’s I finally dumped that ludicrous, buggy, feature-poor “Windows Live Mail” (WLM) desktop email client for the the nightly builds of Thunderbird 3 of all things. That should tell you what I think of the stability of the 3.0a1pre’s (now 3.0a2pre in the trunk). I’ve left all messages on the respective servers except for one of my several email accounts I have loaded into the Thunderbird 3.0 nightly builds (all Gmail but one) and despite the occasional minor glitch now and then it’s a heck of a lot more reliable than WLM ever thought of being. Sure, the inline spell checker doesn’t work yet on anything but a brand new message (replying, forwarding or even pasting text into a new blank message seems to knock out the inline spell checker) but as long as the actual spell checking module works…no problem. 😛

    I can’t tell you how glad I am to see Thunderbird still being developed. I used version 2 for a long while before I tried out WLM. Never should have left.


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s