A brief history of time – Exchange Server way

Ever wondered how Exchange Server evolved over the years? And how come Exchange Server 2007 shows "8.0" as its version number?

Here is a brief history of time… it might add a bit to the known history!

First Exchange proof of concept was in the early 90’s. Development team usage only.

Mercury – we couldn’t get Exchange to scale past 25 users. We were bleeding internally with Xenix mail, so we figured that we’d keep Exchange alive but just use it as a MIR (Microsoft Internal Release). A perf and scale team was put in-place to see what we could do about the abysmal performance.

Touchdown – the perf and scale team figured out the important issues, and Exchange once again had the potential to become an external release, marketed and sold by Microsoft. Indeed, after several test releases, we shipped in early ’96 as Exchange 4.0

4.1 – Exchange 4.0 spent a long time in development, but it was a little rough around the edges. We immediately started work on a 4.1. After having implemented X400 as the primary messaging protocol and an X500-like directory structure, we quickly realized that this Internet ‘thing’ was really going to take off. It started to become obvious that we needed more than a .1 release. The 4.1 moniker was dropped and we were now working toward 4.5. After implementing several ground-breaking protocols such as SMTP and LDAP v2, this was certainly not a dot release. We shipped as Exchange 5.0 in early ’97.

Exchange 5.0 brought another important technical addition – the introduction of a Web-based e-mail client called Exchange Web Access (EWA). EWA was subsequently renamed Outlook Web Access (OWA). EWA was revolutionary for its time. It allowed employees or other individuals with mail stored in an Exchange 5.0 or later server to use a web browser to access their e-mail from anywhere at any time. In other words, the Exchange server provided the necessary information and interface through the web browser, no special e-mail client application was required on the user’s machine.

While on the subject of Exchange 5.0:

If you still have an Exchange 5.0 CD around, there is an Easter egg on the CD in the form of a file called EXGL32.DLL. Rename that file to .AVI and view it… it is essentially credits for all the people that worked on Exchange 5.0 and while at it, we made some fun about the versioning in it too. Just so you get an idea:

The Exchange 4.1 Team! Oh… wait…

The Exchange 4.5 Team! Uh… let’s try this again…

The Exchange 5.0 Team! Yeah, that’ll work!

Osmium (aka Oz) – More and more Internet protocol work was poured into the product including LDAP v3 and NNTP support. It was also obvious that 16GB of database space was not enough. Exchange 5.5 was born and shipped near the end of ’97.

Platinum (aka Pt) – After we shipped Exchange 5.5, we started building the Exchange 6.0 product. Big changes were afoot. The Exchange Directory team had moved over to Windows and Active Directory was coming together. Both the Windows and Office teams used year numbers for their releases, so externally, the product would be called ‘2000’ rather than 6.0. There was no point changing the internal version numbers, so we stuck with 6.0 inside the code. Exchange 2000 was released in November of the year 2000.

Mercury – Exchange 2000 also turned out to be a little rough around the edges, especially with upgrades and integration with Exchange 5.5. We had to act quickly, so SP1 quickly followed. However, more was needed, so we started work on a 6.1 which was codenamed ‘Mercury’. Ironically, this was the same code name as what we had used back in the early 90’s, and suffered the same fate as the first Mercury. For various business reasons, the Mercury project was canceled. We had already written a lot of new code, and this was eventually divided and shipped as part of Exchange 2000 SP2 + SP3, with the rest in Titanium.

Titanium (Ti) – We were now working on Exchange 6.5, this was to sync up with Windows 2003 and Office 2003. Major technical breakthroughs occurred in this release including the advent of RPC/HTTP, cached mode and ActiveSync for mobile clients. Exchange 6.5 was externally shipped as Exchange 2003 (shipped in September of 2003).

Kodiak – after Exchange 2003 shipped, it was time for a major shake-up of the product. We had many new ideas and needed a place to check-in our code – the version number is now 7.0. Spam is a major problem – is it time to create a special version of Exchange just to tackle this? The small business market is in need of a ‘tiny’ version of Exchange – perhaps the market is ripe for Exchange for Workgroups, or perhaps Exchange Express. For the enterprise product, is it time to switch from ESE (JET) to SQL? After a lot of research and investigation, we decided to cancel the Kodiak project, but take our best ideas forward.

E12 – A new version of Exchange needs to come together. There’s too much proof-of-concept code occupying the 7.0 version space. It’s time to increment to 8.0. With major changes all round, including Unified Messaging, multiple server roles and PowerShell integration, the code name was aligned with the Office team. Office was working on their ’12’ wave, and so we used the code name of Exchange 12 (or E12). Exchange 8.0 / E12 was externally shipped as Exchange 2007 at the end of year 2006.

E?? – We just shipped Exchange 2007 SP1 (or, E12 SP1 to you and me). What’s next, you ask? Is it Exchange 9.0 or perhaps Exchange 13? Perhaps it’s something completely different… Stay tuned!

Paul Bowden

Share this post :

Comments (13)
  1. Mike Crowley says:

    I keep a running list of "things to figure out" and though not a huge priority, understanding the versioning of Exchange was on this list!  thanks!!

  2. Michael Dragone says:

    "Perhaps it’s something completely different… Stay tuned!"

    Come on Paul, no teasing! :)

  3. Gary Cooper says:

    Hi Paul,  good history review.  I have also been there every step of the way.   Did you remember the Easter Egg on the Exchange 4.0 CD?  It was the first…

  4. JJ says:

    Cool history – I’m gonna have to dig out that 5.0 CD to see the Easter Egg.

  5. Robert Aitchison says:

    I remember most of that but still didn’t know about the easter egg.

    Good stuff.

  6. Vinay Y S says:

    Talking about spam, is the postmark put in the e-mails a standard defined somewhere? Can other mail servers verify it? Or generate it?

    Wondering if it is outcome of pennyblack project and if it’s similar to hashcash.

    Would be great if it were a standard and mail servers could interoperate on that.

  7. sachin says:

    Nice article. wondering where MSmail fits in ? always thought exchange was the new version of MSmail.

  8. sachin says:

    oops !! just saw that on wikipedia

  9. exmin says:

    Marketing Waffle – The only good versions of Exchange (in your words) are 2003 onwards, the current supported versions!!!

  10. adam says:

    Where would the Exchange 5.5 Defense Message System fit in?

    Did it have it’s own name internal?

  11. David Lemson says:

    Good call on Exchange 5.5 Defense Message System, missing from the list – that was just the Exchange 5.5 server code base with a few registry keys turned on the server, plus a special client that we developed for the US Department of Defense.  We shipped our next DMS-capable version of Exchange with Exchange 2003 RTM.    Exchange 2007 had the X.400 connector removed, which means that while Exchange 2007 can hold DMS mailboxes, you need an Exchange 2003 server somewhere in your network in order to interface with the DMS X.400 backbone.

  12. Bharat Suneja says:

    It would’ve been great to continue with the cool code names… though E12 with any other name would’ve still been an impressive product.

    (Released) Product names may need to follow the corporate/marketing naming conventions. Shouldn’t code names be the domain of engineering/product teams?  :)

  13. Bill Skilton says:

    What about "Spitfire"  – Seem to remember that is was a OS/2 based x.400 MTA. and "Iridium" – Code name of what I believe turned out to be Osmium, but we had to change the name due to Motorola’s objections.

Comments are closed.