Windows vs Linux

Problems When Comparing Windows and Linux
Direct comparisons are difficult for a number of reasons:
 * Due to the closed source nature of Windows and open source nature of Linux, it is much easier to gain a greater understanding of the inner workings of Linux as compared to Windows. This means that, when comparing the way these two operating systems perform various tasks, some amount of reverse engineering, benchmarking, and guesswork must be used to determine how and why Windows performs certain tasks.
 * Since Linux is technically just the kernel, when comparing Linux and Windows the debate can drift into comparing the available software for the different operating systems. On one hand a default installation of Windows will provide almost no usable software other than the operating system and a few basic programs, although distributors of computers often bundle extra software with it. On the other hand, while Linux itself is simply a kernel and not an operating system, almost all Linux distributions install a vast amount of software by default.
 * Financial, organisational and product asymmetry of two camps - commercial product coming from the largest software company versus a distributed project involving companies, organisations and individuals. This results in a Microsoft bias, especially due to the costs involved in any rigorous independent comparison.

Windows


Microsoft Windows is a closed source, proprietary operating system created by Microsoft. In order to use Windows, users are required to agree to a End User License Agreement (EULA). Computer manufacturers receive a discount on Windows, and most store-bought PCs come with Windows included in the price. When not included in the price of a new PC, the price for Windows retails at $199.99 per computer for the home edition.

Linux


Linux is a combination of several different technologies. The Linux kernel was started in 1991 (based on earlier kernels), while the X Window System, which provides graphics in Linux, and the GNU project, which includes a set of libraries and command-line based tools used with the Linux kernel, were both started in 1984.

Linux is an open source operating system which is free as in freedom, so that the source code is available for anybody to view, distribute, use, and edit. Everybody is allowed to edit the program to suit their own needs, or give it away. This is in contrast to Windows, where the source code can only be edited and reviewed by Microsoft employees and people who agree to sign a non-disclosure agreement. Linux advocates claim that their openness means that code can be reviewed by many people, who can submit bug fixes or new features.

Microsoft suggests that Linux's openness is its weakness, as bad or sloppy code can be added to projects, and that it is easier for hackers to craft exploits when the source code can be seen.

Linux developers refute this, saying that mainstream projects have a small, trusted core of people who review code samples submitted to the project, and that the software is more secure and problems are corrected more quickly. Information on security exploits are regularly kept secret by the trusted core until a patch is available. Linux proponents claim that this system allows for a fast response to security threats.

In a series of independent studies by source code auditing firm Reasoning, it was found that the Linux TCP/IP stack contained fewer programming defects than closed source competitors and that the Apache web server source code was of equivalent quality to closed source competitors. Likewise, the firm Coverity found that Linux in late 2004 already contained fewer security flaws than commercially developed software and that, despite a 5% increase in the code size over the following six months, the total number of flaws fell over the same period.

Get the Facts Campaign and the Cost of Linux
Normally Linux is available as a free download, or sold on a CD for a small fee. (Sometimes CDs are also available for free, such as for Ubuntu Linux ). There are also commercial Linux distributors, such as Red Hat and Novell, who either charge money for their distributions or for technical support.

Microsoft claim that acquisition costs are a very small component of the total cost of ownership (TCO) for business users, and, in 2004 launched a campaign named "Get the Facts", for people to "Get The Facts on Windows Server System and Linux." This cites sources claiming that Microsoft's products have a lower TCO overall than open source and Linux programs. Microsoft claim that savings are made by its ease of use making less work and less staff wages. Yet, the problem with that is that there is also a whitepaper from Novell, Things Microsoft Doesn't Want you to Know, which they claim is the truth behind Linux.

Microsoft's figures are hotly disputed. Pro-Linux websites suggest that some common inaccuracies in Microsoft's figures come from including figures for Unix and Solaris with figures for Linux. Higher staffing costs can come from Linux admins being more expensive to employ, but are more efficient and able to handle more servers.

In 2004, Advertising Standards Authority of the UK warned Microsoft that part of the ad campaign for the initiative, which used research claiming "Linux was ... 10 times more expensive than Windows Server 2003", were "misleading", as the hardware chosen for the Linux server was more expensive than it needed to be.

As Linux gains more market share, it certainly can be expected that the quality of Linux will improve as more companies will write software and drivers and such so their products will run with Linux.

Although Microsoft has tried to use its "Get The Facts" campaign to persuaide business users that Windows has a lower TCO for servers and workstations; it has so far not used any campaign marketed at home users. Linux still remains undisputedly lower in cost for the computer savvy home user because all software can be obtained for free (downloaded from open source software repositories), and there are no staffing costs to pay.

Patents and Legal Concern
One major concern about Linux and open source software is software patents and intellectual property (IP) disputes. Copyright holders sometimes threaten to sue large corporations who use software which they claim breaches copyright, rather than risk the bad publicity that suing the not for profit organisations who distribute the software, or smaller end users. As of 2004, no free and open source software program has been sued for patent infringement. Partly as a result of these threats, and partly due to idealistic reasons, some free software contains an anti-patent clause to prevent its use by those involved in patent disputes.

In 2004, a study by Open Source Risk Management (OSRM) for the Public Patent Foundation found 283 software patents, including 27 held by Microsoft and 60 from IBM, on which the Linux Kernel (versions 2.4 and 2.6) could potentially be infringing. According to clarifications issued by OSRM, this is about average for software the size of the Linux Kernel.

While some companies like Microsoft offer to protect its customers from patent infringement lawsuits, open source software generally make no such claims. This has prompted some companies to seek outside companies for insurance (indemnity), and has discouraged other companies from switching to Linux.

There has been some suggestion that Microsoft has been indirectly involved in financing some copyright and IP related lawsuits against Linux by giving money to the SCO Group (see also SCO-Linux controversies).

Desktop PCs
For most desktop PCs, the pre-installed operating system is Microsoft Windows. Windows has by far the largest market share and comes included by default for most new PCs. It is quite difficult to get an accurate picture of the proportion of Windows and Linux users, as Linux users do not need to register or buy their software, plus some users use a dual-boot computer. However, W3C Schools suggests from web traffic that Linux has about a 3%-4% share, while Windows has about 90%.

Installation and Conversion between Windows and Linux
Linux has sometimes been criticized as being difficult to install, but there have been large improvements made in this area. Installations based on Live CDs often do not require any configuration at all.

Windows can also be very difficult to install, but users are shielded from these difficulties since Windows is usually preinstalled on the computer when the user buys it. As Linux gains market share and there are more preinstalled versions of Linux on computers, this will no longer be an issue.

Switching Costs
As various versions of Windows have been the primary operating system for nearly 90% of computer users for almost a decade, Windows has gained an advantage in switching costs. That is, the cost for a company or person to switch to Linux and re-learn different ways of doing things that they may already be able to do quickly in Windows is substantial, especially for a large organization.

Accessibility
Both Windows and Linux offer accessibility options, such as high contrast displays and larger text/icon size, text to speech and magnifiers.

Consoles and Desktops
Both Windows and Linux include system consoles. A console, or terminal, allows users to tell the computer to perform tasks ranging from the simple (for example, copying a file) to the complex (compiling and installing new software). Consoles are powerful but can be confusing to new users.

Linux is strongly integrated with the system console, and has a large collection of console-based software; some of these programs also have graphical interfaces available. Users of desktop software do not need to use the console for everyday tasks, but some complex tasks are more easily accomplished "on the command line", such as piping the output of one program to use as input for another.

Windows has a text-based console, called cmd.exe (the Command Prompt), which is based on MS-DOS (Microsoft's operating system before Windows). This console is more limited in its abilities than the Linux console, and Windows computers also have significantly fewer console-based programs. Most Windows users use the console rarely or not at all, as they can accomplish most tasks using the GUI.

Microsoft is developing a command line environment similar to that provided in Linux and other Unix-like operating systems called PowerShell. Currently, a Linux-style terminal for Windows is provided by Cygwin.

Microsoft Windows and Linux have different approaches towards the desktop. In Windows, the desktop is a key part of the operating system, and is integrated tightly into the system. On Linux the desktop environment is optional and can be chosen from many different options. KDE and GNOME are the most popular desktop environments for Linux.

Stability
Early versions of Windows, especially the Windows 9x line, were sometimes unstable, displaying the infamous Blue Screen of Death when the computer crashed. However, since Windows 2000 and XP (which are based on the Windows NT kernel) stability has improved very much, with machines crashing less regularly, and more often due to hardware problems or poorly written device drivers and applications.

Linux users claim that Windows itself lacks stability, and claim that reboots required for driver installation and security patches indicate it is less stable. Linux itself only needs to restart for kernel updates. Some Linux users also claim that Windows has problems with memory management and instability in the API, which cause the overall system to lack the stability of Linux. Conversely, some Windows users claim that Linux is unstable.

In terms of uptime, both Linux and Windows have similar uptime. However, most reports claim that one of the two operating systems has significantly more uptime (usually Linux).

Recovery
The fact that windows is a propietary system makes it much more difficult to recover from a compromised system. When confronted with a compromised system, a windows user has the options of system restore, using their reinstallation disk, or using one of many programs designed to recover a compromised windows system. With Linux the whole system is open, and the user has considerably more options to recover from a compromised system. Windows users that lose their unique CD-key and need to reinstall their OS may need to contact Microsoft in order to get a new one, adding a hassle that is not present with open-source software such as linux. This is complicated if the operating system the user is trying to install is no longer supported, see below.

Both operating systems have to deal with obselescance. Microsoft typically ceases free support for a given operating system 5-6 years after release, meaning that users may no longer have support for free after, but instead have to pay a fee. Linux users that have purchased a support contract may also receive support. Both operating systems have active communities on the web that may help a user with their problems with older operating systems. You can always get the source code for any GNU/Linux program years or decades after the program was written. This is not true with Microsoft.

Servers and Workstations
In contrast to the desktop market, Linux has the overwhelming majority. For example 367 (73.4%) of the top 500 supercomputers run Linux, with Windows only running on 2 (0.40%). The majority of web servers are also Linux based, and Google, the most trafficked site on the Internet, uses Linux exclusively on all of their servers. Linux is also the OS of choice for the complex renderings of animated movies. Pixar uses a cluster of off the shelf Linux PCs in the production of all their movies.

Programs
While some computer programs are written for both Windows and Linux, most programs are written with either Windows or Linux (usually Windows) as the main target. It is possible to run Linux programs on Windows, although they must be recompiled, (using Cygwin), and Windows programs on Linux (using Wine), but this is not always completely successful. Win4Lin can also be used to run the majority of Windows applications on Linux (note: the user is required to have a Windows license). Many open-source projects designed for Linux include support for Windows.

Linux distributions come with a great deal of software which can be installed for free, and has an especially large collection of computer programming software. There are substantial amounts of free compilers available for Windows as well (many based on GNU compilers such as gcc, as well as IDEs for sale such as Microsoft's Visual Studio.

Windows is quite good at keeping a consistent API through time. However, some older applications (especially programs that predate Windows 95) can work poorly or not at all. This is often caused by the application needing 16-bit access, or direct access to hardware. 16-bit applications run in the Windows on Windows 16-bit subsystem for compatibility, but do not always work. The 16-bit subsystem is not included at all in with 64-bit OSes. Linux suffers from some similar backward compatibility problems, but as most Linux applications are open-source, newer versions usually become freely available which fix these problems, or can be recompiled for a different architecture.

Games
One of Windows' major attractions is the range of commercially available games available for it, with Windows promoting its DirectX technology. Many of these games can be run on Linux using a compatibility layer, such as Wine or Cedega, to make them compatible with Linux, including modern games like World of Warcraft. Games designed for Linux can run as fast as games designed for Windows, but using a compatibility layer often reduces the performance of the games on Linux.

There are also numerous games designed for Linux. While most of these are small games like Kolf or Pingus, there are also bigger games, such as Nexuiz and Freeciv. Often these games are open-source, and have been ported to also work on Windows.

Some companies, like ID, use only OpenGL with their games, therefore making them easy to port to Linux. They almost always release their games for Linux. Some of these games include the Quake series, the Doom series, Wolfenstein 3D, Return to Castle Wolfenstein, and Wolfenstein: Enemy Territory.

Hardware Support
With newer releases, Microsoft adds new hardware support and sometimes removes the older hardware support. Most of the hardware support is provided by the manufacturer that make drivers compatible with Windows. Microsoft then adds the drivers to Windows, although some devices still require installation of drivers that are not included with Windows.

Linux sometimes has problems with hardware detection, due to the hardware requiring device drivers which are only written for Windows. This is not a problem of the open source community, but rather the fault of manufacturers not releasing any drivers or even specifications for how to communicate with their hardware. Because of this, most of the drivers in Linux are brought about by reverse engineering and other studying of the hardware and how it interacts with the computer. Today Linux has support for most devices, but still has problems with new graphic and wireless cards that have just come out, because there has not been enough time to create drivers.

As the Linux user base has rapidly grown, there is now more mainstream Driver Support from companies such as ATI and Nvidia. According to Mark Brown, VP Technology for Rhythm & Hues. "The NVIDIA Linux unified drivers are always right on, supporting the latest, greatest features."

Security
Microsoft Windows is notorious for being the target of a lot of viruses, spyware, and other forms of malware. Windows users are frequently advised to install and run anti-virus and anti-spyware programs. While these programs can slow down desktop tasks in the computer, they can help prevent malware infection. While it is necessary to install security patches, they do not grant total security because there is often some time to wait before they are available, which can sometimes be enough for the vulnerability to be exploited.

Microsoft argues that its platform is more secure because the Microsoft developers can respond to security issues more quickly and efficiently than the Linux developer community. This has been hotly disputed Microsoft claims the reason Windows is often subject to more vulnerabilities is because Windows runs on a greater percentage of computers, making it a more appealing target for hackers.

Linux users dispute this, claiming that the fact that Microsoft's web server IIS is far less popular and far more exploited than the open-source Apache web server seems to counter this idea.

Microsoft claims that because their operating system is closed-source it provides security by obscurity where flaws in the code are not as visible for crackers to take advantage of.

Microsoft has had significant security problems with their ActiveX technology, which is embedded into a wide range of applications, including MSN and Internet Explorer.

Some people believe that since the Linux source code is freely available, somebody with enough time and experience may be able to engineer a virus to affect the kernel. However, Linux advocates note that even if the security holes that the virus relies on are still unfixed when such a virus is released, a patch can and would be released within the following few hours (such as for the Ping of Death attack), as Linux developers are also continually enhancing security in their operating system.

Some Windows proponents even go so far as to claim that most of the virus writers are basically "open-source fans" who have tremendous amounts of hatred toward Windows.

Both operating systems offer the ability to log in as a limited-rights user. This prevents the currently logged in user from being able to modify vital settings and potentially ruin their OS installation. However, linux proponents argue that since many programs available for windows require administrative rights to use and install, many users run as the administrative user at all times, allowing malware run under their account to manipulate vital system settings. Further, they point out that most linux distributions make it difficult to log in as root, and require a concious effort to do so. In response, Windows users point out that it is not a flaw of the operating system that causes users to always use the admin account, but rather poorly designed programs.

Permissions
Linux has a well established system for allowing access to files for groups of users, stemming from its multi-user background.

Windows NT-based versions of Windows have a permission system which is more finely grained than the one used by Linux. These use access control lists to protect files. Linux also supports Access Control Lists with SELinux, though that feature is not enabled by default on some distributions. Some, such as Fedora, CentOS, and Red Hat use it out of the box.

However, Linux may still be more secure, as it effectively enforces the use of file permissions by creating user accounts which have lower privilege levels by default, while new user accounts in Windows (particularly XP Home) tend to be created with elevated privilege levels, even though Microsoft recommends that users log on during regular computer use with an account that has lower privilege levels.

In Linux, system tasks like installing new software require a system password (root access). Most programs do not need this access, so unexpectedly asking for the system password is highly suspicious. If a program gets taken over by a virus or hacker, it will not be able to change the whole system. At risk programs, such as web servers, are generally run on a different account to the user's account, if it gets compromised it will then be unable to destroy files in the user's home directory.

Some distributions (such as Knoppix) go as far as preventing root from logging onto the GUI. This can be disturbingly annoying to Windows users who are used to full priveleges, and find themselves stuck when the installer does not add their account to the sudoers file, not even just to mount disks (which Windows does instantly and automatically).

Microsoft has added a similar feature called User Account Control to Windows Vista where all users, including system administrators, will by default have a lower set of privileges.

Software
The Windows software distribution model is problematic for security, because many people use software coming from untrusted sources, such as peer-to-peer downloads, or freeware and shareware software that often contains spyware or adware as a way for the developers to make money. Conversely, Linux distributions generally contain a large amount of software which has been thoroughly tested available for download through online repositories, and other software is often open-source so the source code can be checked if needed.

Linux also does not use the file extension to determine if the file should be executed but instead uses a file-system execute bit, which cannot be set by the file's original source; this provides added protection for wetware exploits (tricking the user into running malicious programs).

Many viruses do not take advantage of security vulnerabilities at all, instead relying on social engineering to convince users to bypass security installed on their machine. Other security threats involve fooling the user to give away personal information or passwords (phishing).

Education
Since GNU/Linux is an open system, one can follow the source code for booting the computer with Linux and learn all types of interesting and valuable computer architecture and computer science code and topics.

Studies
There are several studies comparing Windows and Linux.