I've had more questions lately about open source software, from co-workers and from other discussions. There seems to be a lot of curiosity of what open source is and how it can benefit. I've decided to take a moment and touch on the main issues I commonly explain to people that are currently using proprietary software such as Windows and Microsoft products, and are thinking of switching to open source alternatives. Switching operating systems and software is not as much of an issue as it used to be, as software is becoming more homogeneous. Some key points about migrating from Windows to GNU/Linux are:
- Current and long term customers and are forced to pay for upgrades year after year, despite of how long they have been a Microsoft customer. It's similar to paying maintenance on software, really. The worst example was with Windows Vista. Microsoft customers ended up getting this operating system on new PCs, and even though Microsoft admitted that Vista was a "mistake", Microsoft turned around and focused on Windows 7 and making these very same customers pay full price for the Windows 7 upgrade, at the same price level as users still on XP. The moral move by Microsoft would have been to offer significant discounts to customers on Vista, with a different price level than those with XP. With open source, there are no upgrade costs to worry about. Once you decide to use an open source product, you are free to use it for as long as you wish, provided the product is continually developed.
- Licensing is complex and confusing, and often results in customers overpaying Microsoft. For years, customers have complained about Microsoft's confusing and complex licensing program, yet Microsoft has not revamped it enough to make it simpler in design and easier for customers to understand and select the appropriate agreement. I understand that licensing is important for proprietary software, but how about making it simple for customers to understand what they need? It takes a specialist at most software vendors, to process Microsoft licensing purchases. On top of that, Microsoft also has small print in some of its licensing terms, that to me seem like attempts to squeeze everything they can out of customers. For example, did you know that even if a company purchases the Microsoft Enterprise Agreement, they can install Windows 7 Enterprise on any PC that is licensed. However, Microsoft has small print claiming that all PCs purchased are to be purchased only with Windows 7 Professional, to be eligible for Windows 7 Enterprise via the EA. To me, this is squeezing additional funds from customers that already pay good money for the EA to begin with. The customer should have the freedom to purchase PCs with no operating system at all. With open source software, there are no complex licensing terms, in fact no licenses whatsoever to purchase, track, or upgrade.
- I have found a lot of bugs with Microsoft software, that remain unfixed year after year. When I pay for software, I have higher expectations. Take for example, the bugs in the Microsoft MMC application for Group Policy. There are known and posted bugs where the interface malfunctions. This can potentially be dangerous, since Group Policy should be carefully operated on. Or take the Notepad in Windows 7 which has an issue refreshing when you insert text inside of a full page of text some of the time, yet works fine other times. I've found that open source software has bugs too, but they are usually fixed fairly quickly because the developers seem to take more pride in their products. And, as most open source developers are not being paid, my expectations aren't as high yet the software IS very good quality in almost every case. You would think this to be the opposite situation where vendors of proprietary products are more concerned with quality, but I've found open source software to be high in the quality arena.
- Microsoft software can come up short, and third party solutions must be used to add missing functionality. The most recent dealing with this is with a domain migration, since Microsoft does not support renaming a domain with many of its applications. Microsoft releases the ADMT (Active Directory Migration Tool), however this tool promotes a shotgun approach with a domain migration. For a company with 2000 or 50,000 users, a shotgun approach is probably not a viable solution. The alternative? To purchase a third party (and very expensive solution) like Qwest's Migration Manager software to smooth the process. Or what about the situation where users need to run in a limited context (for security reasons), but need to perform some admin activities on their PCs, but the administrator doesn't want to grant full admin privileges? Windows does have local and group policy for this, but it still comes up short for some tasks. But third party products such as Script Logic's Privilege Authority comes in to play, and does a good job at adding functionality where Microsoft left off. I've found open source software to be more feature rich from the get-go. I don't know if this is because of the higher number of developers, but it seems like open source software comes with a plentiful amount of tools to get the job done. Even as I've pointed out, the GNU/Linux operating system includes basic tools for many specific tasks and administration, right out of the box. For the above example with Windows permissions to do certain admin tasks, on GNU/Linux the "sudo" utility can be used to grant users admin permissions for a system for only certain tasks, and this capability is built in to the operating system.
- Microsoft software is frequently targeted for malware attacks. While attacks can be targeted at any software, Microsoft continually gets the brunt of the malware attacks mainly because it eats up more of the global market share. Open source software certainly has bugs and security threats as well. For instance, attacks against Bind (the widely used DNS server software) have increased recently. But, the bugs have been fixed quickly and things continue on as normal. Overall, security threats against open source software are much less frequent, which makes it more secure in the long term.
Open source is software that just works and can be customized if needed if the skills and desire are there. We are also approaching days when the operating system is becoming more irrelevant, and software is looking more homogeneous so that there isn't as much of a learning curve when switching products as there once was. We still need operating systems of course, but my feeling is that users have more of a choice than ever and no longer need to be locked in to one particular operating system. There's Windows, GNU/Linux, Mac OS X, and even other ones available, for PCs. Do the research and homework, as it will pay off in the long run.