In part one of this two-part column, I'll cover problems I've had with proprietary software and my take on the total cost of ownership (TCO) debate. In part two, I'll talk about what I consider to be Microsoft's unethical practices and when not to use open source software.
IT exists to support the goals of the organization that deploys it. If you work in IT, then you'll know that at the end of the day all that counts is getting the job done. That requires the best possible software, especially on the server side, and that's where open source enters the picture.
I've worked with the two commercial server platforms, Microsoft Windows Server and Novell Netware, mostly used in businesses today. I've also worked extensively with Linux, their open source rival. In my experience, Linux outperforms Windows Server in both availability and efficiency, while Netware is left behind where it comes to flexibility. In other words, Linux will give you a much better uptime than Windows and run more services faster on the same hardware. Also, Linux is suited for more and different applications than Netware is. (It's interesting to note that Novell is shifting its focus from Netware to a Linux-based future.)
The same quality edge goes to other open source products that are popular at the server side: Apache, PHP, Perl, MySQL, Sendmail or Postfix, SquirrelMail, phpBB, Mambo and so on. The list is long and boasts many open source products that have proven to be of industrial strength; offer more performance and better services than the leading commercial products; and are popular with a large user community that includes many large companies.
Hard experiences with proprietary software
I have encountered many problems over the years with quality issues in software products. Given Microsoft's dominance of the IT marketplace over the past decade, it's not surprising that most of these problems were found in Microsoft products. In general, replacing these products with open source alternatives generally solved the problems rather nicely.
Let me highlight three difficult IT situations I've encountered over the years. In all these cases, the problems were solved by replacing Microsoft products.
- The network of a large multinational company suffered from periodic congestion and a generally slow performance. Network monitoring showed an inordinate amount of "garbage" on the network, mostly generated by Microsoft mail applications. Mail clients would open and close large numbers of connections for no apparent reason. Even stranger practices, such as using broadcasts for point-to-point traffic, were also observed, as well as Windows clients sending requests to SMB servers that made no sense at all.
- A large university implemented new intranet features and decided to do that on Windows. They soon discovered that they needed a separate server platform for their intranet Web services, for the SMB file and print services, for database services, for mail services and a few more for good measure. Of course, each server required its own hardware, software and maintenance procedure and came with its own price tag, not to mention its own share of Windows-related issues.
- At the offices of a large newspaper publishing company, most editors relied on file-and-print services that ran off Windows file servers. As demand increased, the response of these servers became progressively slower. Occasionally, servers ceased to respond to network requests entirely and had to be rebooted, for reasons that were totally unclear at the time.
Although this publisher's management prescribed a Microsoft-only environment, the network systems department finally got fed up with the situation and quietly moved all file-and-print services to Linux and Samba. While such an under-the-radar migration contrary to corporate policy is something I do not approve of, I must say that it did solve the problem. Not only did it simplify server maintenance, it also did away with all performance problems and server crashes.
I was there for 18 months, and management never found out about the "illegal" implementation of open source in the server room. However they did compliment the department on the improved server response and reliability.
Not only Microsoft environments can benefit from a shift to open source products. I worked for a large trading company that relied heavily on Baan/SSA Global and Oracle on Sun Solaris. When the time came to upgrade or replace this platform, Baan had completed tests on SuSE Linux and completely supported it. Windows was also supported, of course, but a decent performance on Windows in large networks was not guaranteed.
Since the trading firm also used Novell Netware, the solution of choice was to integrate a Novell OES Linux server into the existing NDS structure to run Baan and Oracle. On a dual-processor server -- equipped with essentials such as RAID-5 and a mirrored root partition, of course -- both performance and reliability proved more than adequate during stress testing and simulated catastrophic events.
Two weeks of testing and an over-the-weekend migration later, the new system was operational, leaving users impressed with both the rapid migration and dramatically increased response times.
TCO? Don't heed the MS-funded studies.
Depending on the application you're considering, total cost of ownership (TCO) may or may not be an issue. In my experience, it often is. That's probably why there have been so many studies comparing the TCO of commercial and open source products. One thing those studies seem to have in common is that their outcome generally may be predicted on the basis of who ordered the study. That's why I no longer bother with such reports.
I have seen, time and again, that the TCO of OSS is dramatically lower than that of commercial products, if OSS is deployed and managed properly.
In terms of TCO, I've seen that companies with a small budget benefitted from cheap or free licenses, more reasonable hardware requirements and fewer expensive but mandatory upgrades. In larger companies -- where the acquisition of hardware and software tends to be a smaller percentage of the budget -- the main benefits are a reduced need for maintenance, better options for maintenance or troubleshooting and less downtime.
A TCO exampleLet's take a brief look at OpenOffice.org, a full-fledged replacement for Microsoft Office. Now, consider these simple facts:
- Any computer capable of running Microsoft Office is also easily capable of running OpenOffice.org.
- Support staff capable of supporting Office is also capable, with a similar amount of training, of supporting OpenOffice.org.
- The number of critical patches required to plug security holes for OpenOffice.org is dramatically lower than that for Microsoft Office.
- OpenOffice.org licenses are free. Microsoft Office licenses are not.
- There are no mandatory upgrades required for OpenOffice.org.
When I've deployed OpenOffice on business desktops, rather than buying Microsoft Office licenses for each workstation, OpenOffice has replaced Office at a significantly lower cost. Granted, OpenOffice is not indicated in all cases, but for most applications it replaces MS Office almost seamlessly.
About the author: An IT professional for over 15 years, Frank van Wensveen has worked in systems and network administration and implementation; software development; support; engineering; and consultancy. He currently runs his own IT consultancy and Internet development firm in Johannesburg, South Africa.