Visual Studio subscriptions are licensed Per User with each licensed user able to use:
“any number of copies of the software and any prior version on any [dedicated] device”
And may use the software to:
“design, develop, test, and demonstrate their programs”
The requirement for a “dedicated device” precludes Visual Studio from being used in public cloud shared environments such as Amazon AWS and Google GCP – although it can (in most cases) be run on Microsoft Azure.
Visual Studio subscriptions can be reassigned between users but only once every 90 days
Visual Studio software cannot be used in a production environment. The Microsoft Product Terms define this as:
“any Physical or Virtual OSE running a production workload or accessing production data, or Physical OSE hosting one or more Virtual OSEs running production workloads or accessing production data”
And the Visual Studio Licensing Guide gives the following examples:
This doesn’t preclude you from mixing VMs running MSDN & Production software on one server as, according to the above, each VM constitutes its own environment rather than it being that host in its entirety. However, as we’ll discuss later – mixed environments can make audits more difficult.
Visual Studio subscriptions purchased via perpetual license programs allow limited perpetual use after a subscription expires. While no new software or license keys can be downloaded, existing downloads and product keys can continue to be used. However, updates are not permitted, and product keys can only be used up to their activation limit.
Visual Studio is a rare beast in that it allows you to “renew down” – i.e. to move from a higher edition (say Enterprise) to a lower edition (say Professional) at the point of renewal. This is done simply by purchasing the appropriate SKU. This can be a useful tool when managing Visual Studio software spend although may need additional management when reviewing historical compliance.
Visual Studio subscriptions come in 2 flavours – Standard and Cloud.
Enterprise edition is the most fully featured with Professional coming in next – however, features in MSDN Platforms that are not in Professional include:
Test Professional & MSDN Platforms don’t include the Visual Studio IDE – so no programming environment.
One big thing to note is that Cloud subscriptions don’t include “Subscriber Benefits” or any perpetual rights – they are aimed at programmers working in a DevOps environment rather than those developing with Microsoft technologies.
On one device.
As well as rights to the server product, each subscription also provides 1 x CAL.
Users licensed with:
Are permitted to run System Center Virtual Machine Manager (VMM) for:
“creating, deploying and managing lab environment(s) using Microsoft Azure Test Plan”
Each “standard” Visual Studio subscription includes a monthly allowance of free Azure credits:
These credits can only be used for test & development uses and cannot be combined across accounts.
Visual Studio subscribers are permitted to run “most” of the subscriber software on VMs in Azure, for test and development purposes. This applies to both shared and dedicated environments.
Note that Windows Server and Windows client OS are not included in the Cloud Use Rights. Windows Server VMS will be charged as standard and Windows Client VMs are available via the monthly credits or subscriptions using the Dev/Test offer (PAYG or Enterprise).
Following the licensing changes made on October 1, 2019, Visual Studio software purchased/renewed after that date cannot be run on dedicated hosts with the “Listed Providers”. These are, at the time of writing:
The Azure Dev/Test offer gives reduced rates on a variety of Azure resources such as Windows Server VMs, HDInsight nodes, Logic Apps and also provides access to Windows 10 and Azure Virtual Desktop.
As a general rule, any person using or accessing software installed via Visual Studio must have a license and it must be of the appropriate type – i.e. a user licensed with Professional cannot access features that are only available with the Enterprise edition. However, there are a few scenarios where unlicensed use is permitted.
Users without licenses are permitted to access the software for the purposes of User Acceptance Testing (UAT). Such testing cannot use live production data and if a copy of production data is used, it must be discarded and can’t be merged back into the live data.
Included with all levels of subscription – but NOT with any of the Cloud subscriptions – this right allows up to 200 simultaneous, anonymous unlicensed users to access an online demo of the program being developed.
Licensing of development environments often requires additional monitoring and Microsoft is no different. Here we look at some of the key areas to address.
MSDN software looks the same as production software, meaning ITAM tools can’t differentiate between them. If you allow mixed production/development usage on the same infrastructure, getting an accurate picture of your license position will be very difficult. This will cause issues during an audit – how do you prove which licenses are development, and which are production? If you’re unable to do so, you face paying full production prices to rectify the “shortfall”. Having separate environments with a clear delineation of users is the ideal way to keep things clear.
Another tip is to make sure that licenses are only being used for test and development purposes:
Both of those scenarios constitute “production use” and would need licensing outside of Visual Studio subscriber software.
Using outsourced development teams is very common and can cause some confusion when it comes to licensing.
Be aware though that CALs cannot be used across organisations so if your external developers are using their own Visual Studio licenses and accessing your Azure DevOps infrastructure, you’ll need to purchase an Azure DevOps CAL for each of them.
Azure DevOps servers require properly licensed Windows Server licenses and each user/device accessing the servers requires a Windows Server CAL. As CALs don’t allow access to servers of other organisations, Windows Server CALs will need to be assigned to any external users.
Each Azure DevOps license (other than Azure DevOps Server Express) allows the use of 1 x SQL Server Standard 2019, solely for use with that product. If these SQL databases are being used for other purposes, they will need to be fully licensed.
Although Azure DevOps CALs are required for many types of access, there are several cases where a CAL is not required – these include:
This is a key part to retaining control over your Visual Studio spending and compliance – and making sure that you’re using as many of the benefits as possible.
Microsoft have a range of resources to help with this here: