Not too long ago I wrote an article about Team Foundation Server licensing. Now that it is 2011, and after some recent access requests for TFS, I’ve decided it is time for an update.
Does TFS cover SQL Server Licensing?
One instance of Microsoft SQL Server 2008 Standard Edition or SQL Server 2008 R2 Standard Edition can be used as the Team Foundation Server 2010 database.
That’s right – TFS 2010 includes a Standard Edition license for SQL Server but only when used exclusively as the data store for TFS and nothing else. The paper doesn’t stipulate if the license is only valid for single tier or dual tier configurations, but since the database instance must be used exclusively by TFS, I can’t see why it wouldn’t cover dual tier deployments. Note that if you want to use a different version of SQL (Enterprise, DataCenter) you need a separate license.
How about TFS user licensing?
A few years ago, Microsoft eased up a little bit on the licensing restrictions which caused a user to require a Client Access License (which are expensive). The clause in the TFS licensing is explicitly:
Client Access License Exception for Certain Work Items
A user does not need a CAL or External Connector License to create new work items or to update work items that that same user has created. This exception applies only to work items related to defect filing or enhancement requests. However, a CAL is required when a user views or modifies a work item created by another user or interacts with Team Foundation Server in any other way.
Which opens up TFS for people who wish to create defects (bugs) and feature requests. Accessing TFS for this purpose is fairly obvious and easy to open to a large host of users – via Web Access. However, how does a TFS Administrator set permissions appropriately? It turns out that, via the TFS Administration Console, Active Directory groups and users can be added to a special group called the “Work Item Only View Users”. For more information on configuring this, see the following article: Work Item Only View (WIOV) Users in TFS 2010
Members of the Work Item Only View Users group are restricted to a limited view, which is indicated by the “Work Item Only View” tag in the top right hand corner of the web application page:
By default, I noticed that restricted use users did not automatically have permissions to create work items! This rendered the whole exercise rather pointless. Digging deeper, I realised I’d have to grant permissions on a per-Team Project basis so that the limited permission group could create work items. Given that each Team Project could have a different template base, I believe you’ll also have to grant permissions separately for work item types as well – where the work item type relates to a defect or enhancement.
Note that external users (users who do not belong to the parent organization) are required to be licensed both with a CAL (if working beyond the scope of the CAL exception) and an External Connector License (which is a nice way of raising some extra revenue).
I can think of ways around that licensing model..
Now, don’t think that “multiplexing” or pooling access to TFS will avoid the need for CALS for your users!
End users or devices that access Team Foundation Server in any way-other than the Client Access License Exception for Certain Work Items exception noted above-are required to have the appropriate licenses, regardless of whether they are using a direct or indirect connection to the software.
Which translates into: “no matter how a user accesses TFS or TFS data, Microsoft want their money”. Even automated builds aren’t devoid of licensing creep. An automated deployment or build which does basically anything other than compile requires a Visual Studio license:
CAL Requirements for Builds
Users who merely execute and review builds are only required to have a Team Foundation Server CAL; however, users who author tests or other types of validation and include them as part of a build must be licensed for the appropriate Visual Studio 2010 individual development tool.
This extends to the execution of: unit tests, code coverage tests, web or load testing, architectural tests (validations) or any code analysis or coded UI or database unit testing.
Also note that the following shows the many ways TFS can be accessed:
Accessing Team Foundation Server
The Team Foundation Server 2010 data can be accessed in several ways, including:
- Visual Studio Team Explorer 2010, which is included with Visual Studio 2010 Ultimate, Visual Studio 2010 Premium, Visual Studio 2010 Professional, and Visual Studio Test Professional 2010, and available for download to the general public. Team Explorer also can be installed as a standalone client, and on as many physical devices as you like.
- Visual Studio Team Web Access 2010, which is a browser-based version of the Team Explorer client.
- Microsoft Office ExcelR or Microsoft Office Project, which can access Team Foundation Server using add-ins for those programs that are provided with Team Explorer.
- Microsoft Expression Blend. 3, which can access Team Foundation Server without requiring Team Explorer.
- Microsoft Expression Studio 4 (all editions), which can access Team Foundation Server without requiring Team Explorer.
- Programmatically, as enabled through the Team Foundation Server 2010 application programming interfaces (APIs) or by other means.
For more information, why not check out the whitepaper directly? See below for further reading.
Visual Studio 2010 and MSDN Licensing White Paper
Work Item Only View (WIOV) Users in TFS 2010
Team Foundation Server Permissions
Visual Studio 2010 and MSDN Licensing White Paper (updated)