A while ago we got some feedback from customers that something about our licensing of Team Foundation Server’s use of SQL under an MSDN subscription didn’t make sense.  We’ve just fixed it.

Let me start by explaining status quo.

When you purchase TFS, you get a license to use SQLServer Standard Edition along with your TFS (but it can only be used for TFS).  The version of SQL you get a license to is the version that was current when we released the version of TFS you are using.  So, for example, TFS 2010 includes a license to use SQL 2008.

Soon after TFS 2010 released, SQL released a new version – SQL 2008 R2.  We tested TFS with that version to ensure that it worked, however customers didn’t have the right to upgrade their SQL server associated with TFS unless they had a separately purchased license for SQL 2008 R2.  I think of it this way – the product you bought didn’t have SQL 2008 R2 so you can’t use it unless you buy it.  OK, it kind of make sense.

However, we got feedback from people that own an MSDN subscription (which covers TFS) that they felt the MSDN subscription (which gives them rights to upgrade to future versions of TFS at no additional charge) should also give them rights to upgrade the SQL Server associated with their TFS license to SQL 2008 R2.  We agreed but, unfortunately, the product use rights were not written that way.  They locked you in to the version of SQL that shipped with TFS regardless of your MSDN subscription.

We’ve just updated the Product Use Rights document to fix this.  The July PUR document now includes language that allows you to upgrade the SQL Server associated with your TFS license to newer versions as long as you have an active MSDN subscription that covers your TFS server at the time the newer version of SQL Server is released.

The language that allows this is so obtuse I don’t think anyone would ever figure it out.  I apologize for that and feedback has been given that we need to fix the language so that a normal human can understand it.  However, I expect that will take a few months.  In the mean time I’ve been told that what I’ve described here is the intent of the language.  I’ve included the language here so that you know what to look for so you can form your own interpretation.  Unfortunately, the way these things work is my interpretation of the licensing is “unofficial” and legally speaking you are required to rely on your own interpretation and be responsible for it.  So my representation is accompanied with the disclaimer that “I am not a lawyer” (and if I were I might shoot myself :)).

License terms for SQL Server 2008 R2 Technology.  If your edition of the server software includes other SQL Server 2008 R2 technology (for example, SQL Server 2008 R2 Standard Edition), you may run, at any one time, one instance of that technology in one physical or virtual OSE on one server solely to support that software. You do not need SQL Server CALs for that use.  You may create and store any number of instances of SQL Server 2008 R2 technology on any of your servers or storage media solely to exercise your right to run an instance of SQL Server 2008 R2 technology under these  license terms.

Brian