- Don't look back
- Is support for OSS optional in your business?
- Nokia N810 Tablet + WiMax
- Vendors need to right-size their products
- Dolphins Invade Sun Campus!
- State of Open Source
- MySQL Workbench: open source data modeling
- Comments on The 451 Group's Database Report & Red Hat's 4Q revenue
- Kaplan: Guiding open source in IT
- Can the transportation market teach us anything about the software market?
November 22, 2005 | Comments: (0)
The Windows Idiot Tax
For those who still believe that running Windows instead of Linux is cheaper or more cost effective let me give you a real world scenario I discovered today.
We have an application that runs on Windows and needs a new staging environment. I set out to order two simple HP servers. Once again I was dumbfounded by the additional costs associated with simply trying to run a server. So, after chastising one of my team over the fact that we use anything from Microsoft I did a simple cost analysis and came up with hard evidence of the Windows Idiot Tax, the extra costs imposed by using Microsoft products on a server.
| Windows | Linux |
| Server hardware 2 x $1250 = $2500 Windows Licenses 2 x $700 =$1400 User Cals 3 x $30 = $90 SQL Server 2000 Standard 1-cpu $1850 Windows TOTAL= $5840 |
Server hardware 2 x $1250 = $2500 RedHat download = free MySQL = free (for clarity, this is non commercial use) Linux TOTAL=$2500 |
If you are wondering about the 3 user CALS, you have to buy packs of 5. So I have some spares if you need them.
Plain and simple, Microsoft is punishing it's customers for choosing their products. The Idiot Tax applies to many more Windows scenarios than just the server software. Think about the extra costs for virus protection, recovery from IE exploits, and heaven forbid you dare to cluster SQL server. I'm all for capitalism, but this is abuse.
Here's another interesting thing I came across recently: a number of people kept telling me that doing offshore development with .Net was cheaper than doing Java. And they assumed that the TCO would be less as well since that is what the offshore companies were pushing. TCO aside, I finally realized that what they meant was that the offshore companies charge less for .Net than they do for Java. I don't want to start a conspiracy theory, but you think that Microsoft might be seeding developers with Visual Studio? You think maybe Microsoft has convinced the offshore groups to push .Net? I know of a number of large financial institutions who are offshoring and seemingly overnight decided to switch to .Net for development coincidence? I think not.
Every minute that businesses rely on Windows a penguin sheds a tear.
Posted by Dave Rosenberg on November 22, 2005 10:14 PM
RATE THIS ARTICLE:
-

- COMMENTS
MySQL is free _even_ for commercial use. The GPL does not allow you to differentiated uses per se.
You may be thinking of the licence that MySQL offers for _developers_ who want to _glue_ their products atop the GPL codebase, but want the GPL licence to go away - i.e, they develop proprietary apps. In those circumstances, yes, you can pay for the GPL to go away.
For this case MySQL would also be free for commercial use. MySQL is GPL, GPL is based on copyright, and only deals with distribution - not use. In this case you're not distributing any derivative work that includes MySQL code. Of course, as end user you may wish to subscribe to MySQL Network (www.mysql.com/network/) for services including your desired level of support.
MySQL Network is even available via HP.
Hmm... I don't disagree with your point but you can use SQL Server Express for free, so thats less $1850 |(you made a point of pointing out MySQL was free for non commercial use so it's only fair to compare like with like).
Also I did a quick scan of a careers website, it seems on a quick scan in London at least a Linux administrator is paid cica £5,000 more pa than a Windows adminisrator.
You personally might not need an administrator but many companies do. I just find it a little said that the OS community is constantly going on about what Microsoft is doing rather than concentrating on it's own strength.
Posted by: Andrew Gilfrin at November 23, 2005 02:29 AMThanks guys, I know MySQL is free. I just wanted to be clear that MS charges you a commercial license even when SQL server is used for development. It's also important to note that SQL Express is not the same capacity as Standard or Enterprise so you can't use it for a staging environment.
I'll note that I'm a MySQL DBA with RedHat and Solaris sysadmin experience, so this is all me playing devil's advocate.
How much does a windows sysadmin get paid, versus a linux sysadmin? How much does an SQL Server DBA get paid, versus a MySQL DBA? What's the overall maintenance cost? The software costs are a drop in the bucket compared to the maintenance, since you're not buying $50k servers.
And why buy SQL Server for Windows when you can use MySQL on Windows?
Windows licenses include support; RedHat is free to download, but if you have a problem you can't just go to the company. Same with MySQL -- you pay for support. Yes, I know, chances are someone else has that problem too, and you can use a search engine to solve your problem. But there are many costs you're not thinking of. Some of them apply to any OS (if you have a sysadmin who isn't knowledgeable about databases creating schemas and tuning the database, you'll be spending a lot more money overall).
So, it's not as cut-and-dry as people always make it to be. Many companies have deals with Microsoft, because they use so many of their products, so that adding SQL Server isn't much more expensive. And if you have a Windows sysadmin who knows a bit about database internals, or about SQL Server in particular, that will cost the company a LOT less in the long run than trying to learn RedHat or hiring another sysadmin.
I will agree that if you're forming a company, and have no idea who you will hire, that open source is the way to go. But if you're in a 50 year old company that's tethered to Microsoft, I'm sorry, but Microsoft is the way to go. You already have their support.
Posted by: Sheeri Kritzer at November 23, 2005 08:18 AMThat's the same MS argument that we often hear. I have MS so I may as well stay with it. And how much Windows "support" do you actually get from MS...Isn't it your sys admin supporting anyway?
For the sake of argument, look at clustering SQL Server. Support is a mininum $40k for 2 boxes. MySQL network is $10k at the very top end (regardless of platform).
I'm not saying that switching is definitely the right thing to do (well maybe when it comes to costs, security and reliability) what I'm saying is that MS pricing is abusive to the very people who buy their products.
Posted by: Dave Rosenberg at November 23, 2005 08:32 AMI agree that MS pricing is abusive to the very people that buy their products, but then again, that's what happens when a single company manages to maintain a monopoly on a desktop operating system environment (and certain server applications) in the business world. Then again, one could easily make the argument that MS prices are nothing compared to Oracle, NCR, etc. But, their target market isn't necessarily the same.
Come to think of it, is the real difference between MySQL and MS (in the DB arena) a difference of licensing/costs or one of target audience? Microsoft spends billions per year on marketing to businesses, making the argument that sticking with the MS platform for database management makes sense for companies running other MS applications and the Windows desktop. While some of that marketing is clearly propaganda, parts of it are well worth considering. The fact that SQL Server will (somewhat) seamlessly integrate with other prevalent MS server and business applications (MS Exchange, .NET web services, MS Analysis Services) is a *big* plus for them, and it is why they can realistically make the argument for cost-based decision making in favor of MS. If you have a department of IT folks that are already familiar with MS server administration, Exchange administration, etc, it makes financial sense to stick with a MS platform because the cost of knowledge transfer is far smaller.
Until open source tools (not just MySQL) provide better integration with each other, MS unfortunately will still be able to make this important stance on cost/benefit analysis.
Just my two cents. (I hope everyone already knows who's "side" I'm on :) )
Posted by: Jay Pipes at November 23, 2005 10:29 AM"Windows licenses include support"? hahahahaha
most windows box products (incl. servers) include 2 (two) support calls. even if the answer to those calls is "won't fix". can you guess how fast you'll get through these 2 calls and what microsoft charges per additional call?
As another commenter noted, MSDE 2000 (SQL Server 2000 throttled at 5 simultaneous queries) and SQL Server Express (SQL Server 2005 limited to 1 CPU, 1 GB RAM, and 4 GB databases) are free for commercial or non-commercial uses.
Both products run under Windows XP SP-2 as well as Windows 2000 and 2003 Servers.
--rj
Posted by: Roger Jennings at November 23, 2005 12:46 PMTCO takes into account maintaining and supporting the platform, applications, and infrastructure. A Windows enterprise on .Net is considerably cheaper to own than a Linux environment.
75% of all costs are in maint, not the original purchase.
I wonder how you arrived at 75%?
Arbitrary number?
FUD?
I gave you facts--maybe you can tell me where you came up with 75%
Posted by: Dave Rosenberg at November 23, 2005 03:32 PMAlmost forgot...the factorial for .Net is smaller than JAVA meaning that for the same number of function points, the calculations indicate that .Net applications can be built quicker.
.Net (especially VB.Net) is considered a RAD language, java most certainly is not.
Posted by: C Westin at November 23, 2005 03:44 PMI think Mr. Rosenberg's comparison is incomplete and deeply flawed. Red Hat is not giving away its products while Microsoft is cruelly charging for its products. Just like every other company Red Hat exists to make money. I just checked Red Hat's site and it looks like a Red Hat Enterprise Linux ES Standard Edition OS from Red Hat costs $799. Red Hat's disclaimer for its free Fedora Linux distribution says it is for non-critical computing environments. The bottom line is this: Regardless of your preference for Linux or Windows, if you work for a commercial enterprise you should use commercial solutions. That is why companies pay Red Hat $799 for Linux and that is why companies pay Microsoft for Windows. Perhaps, instead of "The Windows Idiot Tax" as the title for this article it should read "Only an idiot thinks you can get something for nothing."
Posted by: Gary Moore at November 23, 2005 03:51 PM[Dave] "I wonder how you arrived at 75%?
Arbitrary number?
FUD?
I gave you facts--maybe you can tell me where you came up with 75%"
Every SLA addresses this topic and is standard lore of both development folks and infrastructure folks. You can sit down and do the math yourself: How much was the capital equipment, how much time do you spend maintaining it. This includes consulting fees, development, testing of applications for the environments (don't forget regression testing in the convoluted Linux/Unix world), lic. for upgrades, gap analysis between versions, impact analysis (and impact mitigation -- which is how most impact analysis is determine; ie. "Did somebody changes something?!").
I work with both Microsoft and non-Microsoft environments on my project engagements and have found that what appears to be cheaper going in costs considerably more later on.
The 75% figure for maintenance is a rule of thumb number very familiar to all budget planners. The links below will support the down stream costs being the most significant budgetary items...
TCO: http://www.microsoft.com/windowsserversystem/facts/topics/tco.mspx
(very old study) http://www.computerworld.com/hardwaretopics/hardware/story/0,10801,42717,00.html
Another old one, but note the difference in costs: http://www.vnunet.com/computing/analysis/2075098/total-cost-ownership-search-goes-locate-holy-grail
Total cost of development which factors into total cost of ownership (granted this is embedded systems but it does carry across and it was quick to find): http://www.windowsfordevices.com/articles/AT7055351725.html (just one source)
[Dave, welcome to my world. C-]
Oh come on. Don't cite MS reports on TCO, that's so lame. There more articles citing the flaws in MS FUD than reports themselves.
Okay, let's say that I have to pay for RedHat ELS. Windows server still costs more than 2x?
For Gary above:
"if you work for a commercial enterprise you should use commercial solutions" is an asinine argument.
Ever hear of Apache? It's a free webserver that powers 70% of the websites on the internet. Is Yahoo not a commerical entity?
Weak...to say the least
Posted by: Dave Rosenberg at November 23, 2005 04:10 PM"Oh come on. Don't cite MS reports on TCO, that's so lame."
You didn't even look at them did you? The first link is a link to links. Yes, it's on a microsoft site (image what they'll say), I also gave you links that weren't but the studies I refered to were from Gartner, AMR, METAGROUP, Yankee group, and many others.
Some of the studies indicate that mainframe is cheaper (which is true; but mainframes just aren't sexy anymore).
P.S. It's interesting to note that any research provided by MS shouldn't be considered as valid.
Posted by: C Westin at November 23, 2005 04:21 PMSadly, I have looked at the MS reports. I think the trouble with them is that MS sponsored the reports so they were geared to go that way. I applaud the marketing, but don't think the stats are legit. Fact is any Linux vendor could do the same thing and skew.
With regard to the other reports, I would say that the technology is so much different now that the comparison doesn't map. Nonetheless I appreciated the effort ;>
Posted by: Dave Rosenberg at November 23, 2005 04:29 PMI'm wondering why no one has pointed out the fact that you mis-added the numbers in the Windows column. The total should be $5840.
Steve Larrison
http://www.surviveoutsourcing.com
"With regard to the other reports, I would say that the technology is so much different now that the comparison doesn't map. Nonetheless I appreciated the effort ;>"
Actually, what was true then is still true now. Remember that I said 75% of TCO is maint. I didn't specify a technology. This is true for Linux/Unix/MS/IBM/Unisys etc. The 75% figure is conservative.
Take your example. If you hire one SE, your maint cost is now 99%. of your total outlay.
The TCO between MS and other environments becomes more important as you scale. Your example was for a small shop which the best practice might actually indicate that if you are the SE/Developers/Owner etc, that configuration works and is the best TCO.
Now try 75,000 desktops connected to server farms of thousands of machines with global geographical dispersion. The choice of technology now also impacts you decisions on what third party tools you pick (security, monitoring, network management), what applications you pick, what skill sets are predominate in what business unit. All of this is included in TCO.
This is now not a trivial problem.
Posted by: C Westin at November 23, 2005 05:44 PMYour prices and assesment of SKU usage are incorrect;
1/ You are comparing against regular MySQL, not clustered, even if you were comparing against clustered you would be comparing 2 different technologies and solutions.
2/ Your calc for SQL Server clustering is wrong, in SQL Server 2005 there is 2 node clustering and DBM in Std Edition, which is way less than 20k per proc(which BTW was not even the right price for the SQL2k version of Enterprise Edition) and you have already quoted(sort of) for, so essentially you get availability for free with the existing config you costed(see 3 below for further explanation).
3/ If the second node of the cluster is not used (ie it is truly a standby) then you do not pay for it.
4/ You are mixing pricing structures. I believe Server+ CAL would have been cheaper in your case, rather than per CPU, which you state, but quote a price that is neither Server+CAL or Per CPU.
5/ You may not need Std Edition(if you don't need Clustering or DBM) SQL Server Express, which is free, could likely handle your workload, and if not then you have the option of Workgroup Edition.
Regards,
Euan Garden
Group Program Manager
Microsoft SQL Server
So let's say the technology is the same just for kicks. I can't claim to understand the pricing structures. In fact, perhaps that's part of the problem?
How much would it cost me in your view?
2 servers
Windows licenses
SQL server license (1 cpu)
=???
This link says that SQL 2005 Enterprise is $25k per server, which I have been told repeatledly is required to do clustering. Maybe that's not true?
Perhaps some clarity on the pricing structure would help
Posted by: Dave Rosenberg at November 23, 2005 05:54 PMI'm not a licensing guy, I work on the dev side so I have asked a licensing person to join in, but I can comment on the product feature matrix issue.
In SQL Server 2000 you did indeed need EE to get access to clustering and this has changed in SQL 2005, however there is a broader question to ask before you talk about SKUs.
What business problem are you actually trying to solve?
Is it High Availability of a single table? Entire Database? Entire Server? Whats the transaction load? Whats the acceptable downtime? Does the system need to transparently fail over or is it ok to do it manually?
Once you have answers to these questions you can compare different SKUs and different products to make sure you have the right solution.
The general umbrellas here are High Availability(HA), ie make sure a system is up the majority of the time, and Disaster Recovery(DR), the ability to provide an offsite recovery capability.
SQL Server 2005(and for the most part SQL Server 2000) contains a variety of solutions depending on the answers to the questions at the beginning.
Replication is available in all SKUs starting with Express.
Log Shipping starts in Workgroup.
2 Node Failover Clustering starts in Standard and supports up to 8 in EE.
Database Mirroring starts in Standard with restrictions, no restrictions in Enterprise.
This link explains what features are available in what SKUs
http://www.microsoft.com/sql/prodinfo/features/compare-features.mspx
and this one explains the licensing for standby servers
http://www.microsoft.com/sql/howtobuy/activepassive.mspx
-Euan
Posted by: euan garden at November 23, 2005 09:27 PMYour calculation is pretty naive (it's wrong too, but let's leave that aside for a moment). As others have pointed out, you ignore maintainance and development costs. My experience from working in both environments is that Linux is cheap if you have either of the following two:
*) a single function system like a web server with some static or lightly scripted pages (PHP) or a dedicated server running a PHP content management system integrated with nothing else.
*) a heavily customised system built by linux gurus who really take control of the entire system, including customised kernel configurations etc. An example would be a large telecoms firm building a special purpose highly optimised system that is very specific to their particular task and environment.
What's definately NOT cheap is to use Linux in a small to midsize company that has a whole range of IT requirements. Some ERP, email, custom applications, web site, a desktop environment, file and print services, etc. In such an environment, Linux causes major integration pain. Even if you have someone on staff who can build this, you cannot hope to ever replace this person. It's the classic horror of the all powerful sysadmin guarding his individual system creation as his personal property.
Development costs are sky high, because most useful apps in this scenario will be glue type apps and building them means to hang around in scores of forums, poring over a myriad of disjointed, incomplete, out of date fragments of open source docs. Most of the time, the result is a brittle system held together by shell scripts that nobody dares to touch.
You say the difference in lincense costs is $3340. I don't think that's correct, because you ignore Express edition, workgroup edition and the usual rebates that you can expect when you negotiate with vendors.
But even if it were correct, this "idiot tax" is for the kind of idiots who want complete and up-to-date documentation, a consistent system with administration and monitoring tools that cover the entire system, an integrated set of components and tools that facilitate a repeatable configuration that is not the individual creation of one expensive all powerful sysadmin.
In continental europe, one argument that is brought forward in favor of Linux is that it benefits local job creation. That's correct. It's because you replace software with people. Most importantly, you replace US software with hordes of local integrators and sysadmins. If that's the kind of "patriotic" reasoning that guides technology decisions over here, then I start to understand the kind of growth figures we currently see.
Dave:
I think the real problem with your analysis is that it's unrealistic. Yes, someone could use Red Hat for free, MySQL for free, etc. But most don't. Especially Red Hat users. (The company isn't on a $300M run rate because people are using it for free.)
So, it's not a question of what you could theoretically pay, but rather what people actually do pay.
I also think price is the wrong metric for open source. Yes, it can be (and tends to be) cheaper. But that's not the message Red Hat tries to sell, and it's not why I tell people to buy Alfresco. I tell them to buy into a superior product and superior community. Price is of secondary concern, because people won't use junk just because it's free or cheap.
Matt
Posted by: Matt Asay at November 24, 2005 07:06 AMI think I was pretty clear about using it for a stage environment, not for production, so I do think the price argument is accurate.
Posted by: Dave Rosenberg at November 24, 2005 09:16 AMeuan garden: Regards having a repeatable configuration. You can have a repeatable configuration with Unix systems because they have text based configuration files. Hence, they can be easily examined, compared with default configs, etc. In fact, it's easy to automate "repeatable configuration" using standard tools to automate system installation, obtain logs of all configuration changes, automated reversion to old configurations, etc. (See: http://www.infrastructures.org/ Besides, how do you suppose Google does it, _and_ _did_ _it_ when they were just starting with a few employees?) But what makes administering Unix really superior is that you can _comment_ configuration files. This means you can say _why_ something was done a particular way and _explain_ what you are doing. This makes for a collaborative systems administration environment that's impossible with a GUI. Sure, any system can have a BOFH that protects their turf and obfuscates their systems, but to suggest that mid-size corporate Linux admins are prone to this is silly.
I've a speculation regarding the price of Linux admins: Good programmers are 10 times more productive than mediocre programmers, which are 10 times more productive than poor programmers. Being able to program a script or two goes a long way towards efficient Unix administration. Perhaps this is why Linux admins are worth a premium, because it matters whether or not you get a good one to a greater degree than on the Windows platform? You won't pay 10 times as much but paying twice as much for a Linux admin might get you 10 times the productivity. Meantime, "Unix makes easy things hard and hard things possible", your poor Linux admin might be _worse_ than your poor Windows admin because he's got more knobs to break off the software. Another incentive to pay for quality. Just a thought.
Regards that 75% maintenance cost figure: Yes, this is accurate. It's accurate across systems, at least, AFIK, when doing software development, which means that it does not matter whether you use Linux or Windows. However, FOSS _does_ come up with a big win regards this 75% figure. If you use FOSS software and you require an enhancement and either code it yourself or pay to have somebody else code it, and if you submit the enhancement back to the FOSS community then guess what? You don't pay for maintenance on that enhancement! You just saved 75% of the cost of that enhancement. This is one reason why FOSS has taken off, because it's cheap to improve.
Of course, if you use proprietary software you simply don't get the enhancement, and have to bear the cost of not having it or having to wait. But there are still plenty of shops that have, sometimes for pay, the source to their business critical applications -- simply to ensure that they can continue to run their business under all circumstances. Some of these people do not touch the code but have it as insurance, some do enhance their apps, and pay the price.
Posted by: Karl O. Pinc at November 24, 2005 10:46 AMDave,
Can you clarify what you mean by staging environment? If you mean a test rather than production system then your prices are even further off, as you should be using the MSDN/Developer versions of the products.
As an example a Developer Edition of SQL Server (which is effectively enterprise with a not for production use license, hence includes clustering etc) would cost retail < $50.
Example: http://www.amazon.com/exec/obidos/tg/detail/-/B000BHQ5JW/qid=1133061762/sr=8-2/ref=sr_8_xs_ap_i1_xgl65/103-0925714-8604641?v=glance&s=software&n=507846
Posted by: euan garden at November 26, 2005 07:23 PMYou can replace MySQL with other open source databases :Firebird or PostgreSql if you want to
skip the MySql commercial License.
Firebird is using MPL (modified) , Postgresql is not using GPL as source License (bsd like)
Have you checked out "Windows Small Business Server 2003?" It's around $1500 per server+5 clients, which compares very favorably with supported RHEL and MySQL.
If you're willing to join one of the MSFT partner programs, they have even better deals: "Empower ISV" and "Microsoft Action Pack": loads of everything for a few hundred bucks, partnership terms attached of course.
I'm not suggesting this because I think the MSFT solution is a better deal overall, just pointing out a company in the mousetrap business is willing to make you a deal on cheese.
Posted by: Don Marti at December 25, 2005 04:10 PMWe have been advised that at SQLServer 2005, clustering is possible using Standard Edition rather then the vastly more expensive Enterprise Edition, provided there are no more than 2 nodes in the cluster, which is true for us in this case.
The question is - if we have physically installed SQLServer 2005, but have set it to be backwards compatible to SQLServer 2000, can we cluster on Standard edition, or would we need to use Enterprise Edition?

- Get Started
- Port 25 Blogs
- OSS News
- Join a Project
{Open Source} Heroes Happen Here
Start today and order your own Hero Hack Pack – which includes Getting Started with Open Source, Windows Server 2008 and Visual Studio 2008 Trial. Each pack is a chance to win a free pass to OSCON 2008.
TOP STORIES
ADDITIONAL RESOURCES

- Do you have the power to resolve technical issues with one call?
- Take control of your content- leverage Microsoft SharePoint
- Keeping the E-Mail Flowing

- SGI Adaptive Data Warehouse: Building a High-End Oracle Data Warehouse
- Five Steps to Secure Outsourced Application Development
- Global Shared Memory: Performance and Productivity Breakthroughs








