Why does Microsoft "Time Bomb" its beta releases?

One question that periodically comes up is "Is <x> beta time bombed"?

First off, what's a time bomb?  It's a chunk of code that's intended to disable a beta release sometime after the beta ships.

I believe that all MS beta products have to be time bombed, I know that all the products I've worked on recently have been time bombed.  The time bomb can be mild (you lose the ability to send or receive new email), or it can be severe (the product refuses to start/boot), but all beta products are time bombed.

As far as I know, the reason is buried deep in the roots of Exchange.  When Exchange 4.0 shipped (back in 1994ish) there had been several previous beta releases.  What Microsoft didn't realize at the time was that these early beta releases of Exchange were "good enough" for the sites that were running that beta.

But the beta had a bunch of bugs in it - not serious enough to make the product unusable, but enough to cause interoperability problems with existing email systems (I really don't remember the details, but the problem was something minor like that the SMTP gateway generating uuencoded TNEF blobs instead of converting to MIME, or something like that).

We fixed the problem long before RTM, it only existed in the one beta release of the product.  However these beta servers continued to be run by companies that had received the beta for several years after we released the product.  The consequence of this was that Microsoft continued to have people reporting that Microsoft Exchange was producing illegal messages.

The thing is that no shipping product had those bugs.  The problems were seen because some very small subset of customers hadn't upgraded to the shipping version of the product.

As a result of this (and other similar problems), Microsoft started time bombing beta releases - that way they Microsoft can guarantee that beta releases don't cause problems long after the product RTMs.