Is it possible for Linux to win in the fight for desktop users against Microsoft Windows? Is it possible for Microsoft to stay competitive against another operating system that is available for free when it has spent over $6 billion dollars to make Vista?
I recently read yet another article posing the question of what would happen if Microsoft makes Windows available for free (as in price, not open source). I personally think this is a ridiculous question to ask because users already pay for Windows. Price is not the issue. Users also pay for Mac OS X, which is built upon the BSD like Darwin. Linux can be much like OS X using nothing but free, open source software. So why do people pay for an operating system?
I think the main reason people pay for operating systems is because they are lazy. Most computer users do not want to manually install and configure drivers, nor do they even want to click the Yes, Next, Continue buttons on an install wizard, they just want everything to happen automatically. Most users do not care whether the small little game their friend emailed them is a ELF or PE executable, they just want to play the game. Most users have no desire to learn how to troubleshoot and fix their own system, they would rather take it somewhere and pay someone to fix it. Users want their hardware to just work without configuration and they want software that they can just use without reading manuals.
Games and Geeks
Which is why Linux needs to make serious improvements in gaming. Kids typically want to play games. If the only computer platform for games is Windows, kids will want to learn Windows instead of another operating system. Computer gamers tend to know their computers much better than the average user, due to the fact they are always installing, troubleshooting, and tweaking their games for maximum performance. They break their system and then have an intense motivation (the desire to play their game) to fix it. This motivation to learn is what separates the computer gamer from the average user. The skills that they learn can help them get tech support jobs, which is far better than working at McDonald’s. But since almost all computer games are written for the Windows operating system, that is the only thing that most tech support workers know.
Let’s look at a fictional example: Someone gives John Doe a computer with Ubuntu Linux on it. John can get on the internet, send email, type documents, listen to music, he can do everything he wants. He is impressed that Ubuntu and all the programs that come with it is all for free. One day he tries to upgrade his system and it breaks the graphical interface. He does not know enough about computers to troubleshoot the problem and fix it. He takes it to Best Buy and the Geek Squad tells him they do not know anything about Linux. Linux support has traditionally been through websites and email, which will not help John since he does not know how to the use command line programs that can help him access those things. Do you think John is likely to recommend Linux to his friends?
Games themselves are also very important to Microsoft. Microsoft created DirectX to make the creation of games easier for developers, thereby ensuring that games were created exclusively for Windows. Games are often more demanding on hardware than almost all other programs which creates a demand for newer, more powerful hardware. The hardware manufacturers try hard to ensure that their hardware is fully tuned to work with Windows and DirectX, which gives Microsoft influence over hardware manufacturers. This holds true for console gaming as well, with the original Xbox based on a stripped down Windows 2000 kernel and using DirectX 8.1.
Developers, Developers, Developers
Microsoft CEO Steve Ballmer knows developers are important. Microsoft was smart enough to realize that if you provide functionality to make programming easier for developers, they will take advantage of that and write software for your operating system. Microsoft gave developers the Windows API, partner programs, MSDN, DirectX, and Visual Basic and in return Microsoft had millions of programs, both public and in-house, that were tied to Windows and would not run under any other operating system. The Windows API and DirectX has been of particular importance to Microsoft, as almost all computer games (as well as many console games) use the Windows API and DirectX, which makes it difficult if not impossible to port the games to Linux or any other operating system.
Linux and almost all of the programs that run on it are open source. The open source development philosophy focuses on a few key things: release early and release often, listen to your user’s feedback, reuse other people’s code (don’t reinvent the wheel), and keep each project modular so it can be reused by others. By relying on open standards and making the source code available, programs may stagnate but rarely die and always have the possibility of becoming active again in the future. Unfortunately, many things in the Linux world have been devoid of standards, but the situation is improving because of groups like the Free Standards Group (creators of the LSB). Other projects like Google’s Code Search are helping to fill the MSDN void in the Linux world. But I believe that the biggest advantage that Linux has is the fact that the people that use Linux are the people that write Linux. Linux belongs to them, it can not be bought or taken from them nor can anyone stop them from working on it. They not only have the desire, but the ability, to make Linux better.
For more about the differences in the open vs closed source development models, I suggest you read the Cathedral and the Bazaar by Eric S. Raymond, which is available in its entirety online.
Of Hardware and Drivers
Linux has made huge strides in the area of hardware support, but Windows XP definitely supports more devices as the manufacturer always writes drivers for Windows and seldom writes drivers for Linux. However, with the release of Windows Vista some older hardware will be rendered unusable and most of these devices will never have new drivers written for them because the manufacturer will want to sell new hardware thereby making more money. I am not just talking about old hardware either, as it has been reported that Microsoft’s own Zune music player is incompatible with Vista and that 94% of all computers do not meet the system requirements for Vista Premium and 50% do not meet the minimum requirements for Vista Basic. I guess that means that if you want to run Windows Vista, you will most likely have to buy a whole new computer. This is not as big of an issue with Linux because many of the drivers are open source drivers written by the community and can be updated.
So why will Linux have an easier migration to 64 bit processors? Linux has better 64 bit drivers than Windows Vista because most Linux drivers are open source and have been written by the community. Also, Linux has always been designed to run on more than one architecture and programs in Linux are generally written as tiny, specific one-job components that are not interconnected. It is easy to replace one part of the system without breaking the entire thing, whereas in Windows, you need to replace huge interdependent sections at a time. Windows has also only run on the Intel architecture. The only time Microsoft ever changed the architecture in Windows was when it moved from 16 to 32 bit Intel Processors, and that was when they created Windows 95 more than a decade ago. It is hard to find any information on how much Microsoft has influenced hardware manufacturers, but Microsoft creates de-facto standards, holds its own hardware conference, and certifies hardware as compliant.
Software, Updates, and Installers
Upgrading software on my Debian system is easy, I just type apt-get update and apt-get upgrade. I used to spend a lot of time on Windows looking up websites for the software I had on my computer, looking to see what version I had installed, downloading and running the installer. Apple’s OS X has websites like MacUpdate and VersionTracker that somewhat automate the process of tracking version numbers. OS X also has Fink, which is partially based off of Debian’s apt system, but Fink is an add on - not part of the operating system itself.
The real debate here is of the pros and cons of a package manager versus standalone installers. Package managers handle installing, configuring, and removing of software. Their most important function is the automatic resolution of conflicts and dependencies. Microsoft has avoided these conflicts to some degree by maintaining total control over shared library development, allowing them to retain backwards compatibility. Developers also get around this by incorporating their own custom libraries in the programs directory, which their program will prefer over the one bundled with the operating system. However, this defeats the purpose of shared libraries, which is to save disk space and system memory. In Linux, you can have multiple, incompatible versions of shared libraries running at the same time and even update them while programs are using them. Linux does this by linking to specific version numbers of shared libraries. You can read Dynamic Linking in Linux and Windows for more about shared libraries.
Spyware and its Effects
Spyware has long dominated Windows machines running Internet Explorer. Windows Vista, Internet Explorer version 7, and Windows Defender are some of the first real steps that Microsoft has made to combat this threat. These steps come much too late however, as Microsoft has force users to rely on programs like Firefox, Lavasoft’s AdAware, Spybot Search and Destroy, HijackThis!, and WinsockXP Fix. Note that all of these programs are free while Microsoft has used IE7 and Defender to validate copies of Windows XP and is trying to get people to migrate to Vista. Defender also virtually ignores Firefox, Netscape, and Opera while it sets your home page to MSN, your search page to MSN, and your default browser to Internet Explorer.
I suppose the reason why I am so critical of Microsoft on this issue is the fact that Microsoft saw its users’ security vulnerabilities as a way to sell more copies of Windows and make it harder to use non-Microsoft products. Microsoft made poor decisions like creating ActiveX (what most spyware uses to install itself), making Windows users full administrators by default, and by making the Windows TCP/IP stack vulnerable to attack by spyware.
These vulnerabilities add up to allow for the creation of a new type of computer problem, botnets. For users, this means slower computers, unwanted software, spam, and theft of private information from keyloggers or phishing attacks. For businesses, they are vulnerable to the same as well as advertising click-fraud and DDoS attacks. Botnets are now the organized crime of the internet. They are making mass amounts of money from spam, theft, and extortion (by the threat of a DDoS attack). Botnets can be comprised of millions of computers and are powerful enough that they can take down even the largest of websites. Most spam is generated by botnets (Hate spam? Patch your computer). I have even seen people say botnets threaten the existence of the internet itself. Yet Microsoft saw an opportunity to make more money…
Varying Degrees of Security
One argument that I hear over and over is that if Linux or OS X were as popular as Windows, they would have just as many security vulnerabilities. If you ever read something like this, you should know that the author has no idea of what the hell they are talking about.
Windows is not secure by default because it was because it was designed for one user and had multi-user capabilities added on top, it is monolithic by design, and the user has administrator rights by default. Linux is secure by default because it was designed for multiple users, is modular by design, and the user has non-privileged rights by default. While Windows can be made more secure, most users will never take the time to do so, nor do the have the knowledge of how to do so. Even in the new Windows Vista and its new User Account Control, the common answer to stop its multiple, annoying nag screens is to simply turn it off. What kind of security is that?!?
The main difference is that Windows assumes users and programs have the right to do anything by default and users must learn how to secure their system, while Linux only gives users and programs the minimal rights they need by default and users would have to learn how to make their system insecure in order to cause harm.
Read the Security Report: Windows vs Linux as the article explains the subject in much more detail with plenty of facts and references.
Billions of Dollars for DRM
The way I see it, the RIAA and the MPAA are scared to death to lose all of their business. They would rather spend their billions on Digital Restrictions Management rather than just lose it to pirates, so they will be looking to dump their money on the first good solution that comes along. This will most likely be Microsoft, as they have been pumping a great deal of effort into technologies like Windows Media DRM encrypted files, HD-DVD, and even television. Imagine how much money you would make if you could charge for every time a TV show was broadcast, every time a radio station played a song, every time a music CD, movie on DVD, or video game was purchased. What if Microsoft even charged for the technology used to decrypt the files so they also made money every time a CD player, DVD player, or video game console was sold. Just think of all of the money that is at stake, and now imagine that the RIAA and MPAA will offer up billions of dollars for Microsoft to use to develop it. Most people involved with Linux are against DRM. There are some that are not opposed to DRM in Linux, including the founder Linus Torvalds, but Linux is fragmented by nature and any attempt to include DRM into Linux would be met with stiff resistance. It would be removed from some distributions which would create a support nightmare for any device or service that depends on DRM. Now look at how successful Apple is with its iPod/iTunes combo and know that they would love to do the same thing with video. Microsoft could be in a world of trouble if Apple gets the music and movie industries money, as it would allow Apple to set the standards as well as bankroll all of Apple’s other products.
Guitar String Theory and Software Piracy
Historically, Microsoft has turned a blind eye to software piracy because they know that Microsoft is better off having software pirates use Windows than move to an free alternative like Linux. Pirates are typically advanced computer users who end up administering their friends and families computers. They fix it when it breaks, update the software and operating system, and most importantly, install new software. Microsoft doesn’t want you to find out that Open Office has all the features most users need or that Firefox is better than Internet Explorer because then Microsoft loses their customers. Microsoft realized a long time ago that the key to maintaining their monopoly was to provide a Microsoft solution for every problem out there, and tie those solutions to the two products that make money for Microsoft, Office and Windows. Internet Explorer introduced ActiveX which some web programmers use to build their websites that incidentally renders the website incompatible with any other browser than Internet Explorer. I believe that this is the same reason that Microsoft has introduced a new technology competing with Adobe’s PDF format, because surprise surprise, the Microsoft solution only works on Windows. Guess what else? It only works on XP and Vista, not older versions of Windows.
So what does this have to do with guitar strings? Several years ago guitar string manufacturer Ernie Ball was sued by Microsoft for having illegal copies of Windows on their computers. Microsoft set out to make an example out of Ernie Ball in order to scare other companies into compliance. Sterling Ball, the CEO of Ernie Ball, did not care that Microsoft was enforcing their copyrights but did not like being used as a publicity campaign. He migrated to Linux and says he has saved money and been impressed with how much free publicity he has received just for switching to open source software. If Microsoft actually begins enforcing their copyright by suing users, I predict that many users will migrate to Linux.
It Doesn’t Matter, You Have No Choice
Windows Vista will ship in six different versions and most users will have no idea what sets them apart, but they will surely find out when their computer tells them they are not allowed to network their XBox 360. Vista will frustrate users by limiting the number of processors your computer can contain, restricting you from installing Vista in a virtual computer (as in VMWare), and limiting the number of devices that may access the services provided by your computer (such as file sharing). Vista will also contain Windows Defender which according to Microsoft may invalidate software licenses and break software you have installed on your computer. I believe that Microsoft will someday use Genuine Advantage validation as a means to limit or revoke your rights to use the software you paid for, much in the same way as companies use DRM to dynamically change what rights users are entitled to. Microsoft will continue to annoy users until they switch to Linux or Apple’s OS X.
But Robert Cringely, whom I consider one of the smartest commentators on technology, has said that Windows Vista will be a success because Microsoft will not sell any other operating system and consumers will have Vista forced upon them when they buy a new computer. I believe that Microsoft uses planned obsolescence, manufactured incompatibilities, and buggy releases to force users to upgrade.
Both on One Computer
With Intel and AMD both now producing chips that will speed up virtual machines, many Windows desktops may also run Linux. Live CDs are also a great way for Windows users to try out Linux without affecting their Windows installation. Linux is also gaining an increasing ability to run native Windows programs via Wine.
Microsoft, in its Vista Licensing Agreement, has disallowed the installation of Vista into a virtual machine in every version except Vista Ultimate, which disallows the use of any Microsoft DRM protected technology. This means if a company needs a Linux server and a Vista server to run at the same time, Vista must be installed as the primary operating system and Linux must be installed as a virtual machine. This will add a layer of overhead to the Linux system making it run slower, thereby making Vista look superior.
Apple has also made headlines with its Boot Camp software that allows Intel Macs to dual-boot Windows. Better yet, according to Robert Cringely, Apple got some legal rights to the Windows API that will allow them to run Windows programs natively in OS X. Definitely read that article.
So which OS is going to dominate the future?
Linux (along with BSD, Solaris, and perhaps other open source operating systems) will definitely be part of the future as they is not tied to any specific hardware, timeline, goal, or business plan. Many open source advocates are unwilling to use proprietary technology and will never convert to a closed source operating system like Windows. Linux runs desktops, servers, PDA’s, routers, cell phones, and even Microsoft’s own Xbox.
Apple has been a huge success recently with the iPod and almost certainly would love to do the same thing with movies. Apple has typically used their operating system to sell hardware, but Robert Cringely predicted that Apple would sell the Intel version of OS X you can install on your PC. This would be unsupported of course, I think many users would love to move away from Windows and it would generate lots of profit for Apple. OS X will be the middle ground, somewhere in between Windows and Linux.
Microsoft has tons of money and ties their products together in such a way that Windows will not die unless the company goes with it, so it will be around for the foreseeable future as well. That said, I think Windows as we know it will never be the same. Windows has always had very good backwards compatibility even though it has not been flawless, but I think that costs Microsoft in terms of complexity. I am not talking just about support for running old programs either, Microsoft is tied to specific design and security decisions. These decisions will mire the switch to a 64 bit CPU, will guarantee the continued plague of spyware and viruses, and will make it increasingly difficult for Microsoft to develop new versions of Windows. Yet even though Microsoft has been playing a perpetual game of catch-up with Apple and Linux, it still dominates the entire software industry.
Predictions
- I predict that Linux will see large adoption in with advanced computer users in 2007. I believe that Linux may finally approach 10% desktop usage, compared to the 3.5% it currently has. This will mainly be due to Linux being installed on older computers that Vista will not run on.
- The increased adoption of Linux, both in businesses and homes, will force hardware manufactures to write drivers for more than just Windows. This has already begun with ATI and NVIDIA now creating drivers for their 3D graphics cards.
- The drivers for Linux that are released by hardware manufacturers will continue to be closed source proprietary drivers, which will continue to irritate open source enthusiasts.
- I also predict that OS X usage will rise proportionately to Linux, due to increased computer sales from users who own an iPod or other Apple device and possibly from sales of OS X that will be installed on non-Apple hardware.
- Vista will have the reverse effect that Microsoft is hoping for by actually increasing the migration of desktop users to alternate operating systems. Don’t get me wrong, Vista will sell, but older computers will migrate to Linux rather than keep the old, unsupported version of Windows on it.
- I also predict that I will continue to run Debian GNU/Linux instead of Windows Vista.



0 Responses to “The Future: Windows, OS X, or Linux?”
Leave a Reply