This is old news, but I still get the raised eyebrow look often enough that I thought it was worth re-iterating.
The introduction of multi-core processors has sent the software industry into a tizzy. Should vendors license by the CPU core? Or by the CPU socket? This is one of those things that seems to confuse people because the ingrained 'per CPU' licensing model that has been around forever.
Motherboards have long supported multiple sockets. Used to be that one socket == one CPU. Now, we have multi-core CPU's to contend with when budgeting. Dual core CPU's are commonplace, with quad core here today, and even more cores per CPU on the horizon.
If I have a single socket mother board, and drop in a dual core CPU, the operating system will see two CPU's, but we are really only using the space and energy, for one. Typically this == more capacity, or more "bang for your buck".
Some vendors erred on the side of the greedy and chose to license by the core, as this is typically what their application 'see's when its running.
Microsoft Licenses per Socket
Microsoft has taken the stance that they will license by the socket. This is a breath of fresh air, considering how we usually watch budgeting dollars waste away because of the stacking cost of client access licenses (CAL's) - of course, everyone has to eat, right?
As someone who has delivered solutions for enterprise for six years now, its easy to grumble at the cost of software, though I have been on the ISV side and can empathize with the need to get paid.
The Importance of per Socket Licensing
Anyway, why is this important? Lets say that we have delivered a solution that uses 3 BizTalk servers, running Enterprise Edition, and each server supporting a single dual core CPU. We pay for 3 BizTalk licenses (1 for each socket), but get the processing power of 6 CPU.
Then, during testing, we discover that we are too close to capacity for the business today and have yet to account for growth. We need to take those BizTalk servers from '2 ways' to '4 ways'. Meaning, 2CPU to 4CPU worth of processing power. Adding the additional dual core CPU into the existing servers would be the cheap way to go, EXCEPT we now have to pay for 3 additional BizTalk licenses. Ouch! No money left in the budget for that.
With a little luck, it turns out the motherboards will support the newer quad core CPUs. Talk about serendipity! We pull the dual core CPU's from the BizTalk servers, and give them to another server application that needs them, and then drop in a single quad core CPU into each server. Voila! Processing power has gone from 6 CPU's to 12CPU's (for a nominal hardware cost) and no expensive BizTalk licenses to choke on. The three servers still each only contain a single socket, quad core CPU, and so require only 3 BizTalk licenses.