TFS licensing model demystification or what should I buy for my company in order not to step on the licensing mine?
Microsoft loves cumbersome licensing models . This is not because of their evil-heartedness, but because it make them possible to get more from bigger companies and less from smaller. However when you come into the real decision about how many and what kind of licenses you have to purchase, you stuck. Today we’ll try to make things clearer, at least for Team Foundation Server and Visual Studio, which is very base things for any software house develops things using Microsoft technologies.
© image for cumbersomeness proposal via Willy-Peter Schaub by SA Architect
To make things even simpler, let’s assume that we do not need TFS Workgroup edition (which is special edition for TFS 5 users only) and we are not using TFS Device CAL (as opposed to User CAL this Client Access License permits one device to be used by any number of users. This kind of CAL is good for kiosks rather then for development environments). Also Test Load Agent needs it own license. So now, and under all those circumstances, let’s start.
To work with TFS we need:
- One or more Team Foundation Server
- More then one Visual Studio Client (editions can vary)
- Optional one or more Software Assurance, which can be licenses separately or together with MSDN subscription
- … and some other optional tools
TFS Licensing
Each instance of TFS needs it license. Even if you have mirrored deployment of TFS, you need a server license for each instance. Also you need separate license if you are using TFS Data Tier on SQL Server cluster or using TFS Proxy. I think it’s clear, that in addition to TFS license you’ll need Windows Server and SQL server licenses (if it used especially for TFS). You can also put Data Tier on existing SQL server in this case you need only another TFS license without SQL.
You do not need additional Team Foundation Server license for the machine used for TF build services. Also this machine does not need another CAL, except one used for the system user used for initialize builds.
To summarize: each instance of TFS need server license in addition to CALs and other server licenses (such as Windows, SQL, SharePoint, IIS etc).
Client Access License
In addition to server license you need also CAL for each used reads and writes to TFS. There are different versions of Visual Studio includes CAL:
- Visual Studio 2008 Team Suite
- Visual Studio 2008 Architecture edition
- Visual Studio 2008 Development edition
- Visual Studio 2008 Test edition
- Visual Studio 2008 Database edition
Visual Studio 2008 Professional does not includes CAL. So each one of contributes needs one of Visual Studios which includes CAL. The TFS clients might be installed on one of those editions and does requires additional license.
You do not need additional license when you are using TFS for only:
- Create work items, bugs, etc.
- Query for work items
- Update work items
Other words product definition, system analysts, managers and “bug fillers” do not required additional CAL. Note, that they will probably need proper Microsoft Office licenses to use Excel or Project to do this, however they can also use TFS web access (browser) or any other 3rd party tool without purchasing separate CAL.
Also you need only one CAL for server software. Other words, if you are using TFS on Windows Server you do not need TFS and Windows Server CAL. Also those CALs covers all earlier versions of all products in use.
To summarize: Each TFS user does not need additional CAL when he has proper license for Visual Studio Team Suite or using TFS for only bug/issues tracking.
Software assurance vs. MSDN
MSDN is more expensive then SA (Software Assurance), however it includes SA and provides some benefits by allowing access to several Microsoft products for development and testing purposes.
There are two different MSDN editions – professional and premium. The difference between those editions (except price) is that Premium editing includes Windows Server Systems and Microsoft Office. Thus with Professional edition you got software assurance for Visual Studio 2008 Professional while with Premium for all other versions.
Let’s simulate the results
For small software house with 10 developers (two architects, 1 DBA and 3 QA), two product definition guys, and manager we’ll need (in addition to OS, other server and Office licenses):
- 1 TFS license
- 2 Visual Studio 2008 Architecture edition
- 1 Visual Studio 2008 Database edition
- 3 Visual Studio 2008 Test edition
- 4 Visual Studio 2008 Development edition
- 1<n<10 MSDN Licenses Premium (as number of employees need it for testing or development purposes)
- 10-n SA licenses (if SA required)
- Additional CAL for build machine
I think, that now it become a bit clearer. For additional information regarding TFS licensing model, please refer Visual Studio Team System 2008 Licensing White Paper or ask your local licensing expert at Microsoft.
You may also be interested with:
- Making TFS better or what is TITS?
- Open Source licenses comparison table
- WPF Line-Of-Business labs and Silverlight vs. Flash
- Some new in-mix downloads
- Quick IT tip: How to build bootable USB stick
August 2nd, 2009 · Comments (11)
11 Responses to “TFS licensing model demystification or what should I buy for my company in order not to step on the licensing mine?”
Leave a Reply
Discover other tags
My tools
- .NET Framework Detector
- Duplicate images finder
- Exchange Security Policy for Windows Mobile Devices Fix
- Gas Price Windows Vista SideBar gadget
- Israel Traffic Information Windows Vista SideBar gadget
- Localization fix for SAP ES Explorer for Visual Studio
- LocTester
- RTL and LTR in Windows Live Writer
- Silverlight controls library
- Snipping tool integration plugin for WLW
- USB FM receiver library
- Vista Battery Saver
- WebCam control for WPF
- Windows Live SkyDrive attachment for Windows Live Writer
- Wireless Migrator
- WPF Virtual Keyboard




August 3rd, 2009 at 1:31 am
Great resource for people on TFS Licensing. It’s going to be interesting to see how this model changes with TFS 2010.
August 3rd, 2009 at 3:12 am
Great overview for these issues.
August 5th, 2009 at 10:15 am
This is a great summary, however please be careful as I am finding a few inaccuracies here. For the official licensing guidance please see the 2008 licensing whitepaper linked above.
Tamir, the three things I spotted which you should change:
- CAL’s are not required for the build machine
- The “bug filer” scenario pertains only to “my work items” – you can’t legally update/query/read other people’s work items without a CAL.
- Each TFS license comes with a limited-use SQL Server license, so you may not need to purchase an additional SQL license if you have adequate TFS licenses. For example, in a dual-tier environment (AT and DT) you can either have two TFS licenses or a TFS license and a regular SQL Std license. Usually it’s cheaper to go with the former.
Again, more details in the 2008 licensing whitepaper linked above. Tamir thanks for putting this together and please email me if you’d like.
Brian Keller
Sr. Technical Evangelist
Visual Studio Team System
August 5th, 2009 at 10:01 pm
@Brian
Thank you for reviewing this post.
1) Build machine – as far as I understand if we are using TFSBuild system account (according best practices for TFS 2008) it required to have a CAL for such account as well as for all other system accounts, even if those account are not in use by people. Please, make me know whether I’m wrong.
2) So if I’m using MS Excel to update team work items or using TeamPlain (TFS web access) or any other 3rd party software I need CAL? I do not think so (at least according the changed between 2005-2008). Please make me know whether I’m wrong.
3) I do not enter into price differences, so probably you are right and TFS + SQL Std is cheaper then TFS x 2 + existing SQL.
Thank you for clarification, and it is very important for me to know whether I’m wrong.
August 6th, 2009 at 12:50 pm
@Tamir,
1) See page 11 of the licensing whitepaper. “…no Team Foundation Server CAL is required for that device as part of the build process as long as the users managing the build process have Team Foundation Server CALs” It looks like you already fixed the above to this effect (or I misread it the first time ).
2) The underlying client you use to update the work items doesn’t matter here. What does matter is whether or not the work items you’re accessing are ones you created or not. For clarification see page 7 of the whitepaper.
Brian
August 7th, 2009 at 9:41 am
@Brian
1) That’s exactly what I wrote. Build account requires CAL
2) Well this is very gray area. That’s right that “A user does not need a CAL to create new work items or to view and update work items that user has created”, however “A Team Foundation Server CAL is not required for users who views static data that has been manually distributed outside of TFS”. Thus in this particular case, secretary who fills and dispatches bugs to development group and then looks via Excel, web access or any other 3rd party software on those bugs opened/closed reports for all bugs (even not opened by herself) does not need CAL.
Am I wrong?
August 7th, 2009 at 4:22 pm
Tamir, I think you are mixing two things with regard to handling bugs.
In your example, the secretary needs a CAL, but the people to whom she sends the data do not need CALs. So, she can copy and paste into an email, and the recipients don’t need a CAL. However, if she sends them links to web access, reports, etc. that use TFS, then they would need a CAL.
Regarding work items, you must have a CAL to use work item tracking except for the one scenario where either you are creating bugs or you are querying or modifying bugs that you created. That’s a very narrow but important scenario. It allows for someone to build a web page inside a company for folks to file bugs about an internal application, for example, without every person in the company needing a CAL.
The following statement needs to be fixed to clarify that the work items queried or updated must be work items you created yourself in order to avoid a CAL.
“You do not need additional license when you are using TFS for only:
•Create work items, bugs, etc.
•Query for work items
•Update work items”
The phrase “or using TFS for only bug/issues tracking” should be removed. You could fix it, but it would end up being the same as the one above after it is fixed.
“To summarize: Each TFS user does not need additional CAL when he has proper license for Visual Studio Team Suite or using TFS for only bug/issues tracking.”
There may be other issues that need to be fixed (and I’m not a licensing expert), but I noticed those issues in particular.
Buck
August 13th, 2009 at 5:57 am
If no CAL is required for the build machine, which is my understanding, shouldn’t you update the “simulated results”? The article seems to contradict itself, leaving one a little more confused than before reading the article.
August 13th, 2009 at 8:51 am
Doug,
Build machine which runs with tfsbuild user requires CAL, as I wrote in comments. The only concern by now is what “bug tracker” user meaning.
But I hope to solve it soon and update the article according my findings
October 6th, 2009 at 5:04 pm
Any news about CAL and user that only access Team Foundation Server Web Access to manage requirement ??
November 14th, 2009 at 6:01 am
Thanks for the info. Is always good to learn. Regards