Product life cycles (and Virtual Server 2005)

It's always nice when someone says James O'Neill, IT Pro Evangelist at Microsoft, reveals that Virtual Server 2005 support will end in 2014 - except that then people come and demand to know why you're revealing product plans.

So, lets start with a basic question. "Where do I go to find out when support for [Product X] expires ? (or if it has already expired)"
Answer: https://support.microsoft.com/gp/lifepolicy , It's quite a long FAQ but two key pieces are:

Microsoft will offer a minimum of 10 years of support for Business and Developer products. Mainstream Support for Business and Developer products will be provided for 5 years or for 2 years after the successor product (N+1) is released, whichever is longer. Microsoft will also provide Extended Support for the 5 years following Mainstream support or for 2 years after the second successor product (N+2) is released, whichever is longer. Finally, most Business and Developer products will receive at least 10 years of online self-help support.

and

The Support Lifecycle policy went into effect October 15, 2002, with a major revision on June 1, 2004. This policy revision covers most products that were available through retail purchase or volume licensing as of June 1, 2004, and most future products versions. For information about end-of-support timelines and Extended Support options for all products, visit the Select a Product for Lifecycle Information site.

I commented recently on the life of Virtual Server 2005. Since it released in the last quarter of 2004, you can easily do the sums and work out that mainstream support runs to the end of 2009 and paid extended support runs to the end of 2014 - in fact because of the way we set the dates support ends early the following year. The dates are given here , 12th Jan 2010, and 13 Jan 2015.

What about the R2 versions ? It's simple: Windows server 2003 and Windows Server 2003 R2 are treated as one product. Since the product is getting near to it's 5th birthday, mainstream support will be covered by the "2 years after its successor" rule. Virtual Server 2005 R2 is listed as a separate product with its own expiry dates. Because it was launched in Q1 of 2006, mainstream support ends at the of Q1 2011, and extended support at the end of Q1 2016 (again the actual end date is a few days into the next quarter).

You may be thinking ...What about applications which launch late in the life of an OS ? as the FAQ puts it

If the problem is specific to the program, Microsoft will provide support. If the problem is a result of the combination of the operating system and the program, that particular problem will not be supported.

The other question is What about Service packs ? from the FAQ again.

Microsoft will provide 12 months of support for a service pack after the successor service pack is released.

There's a detailed break down here. So when Service Pack 1 comes out you have 12 months before we require that service pack in order to be supported.

However  if we need to support a product or service pack beyond these limits we will. For example, because we knew that Windows XP Service Pack 2 was a bigger change than most service packs we extended that one year deadline.

Spare a thought for the people in Redmond who have to test software on different OS/Service pack combinations. If we are have service packs coming out frequently (as was the case with NT4) then they might have to test on as many as 4 different service pack levels. Testing becomes so long and so complex that another service pack is out before you've finished testing your product. If the service packs are widely spaced, you might be lucky enough to have only one supported version of a given OS. When new service packs or Operating Systems come along they have to test their product against those. Generally it is acceptable to say a product will not work against a whole new OS (e.g. Exchange 2000 didn't work on Windows Server 2003), but we don't like to say that something only works with an out of date service pack - that tends to bring a patch for the application.  [And please note these are generalizations].