Microsoft’s Product Use Rights state very clearly that you may not reassign licenses on a short-term basis (within 90 days of the last assignment). However, licenses can be reassigned sooner if the licensed device or server is retired due to a permanent hardware failure. That’s a constraining and very strict rule that talks about when the 90-day time frame is set aside and it talks specifically about hardware failure.
Given the strictness of that rule, without License Mobility you could only move the licenses to a server every 90 days. What that means then is that in order to be properly licensed amongst the hosts in a cluster, you would have to have enough licenses assigned to each of those nodes to cover the peak number of virtual instances that could be moved to that server at any given time. While the licenses or environment may call for, say, half a dozen licenses, you might need 20 simply because you’ve moved these instances from physical node to physical node within the cluster.
Now, looking at SQL Server as an example, all of the cores on all the hosts in the cluster must be licensed and covered by Software Assurance. This now expands your rights to allow any number of instances of that software to run in any number of virtual machines within that farm. In the case of SQL Server that is not covered by Soft Assurance, you’re limited to the number of licenses that you’re actually running (core licenses). If you have a total of 16 cores within that cluster, License Mobility rules without Software Assurance state that you can only have 16 instances of support SQL Server.
It’s complex and easily misconstrued but it’s a trend that we’re seeing over and over again. Microsoft is associating Software Assurance to many, many new benefits – License Mobility is just one of them.