CriticismFAQ

What is this page for?

The page is targeted at critics of desktop Linux (and Ubuntu in particular). The intention is not to say “We’re right and you’re wrong.” This page seeks to achieve these goals:

  1. Make critics of desktop Linux aware that their criticisms have already been voiced.
  2. Redirect critics to what the real problems might be instead of what the perceived problems are.
  3. Focus on fixing these problems with practical solutions instead of complaints.

Questions, generally, are arranged into categories of issues that a user might encounter before, during, and after installing Ubuntu.

Pre-Installation

There are too many versions of Linux! It is confusing!

Unlike other operating systems, Linux is extremely powerful and flexible, and can be customized to address very different needs, ranging from a supercomputer to a wrist watch. Several variants have therefore emerged to target specific markets, from desktops, to servers, to embedded systems. Such variants are called distributions.

Home users are typically interested in the distributions for desktops. Even within this category there are several choices, some desktop distributions target expert users/developers, some fit well on old and less powerful systems, some are a good choice for modern systems and provide powerful and easy-to-use desktop environments.

Choice usually is a good thing. When it comes to food, cars, houses, clothes, and vacation spots, no one complains about the existence of choice. However, when it comes to choosing a retirement plan or a Linux distribution, suddenly the complaints come out. The reason for this isn't the existence of choice but the lack of easily understandable information about the choices. The problem is the need to make an informed choice.

I fear Linux does not have a graphical user interface/it is not polished/professional

Users often fear that since Linux distributions are the result of community efforts, they lack professional polish and attention to detail. Many even think that it is a pure command line system. In fact, the open source system strongly motivates people to write very good quality code, and several people check and edit the same source (generally far more than for closed source software). Major corporations are also involved.

There are advanced graphical user interfaces for all common tasks. In fact, there is more than one user interface available and you can even choose the one that best suits your tastes and requirements. As for the polish, judge for yourself: http://www.ubuntu.com/desktop

I heard that with Linux I need to use the command line all the time

Most of the time, you don’t. All common operations are accessible via simple graphical user interfaces as well as the command line.

Although it is difficult to learn, many users still prefer to use the Command Line Interface (CLI), because with practice it can be a very efficient and powerful tool. But its use is optional for regular everyday tasks. It is up to you to decide whether you want to invest time to learn it or not.

There is no unified graphical user interface

In Linux the Graphical User Interface (GUI) is decoupled from the core of the operating system itself. This has several advantages:

  1. You can use the user interface more appropriate for your needs, so if you have an old system you can use a light user interface like Xfce with lower hardware requirements, or with a modern system you can use an interface with a smoother look and feel, like Gnome with Compiz enabled.
  2. The system is more stable and secure, since the interface is not built into the kernel. There is less scope for malicious exploits that can penetrate deep into the system, and if the user interface crashes, graphical applications will crash, but the operating system and any important service running on it (database, file server, computations) will remain unaffected.
  3. You can learn how the operating systems works, as opposed to how a specific interface works, a knowledge that will not expire with the next GUI revision.
  4. You can choose the interface you like better, without any need for external tweaking tools. In short it all comes down to more choices. Again, choices are good. In most cases, the distribution you select will come with a default GUI, but often you can change that if you so wish, GUIs can be installed as any other program.

There is no support for Linux!

For most Linux distributions you can get community support (help from other knowledgeable users) as well as 24/7 (paid) commercial support. Free community support is available over the internet. Ubuntu for instance has an excellent, helpful, and knowledgeable user community that can provide support via the ubuntuforums, this wiki, the user and development e-mail lists, or IRC chat channels. See Free Technical Support for more details. That is more than adequate for most users, and completely free of charge. (If you want, you can contribute back by helping other users with things you've learned.) For those users who might be more comfortable dealing with actual human beings, in person, it might be worthwhile seeking out a local Linux Users’ Group (LUG).

I heard that Linux users are arrogant and intimidating

Although this reputation may be deserved in some communities, Ubuntu places a high value on providing a welcoming environment for their users. The Ubuntu Code of Conduct aims to promote a cooperative and civil tone among members of the Ubuntu community, and people are often impressed by the overall friendliness, helpfulness and open-mindedness they encounter. We suggest you read some of the posts on Ubuntu Forums and find out for yourself!

Installation

In order for the average user to use Linux, it needs to be easier to install.

These “average users” never install operating systems. If they don’t install Windows, why would they install Linux? Preinstallation by someone else is the only viable solution for the average user. Either the manufacturer has to preinstall and preconfigure the OS, or a friend of the user has to. That said, with supported hardware (see below), the installation of many modern Linux distributions is considerably easier and faster than that of other operating systems. You are asked 4 or 5 questions and after 30 minutes and a single reboot you are into your new operating system, with all the drivers automatically setup and all the main software already installed.

You can even try Linux without installing anything at all. It can be run from special CD-ROMs called LiveCDs. They are slower than a real installation, since the CD-ROM is not as fast as the hard disk, and there are other limitations due to the nature of a CD, but it is a perfectly safe option to experiment with Linux, since your files on the hard disk will not be touched. If it doesn't work, just remove the CD and reboot into your normal environment.

Linux has terrible hardware support. It needs better/more drivers!

It is a little known fact that Linux actually supports more hardware than any other OS. Unfortunately, most of this hardware is not relevant to the average user. In the segment most users care about (desktop/laptop), some hardware is not supported. It could be said that Linux hardware coverage for desktops/laptops is actually better than Apple’s, since Apple develops only for their own specific hardware, but it is admittedly not as extensive as Windows’. Choosing hardware that is already known to work with Ubuntu is a good way to avoid problems.

It is important to realize that Microsoft doesn’t always make the drivers for all the hardware that works with Windows; the hardware manufacturers do. If Windows doesn't recognize the new monitor you just bought, chances are the hardware came with a CD-ROM full of Windows drivers. Linux developers, on the other hand, have to write almost all the drivers by themselves, often with very little support from the manufacturers. This is a remarkable feat.

The real problem with Linux is not hardware support, which is often very good, but the fact that information about compatibility is not easily available and/or understandable to everyday consumers. With Windows you know that almost every peripheral out there is either natively supported or will provide a CD with a driver. With Mac you can tell if the hardware is compatible by looking at the box, which is clearly labelled. But with Linux, if you want to know if a peripheral (scanner, printer, monitor, sound card, wireless card) is compatible, you need to track it down on a Linux compatibility list, and there is no unified reference.

We are aware of the problem, and right now, our best bet would be to have one centralized location for Linux hardware compatibility, a professionally looking website that is easily searchable. When you find the device in question, you will get a list of distros you can use it with. See SupportedHardwareListProposal and the promising project doohickey. There is also LinuxCompatible.org but sadly, it doesn’t cut it right now. For now, Ubuntu SupportedHardware is a good resource, but that list is not complete.

It is difficult to know if it is going to work on my hardware

If you want to know whether Linux will work on the hardware you already have, there is no need to create a list of all your components and fetch information on the web. A far simpler solution is to use the LiveCD that comes with the distribution you chose and test if the hardware works as expected before installing anything.

The LiveCD is a full operating system that is installed on a CD-ROM. It faithfully replicates a real Linux installation, and you can use it without having to touch the hard disk. If some hardware does not work with the LiveCD, it means that it is not supported. You may want to ask in your distribution's forum to confirm that, and find out if there is a workaround using external drivers. Often the LiveCD also acts as the installation CD, so if you decide to proceed, you do not need to obtain a separate CD.

On the other hand, if you plan to purchase some new peripheral and want to know whether it will get along well with Linux, you need to search the hardware compatibility lists on the web or the support forum of your distribution as explained above.

Consider also that whenever you buy a pre-installed system, the OEM will sort out all the compatibility issues relating to the machine components, which will be specifically selected for the target OS. Pre-installed Linux machines are not as easy to come by but the situation is improving. See PreinstalledLinuxVendors.

Installing the drivers is complex, and you need to recompile the kernel or the drivers themselves

You don't! That is only required if you want to experiment with unsupported features. As with any other operating system, either the hardware is supported or it is not supported. You can check that easily before installing anything by using a LiveCD. If the hardware is supported, in most cases it will be auto-detected, the drivers will be installed automatically, and they will be pre-configured for you. You do not need to do anything at all, not even pop-in the CD that came with the hardware. If your hardware is not supported, you should consider using different hardware, or buy a PC with Linux preinstalled, or come back in 6 month (hardware compatibility improves very rapidly). Most common hardware is generally supported out of the box, problematic areas at the moment are winmodems, USB modems and some wireless cards.

Why do you need an ISO file? What is it?

You don’t! It’s faster to download the ISO, but you can also get a physical CD:

Like other operating systems, Linux requires a CD in order to be installed. Unlike other operating systems, you have another option: You can download it for free and burn it to a CD yourself. The common way to get the CD is to get it from the website of your distribution of choice. Obviously physical CDs cannot be downloaded, but you can download a special file from which you can create the CD on your machine. This file is called an “ISO”. You will need a CD-ROM writer and a burner software to create the CD from the ISO (see BurningIsoHowto for instructions). Often the installation CD doubles up as a LiveCD, so that you can try Linux before installing it, which is a big advantage.

It is difficult to make the installation CD / I have no burner / no bandwidth

You do not have to use an ISO file. Many people download the ISOs and create the CD/USB stick themselves, but there are other ways. For Ubuntu, you can purchase CDs and USB sticks from some stores and online retailers like Amazon and the Canonical Shop. Of course, you’re then paying for something that you could get for free…

For other distributions see OS Disc and Free Linux Disk. Moreover, most Linux magazines often come with a CD/DVD of a Linux distribution. These days even generic PC magazines often come with a bundled Linux CD.

To install Linux, I need to repartition and create a dual-boot menu. My OS is not so complicated

You don’t need to partition to use Ubuntu. If you just want to wipe the entire drive and install Ubuntu, you don’t need to do any partitioning, though you then won't be able to run your other OS.

You could also use Wubi to install Ubuntu inside of your Windows drive without any partitioning.

Partitioning is only necessary if you want to run two dedicated operating systems side-by-side. This is not a Linux-specific problem. If you wanted to install any second OS in dual boot, you would need to: (1) resize existing partition(s) so that you can split the disk into logical sections to dedicate to each OS, (2) create a start-up menu that gives the option to select the OS to boot into. In Linux the second step is fully automatic and it is not something you need to be concerned about. In many Linux distributions this is performed via a graphical wizard during the installation process, no external tools are required.

Other operating systems simplify the installation process by taking over the hard-disk, since their installer does not provide adequate options neither for (1) nor for (2). You can do that in Linux too, if you wish, but Linux also tries to coexist with whatever other OS you want to use.

Post-Installation

There is no antivirus/antispyware/defragmenter/registrycleaner!

They simply are not needed.

While Viruses for Linux do exist, they are almost never seen in the wild, and are not nearly as destructive as their Windows counterparts. Likewise Spyware is literally unheard-of in Linux (we are not aware of any Linux spyware "in the wild" at this time).

Linux inherits UNIX's user/privilege model which makes it difficult for a given program to gain the kind of system-wide access that allows Windows viruses to propagate and damage the system. Such programs could access the documents in your Home directory, of course, and losing your life's work is a much bigger problem than a misconfigured system. Like any OS, you need to be careful about what you run, and always make backups. If you use the package manager/SoftwareStore to install applications, you'll be safe.

Also, Linux filesystems are not prone to filesystem fragmentation in the same way that Windows filesystems (FAT32 and NTFS) are, so defragmentation is not an issue.

Just enjoy your system, Linux will take care of the rest.

There is no firewall!

The firewall (iptables) is built into the kernel, and if you need to run services that require a firewall you can install a program like Firestarter to simplify the firewall configuration. By default, however, an Ubuntu install does not listen for incoming network connections unless a user specifically configures it to. Out of the box, it is already more locked-down than a Windows box with a commercial Firewall.

The software is not easy to install/uninstall/update

Quite the opposite, the software installation process is extremely simple: it just isn't the same as Windows. In Ubuntu there is a list of most applications available, you simply click the ones you want and they are automatically downloaded, installed and configured for you. It does not get any simpler than this. Moreover the downloads are signed, which means they are safe. You do not need to fetch programs on the web, trust unknown sites, download unknown binaries, and execute setup.exe programs. To uninstall, you simply uncheck the programs from the list. For updates, you are notified when they become available and all applications are updated in one go. There is no need to go through each application individually and update it using special procedures.

In other words, all of your programs are “centralized”. You have one package manager which knows about available software, it remembers which files were installed by which package, and this makes re-installation, reconfiguration, and removal a simple task.

With other operating systems, when you download a program from a website, you are putting a high degree of trust in the provider that the program is not malicious, or has not been modified from the original file to make it malicious. The Ubuntu repository system (official websites from which all installation packages are automatically downloaded) addresses these security concerns: the packages are compiled from source code and are screened to make sure they are free of malicious files. Moreover, the downloads are signed, so that the files cannot be swapped when you download them.

With Linux you need to compile programs all the time

You don’t. That is only needed if you decide to experiment with new versions of programs not yet released and incorporated into the distribution. This is completely optional, most users do not need to compile anything, they only have to click on the software list to install what they need. If you wanted to try development code in other operating systems you would need to compile as well.

There are no executable files

There are executable files, they’re just not suffixed with .exe. In Linux the file type is not determined by the extension, but by its content. The extension is not required and often it is completely omitted. This greatly enhances security. On top of it, executable files need to be granted executable rights explicitly before they can be run, again improving security. It is difficult to execute code without your consent on a Linux machine, and even more difficult to mask an executable file as another file type. This is one of the reasons why there are virtually no viruses on Linux, and even if malicious code somehow managed to be executed, the Linux permissions system is such that programs without administrator privileges cannot do much damage to the overall system.

There are too many executable files

People sometimes are confused, because when they download Linux software from a website, they see multiple extensions: .tar, .zip, .tgz, .deb, .rpm, .bin. In fact, like for other operating systems, you will run into 3 types of files. Compressed folders like zip files in Windows (.tar, .zip, .tgz); installation packages equivalent to set-up.exe (.deb and .rpm are the installation packages used by the two most common distribution families); and pure binaries equivalent of .exe files (generally suffixed by .bin, they still require explicit executable permission before they can run).

Remember that you do not need to download software separately from other websites. With Ubuntu, you have all the software properly bundled and checked by the developers and all the software is accessible via a simple software list. Downloads from the official repositories are signed, which is a far safer approach.

There is no single installation format

True, but for each application there is only one source code, and from there the developers can easily create packages from their distribution. The fact that the source code is open guarantees that no malicious code can be inserted into the programs. Moreover the installation packages embed distribution-specific functionality, like automatically installing other required packages or provide an easy way of managing these programs once they are installed.

You cannot use files from other distributions

Often there is no need to. But if you want it is possible to convert one package into another with programs like alien.

Linux uses 1GB of memory even when nothing is running

Chances are you are using only a fraction of your memory, but Linux does not like to keep resources lying around idle. So if you only need 10% of the memory, Linux will still try to use the rest to speed up other operations via a sophisticated caching mechanism. This 90% is memory that can be freed-up as needed, it is used (for caching) but it is not really used (actually required). The Linux memory management algorithm is extremely efficient and performs very well, in fact, it is used on the most expensive iron on earth. Do not worry about it.

I cannot play MP3s or DVDs out of the box

Ubuntu’s commitment to only include completely free software by default means that proprietary media formats aren’t set up “out of the box” or included on the CD. Alternative formats which foster open standards do come pre-installed.

It is still possible to install proprietary codecs, though, provided it is legal to do so in your country. See RestrictedFormats for more information.

Systems that come with Ubuntu pre-installed often have the proprietary formats bundled as well, with the licensing fees as part of your purchase. This is just like any other OS.

This obsession with open formats is not practical

We often hear people complain that their website is broken, or that they cannot play their DRM music, or that the cannot watch a WMV9 videos. You need to understand that whenever you buy music “protected” by DRM you help make DRM succeed, and hence spread. This in turns limits the choices of other users and ultimately your own choices. When you use a non-standard compliant browser you help make the web non-standard and lock other users to a specific brand. When you play WMV9 videos you make this closed format the de-facto standard and give one company the right to decide who should play those files. Same thing goes for music codecs, document formats, VOIP standards… It is a matter of freedom. Commercial offerings have a strong incentive to lock you in. We strive to do the opposite. But whenever we can, we also give you the possibility to be “practical”, if you so wish.

Application XYZ is missing!

Users often complain that some applications are “missing”. The usual suspects are Photoshop, AutoCAD, Dreamweaver, Flashpro, Vegas, Quickbooks. This is true, but there are alternatives for most of those. They are probably not as powerful as the commercial versions targeting professional users, but unlike the commercial alternatives, Linux programs are often available free of charge, and the features provided are more than adequate for the vast majority of users. Unless you need sophisticated functionality for professional use, there is very little you cannot do with available Linux applications. Moreover, older versions of the commercial applications above are often compatible via WINE (a program that allows to run Windows applications on Linux). For more common tasks (browsing, emails, chat, office, music management, burning...) there are several excellent solutions in Linux that are as good as or better than comparable commercial software packages.

See Linux Alternatives for a list of free alternatives to the software you are used to.

Often these alternatives are freely available for other OSes, too, so after you've learned how to use Firefox, Inkscape, or Pidgin, for instance, you can use them in Windows or OS X, too. Now the software you are used to can be used on any system for free.

What about games?

There are not as many games as for Windows. It is as simple as that. There are many nice native games, both open source and commercial, some commercial Windows games (often the ones using OpenGL) will work natively, with or without WINE, and there are game emulators. Transgaming’s Cedega compatibility layer, while not FreeSoftware, can also run a number of Windows games in Linux. If, at the end of the day, there are games you simply cannot live without, there is also the option of running a WindowsDualBoot system.

So, should I use Linux?

Linux today provides all the software needed for regular tasks as well as for really advanced uses. The only segments that are not covered (yet) are gamers and some niche professional markets (CAD/engineering, professional video/music/image editing, professional accounting). Provided you have compatible hardware (you can check that with a LiveCD), Linux is easy to install and easy to maintain (no antiviruses, antispyware, defragmenting, individual program updates…). If you have an old machine laying around, chances are you can have a bleeding edge Linux operating system and modern software running happily on it. If you care about security, performance, stability, and flexibility, there simply is no better choice.

Linux is more secure by design. Things like the firewall are not afterthoughts, they are features built into the core of the system. The full operating system has been built as a secure, networked, multi-user system since day 0. Other operating systems have developed from a single-user model with security improvements added several years later. Some of the reasons for its good track record have been illustrated above. Others are presented in what follows(?) and have to do with the permissions system, the way files become executable, the way file types are detected, the way software is installed and many other technical aspects beyond the scope of this FAQ… Not least, since the source code of the software installed is open to all, more people can check it for bugs and exploits and it is virtually impossible to hide undesired content within it such as backdoors or spyware, as sometimes happens with closed source software. As for the popularity, do not forget that Linux is running on extremely valuable machines, including most datacenters and the vast majority of webservers in the world…

Other than your time, it costs nothing to try it, and with the LiveCD, you can even give it a go without installing anything, if you do not like it, simply remove the CD and reboot into your previous OS.

CriticismFAQ (last edited 2013-03-22 21:31:44 by fitojb)