I was recently at a client site
and we started talking about SQL Server licensing, specifically for their
development and testing (they call it staging) environments. The client said that they purchased regular
licenses for their staging environment but that they had MSDN Professional (“Visual
Studio Professional with MSDN”) licenses to cover their developers. At this point I started to talk to them about
SQL Server Developer Edition and how MSDN subscriptions – while they give you a
boatload of available installable software – were intended for individual use
and not for shared environments. I dug a
little online and could not find anything definitive so I told the client I
would call Microsoft.
Before I did that I turned to my
primary help resource - #sqlhelp on Twitter.
I referenced a
blog post I found (but of course anyone can write a blog) talking about how
to set up a lab with MSDN subscriptions and asked the question:
This question brought several
responses from what I consider reliable technical sources saying “of course it doesn’t
work that way” which is what I expected.
Finally MCM Robert Davis (Blog/@SQLSoldier)
directed me down the only path to a true judgment:
I called Microsoft licensing
today and to my amazement, the MSDN subscription answer appears to be correct,
as long as you are careful to have an MSDN subscription of the appropriate
level to include SQL Server (currently Professional or higher as shown
here) for each of the developers in your environment.
I asked the Microsoft Licensing
rep a couple of key questions and here are his answers:
Q: “So if a shop of twelve developers has twelve MSDN
subscriptions does that mean they can install 50+ Enterprise
Edition SQL Servers for development and testing?”
A: “Yes – as long as all individual developers have
subscriptions that include SQL, they can install as many
servers as they want”
Q: “The MSDN Licensing page (http://msdn.microsoft.com/en-us/subscriptions/cc150618.aspx)
says that
‘IT Pros that install a test lab’ need subscriptions as well – so if my hypothetical
twelve developers have
two DBA’s that install their dev/test SQL Servers for them, I just need
fourteen MSDN subscriptions to
be covered for as many copies of SQL as I want in dev/test?
A: “Yes”
Q: “What about end-users that test the software? Do I need MSDN subscriptions for all of them
too?”
A: “No – if you look at the Visual Studio
2010 and MSDN licensing white paper you will see a section titled
‘Acceptance Testing’ that describes the following:
Acceptance Testing
At
the end of a software development project, end users (or team members such as a
business sponsor or product manager acting as proxies for end users,
particularly in cases where it’s infeasible or impossible for the actual end users
of the program to participate) typically review an application and determine
whether it meets the necessary criteria for release—a process often called user
acceptance testing or UAT. MSDN software may be accessed by end users who do
not have an MSDN subscription for purposes of acceptance testing, provided that
the use of the software otherwise complies with all MSDN licensing terms. It is rare that someone whose primary role is
designing, developing, or testing the software would also qualify as an “end
user.”
Under
MSDN licensing, acceptance testing must not use live production data. If a copy
of any live production data is used, then that copy of the data must be
discarded after the testing is complete and cannot be incorporated back into
the live production data.
As you can see in this blurb, QA
staff (whose primary role is to test software) would not qualify as end-users
and as such would need MSDN subscriptions as well under this scheme.
This call still blows my mind –
for a little shop, MSDN subscriptions (which
generally run $1000+ per year at list price) are expensive and make this
scheme undoable compared to SQL Server Developer Edition licenses at $40-$50
each, but for a shop of any size, especially
one that may already have MSDN subscriptions for their developers as part of
doing business, this could save some money (*especially* if you aren’t using
SQL Server Developer Edition in dev/test!)
Near the end of my #sqlhelp
conversation the other day I had this exchange:
Maybe I finally found something
that does work the “beneficial” way in licensing – it must be a trick! ;)