
I am often introduced as someone who works with Open Source software and wrote a dozen books on Linux, Apache, PHP, etc. This often leads to a misconception that I am possibly a huge Microsoft hater.
On the contrary, I think very highly of Bill Gates and his creation — Microsoft. Granted that Microsoft continues to make some large mistakes but their mistakes are amplified a few dozen times than the others made by their competitors. My respect for Mr. Gates is enormous. He is truly a visionary and the most philanthropic human being of our time. I am surprised that Hollywood has not yet made a feature film on the Gates yet. Microsoft get itself into controversies by making large directional blunders from time to time. Their practice of locking in PC hardware vendors to Windows brought a lot of headache for the company over the years.
Microsoft does have a few good things to offers for small businesses, which include:
* Windows operating systems - XP/Vista
* Business application suite - MS Word, MS Excel, MS Power Point, MS Outlook, MS Access
* A small office file server - nothing is easier than setting up a Windows 200x as a file server (Sorry Samba!)
These off-the-shelf products are as common as the cubicles. Beyond the off-the-shelf office products, Microsoft offers an wide list of software development tools:
* Visual Basic for the .Net platform
* C-sharp for the .Net platform
* ASP.NET for Web development
Developing simple desktop applications using Visual Basic is common. These days C-sharp is used for more serious business application development and ASP.NET is Microsoft’s answer to PHP, JSP, Java on the Web. Since almost every PC and laptop comes with Windows, most software developers have been exposed to Windows. So finding experts in Microsoft software development tools is often quite easy.
What you have to beware of is the license and on-going upgrade fees, which can add up fast.
For example, say you want to develop a Web application for your business with an in-house team of three developers and want to compare the cost models. Here is a simple price model to compare the Microsoft and Open Source pricing:
| Software | License Fees | QTY | Sub Total |
| Windows XP | $0.00 (comes with new PC) | 3 | $0.00 |
| Windows 200X Server - Live Server | ~ $600.00 | 1 | $600.00 |
| Windows 200X Server - Development Server | ~ $600.00 | 1 | $600.00 |
| MS SQL Standard Edition - Live Server | ~ $6000.00 | 1 | $6,000 |
| MS SQL Standard Edition - Developer Server | ~ $6000.00 | 1 | $6,000 |
| Microsoft Visual Studio Pro w/MSDN Pro 2008 - Retail | ~ $1100.00 | 3 | $3,300 |
| Microsoft Visual SourceSafe? 2005 Win32 | ~ $500.00 | 3 | $1,500.00 |
Pricing source: Enterprise, Standard, and Workgroup Editions
Now look at the Open Source pricing for accomplishing the same:
| Software | License Fees | QTY | Sub Total |
| Windows XP | $0.00 | 3 | $0.00 |
| Linux CentOS Server | $0.00 | 2 | $0.00 |
| MySQL Database Server | $0.00 | 2 | $0.00 |
| Eclipse for PHP IDE | $0.00 | 3 | $0.00 |
| Source control: SVN/GIT | $0.00 | 1 | $0.00 |
This is what you would see from a typical Microsoft vs Open Source solution comparison. This is the lure that attracts most business owners to Open Source solutions — the massive price cut in licensing.
But beware, price of “stuff” (hardware, software) should really be the mute point in making a decision about your solution. What you should consider:
* Can we get the right talented team working in my solution?
* Can we afford the talented team throughout my solution’s lifecycle
* Can we afford to start things from scratch?
* Can we build on a foundation that has worked for others in my industry because we are not creating anything out of the ordinary?
The true cost of a project should never be measured by the hardware or software resources but by the cost of acquiring the right talent to do the job.