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!