|Professional Services||Second Signal||Presentations||Andrew's Blog||Support|
Suppose you have a product that sells for $1000 per machine on which it is run. Your revenue is based on the model of a single license handling about 1,000 users, so its a $1/user revenue stream. Now along comes Intel and AMD offering faster processing, dual processing, and other cool technologies and now your software can handle 10,000 users on a single machine. What do you do? It still costs you the same money to create, update, and support your software - but now your revenue stream is 10 cents per user instead of a dollar per user.
You could start charging $10,000 per server, but then nobody with less than 10,000 users can afford your software. Per user software increases your costs to support plus annoys the customer site who has to track it. Besides, what's a user? If you charge per user for server software, does that user get to use that license on ten servers? You could charge "per processor" for multiprocessor machines, but that just changes the equation on hardware from buying multiple processor to buying bigger and faster single processor machines.
Now start adding "Virtual Machines" into the mix. What if I run one really fast 4 processor machine configured with Linux as the host system and VMWARE hosting 10 virtual windows 2003 servers? Is that one, four, ten, or forty licenses?
I'm all for beating up on Microsoft, but as they struggle with this particular problem I have some small amount of sympathy. Its not an easy problem to solve at all. IBM attempts to address this with their "Express" licenses. These are real full blown software licenses limited to companies under a certain size. Its IBM's way of charging based on the size of the solution rather than the use of the software. Some will say that's a bad thing -- it is after all the same product. I say its a good thing, just hard as hell to administer.
You pick. Maybe you have a better model (don't talk to me of Open Source -- I make my living as a developer).
Please wait while your document is saved.