Criticism of Linux

From Infogalactic: the planetary knowledge core
Jump to: navigation, search
The first-generation Nexus 7 tablet running Android, an operating system using the Linux kernel. While Linux-based operating systems are in common use in computer tablets, they are more rare on desktop computers.

The criticism of Linux focuses on issues concerning use of operating systems which use the Linux kernel.

While the Linux based Android operating system dominates the smartphone market in many countries,[1][2] and Linux is used on the New York Stock Exchange and most supercomputers,[3] it is used in few desktop and laptop computers.[4] Much of the criticism of Linux is related to the lack of desktop and laptop adoption.

Linux Kernel criticisms

Kernel development politics

A group of security patches for the Linux kernel, called grsecurity, have been proposed to add features like Address space layout randomization into the official release of the kernel.[3] Some security professionals say that the rise in prominence of Operating-system-level virtualization using Linux has raised the profile of attacks against the kernel, and that Linus Torvalds is reticent to add mitigations against kernel-level attacks in official releases.[3]

Con Kolivas, a former kernel developer, tried to optimize the kernel scheduler for interactive desktop use. He finally dropped the support for his patches due to the lack of appreciation for his development. In the 2007 interview Why I quit: kernel developer Con Kolivas he stated:<templatestyles src="Template:Blockquote/styles.css" />

If there is any one big problem with kernel development and Linux it is the complete disconnection of the development process from normal users. You know, the ones who constitute 99.9% of the Linux user base. The Linux kernel mailing list is the way to communicate with the kernel developers. To put it mildly, the Linux kernel mailing list (lkml) is about as scary a communication forum as they come. Most people are absolutely terrified of mailing the list lest they get flamed for their inexperience, an inappropriate bug report, being stupid or whatever. ... I think the kernel developers at large haven't got the faintest idea just how big the problems in userspace are.[5]

Kernel performance

At LinuxCon 2009, Linux creator Linus Torvalds said that the Linux kernel has become "bloated and huge":

<templatestyles src="Template:Blockquote/styles.css" />

Citing an internal Intel study that tracked kernel releases, Bottomley said Linux performance had dropped about two per centage points at every release, for a cumulative drop of about 12 per cent over the last ten releases. "Is this a problem?" he asked. -We're getting bloated and huge. Yes, it's a problem ... Uh, I'd love to say we have a plan ... I mean, sometimes it's a bit sad that we are definitely not the streamlined, small, hyper-efficient kernel that I envisioned 15 years ago ... The kernel is huge and bloated, and our icache footprint is scary. I mean, there is no question about that. And whenever we add a new feature, it only gets worse.[6][7][8]

At LinuxCon 2014, Linux creator Linus Torvalds said he thinks the bloat situation is better because modern PCs are a lot faster:[9]

<templatestyles src="Template:Blockquote/styles.css" />

Torvalds said he'd love for Linux to shrink in size "We've been bloating the kernel over the last 20 years, but hardware has grown faster".

Kernel code quality

In an interview with German newspaper Zeit Online, Linus Torvalds recently stated that Linux has become "too complex" and he was concerned that developers would not be able to find their way through the software anymore. He complained that even subsystems have become very complex and he told the publication that he is "afraid of the day" when there will be an error that "cannot be evaluated anymore."[10]

Andrew Morton, one of Linux kernel lead developers explains that the lack of test code hurts Linux code quality:[11]

<templatestyles src="Template:Blockquote/styles.css" />

Q: Is it your opinion that the quality of the kernel is in decline? Most developers seem to be pretty sanguine about the overall quality problem. Assuming there's a difference of opinion here, where do you think it comes from? How can we resolve it? A: I used to think [code quality] was in decline, and I think that I might think that it still is. I see so many regressions which we never fix.

Con Kolivas, a former Linux kernel developer, compared some OpenSolaris kernel code to Linux code and was surprised at the difference in code quality:[12]

<templatestyles src="Template:Blockquote/styles.css" />

The summary of my impression [after reading the OpenSolaris code] was that I was... surprised....the [OpenSolaris] code, as I saw it, was neat. Real neat. Extremely neat. In fact, I found it painful to read after a while. It was so neatly laid out that I found myself admiring it. It seems to have been built like an aircraft. It has everything that opens and shuts, has code for just about everything I've ever seen considered on a scheduler, and it's all neatly laid out in clean code and even comments. It also appears to have been coded with an awful lot of effort to ensure it's robust and measurable, with checking and tracing elements at every corner. I started to feel a little embarrassed by what we have as our own [Linux] kernel. The more I looked at the [OpenSolaris] code, the more it felt like it pretty much did everything the Linux kernel has been trying to do for ages. Not only that, but it's built like an aircraft, whereas ours looks like a garage job with duct tape by comparison....[OpenSolaris] looks like an excellent design for a completely different purpose. It's built like a commercial design for commercial purposes that have very different requirements than what most of us use Linux for, but it does appear to have been done so very well. It looks like a goddamn Star Destroyer, and the Linux kernel (scheduler) suddenly looks like the Millennium Falcon. Real fast, but held together with duct tape, and ready to explode at any minute.

Theo de Raadt, founder of OpenBSD, compares OpenBSD development process to Linux:

<templatestyles src="Template:Blockquote/styles.css" />

"Linux has never been about quality. There are so many parts of the system that are just these cheap little hacks, and it happens to run.” As for Linus Torvalds, who created Linux and oversees development, De Raadt says, “I don’t know what [Linus] focus is at all anymore, but it isn’t quality.”[13]

Desktop use

<templatestyles src="Module:Hatnote/styles.css"></templatestyles>

Critics of Linux on the desktop have frequently argued that a lack of top-selling video games on the platform holds adoption back. As of September 2015, the Steam gaming service has 1,500 games available on Linux, compared to 2,323 games for Mac and 6,500 Windows games.[14][15][16]

As a desktop operating system, Linux has been criticized on a number of fronts, including:

  • A confusing number of choices of distributions, and desktop environments.
  • Audio handling, particularly before PulseAudio became stable and widely supported.
  • Poor open source support for some hardware, in particular drivers for 3D graphics chips, where manufacturers were unwilling to provide full specifications.[17] As a result, many video drivers have both open and closed source versions.
  • Lack of widely used commercial applications (such as Adobe Photoshop[18] and Microsoft Word).[19][20]
  • Lack of standardization regarding GUI API.[19]

Distribution fragmentation

Another common complaint levelled against Linux is the abundance of distributions available. As of August, 2014, DistroWatch lists 285 major distributions.[21] While Linux advocates have defended the number as an example of freedom of choice, other critics cite the large number as cause for confusion and lack of standardization in Linux operating systems. Alexander Wolfe wrote in InformationWeek:

<templatestyles src="Template:Blockquote/styles.css" />

Remember the 1980s worries about how the "forking" of Unix could hurt that operating system's chances for adoption? That was nothing compared to the mess we've got today with Linux, where upwards of 300 distributions vie for the attention of computer users seeking an alternative to Windows.[22]

Caitlyn Martin from LinuxDevCenter has been critical of the number of Linux distributions:

<templatestyles src="Template:Blockquote/styles.css" />

We don't need to keep reinventing Linux, creating distributions that put critical bits in interesting and inventive if unusual places. An application written for Linux should be relatively simple to install on any Linux distribution. It ain't so. Do we really need hundreds of general purpose distributions, all with different tools, different filesystem layouts, variations on three major software package management schemes and a host of oddball ones, and so on? Do we need yet more to crop up?[23]

Hardware support

Hardware developers have often been reluctant to provide full technical documentation for their products to allow drivers to be written. This has meant that a Linux user had to carefully hand pick the hardware that made up the system to ensure functionality and compatibility. These problems have largely been addressed:[24]

<templatestyles src="Template:Blockquote/styles.css" />

Years ago, if you wanted to install Linux on a machine, you had to make sure you hand-picked each piece of hardware or your installation would not work 100 percent ... This is not so much the case now. You can grab a PC (or laptop) and most likely get one or more Linux distributions to install and work nearly 100 percent. But there are still some exceptions; for instance, hibernate/suspend remains a problem with many laptops, although it has come a long way.[24]

At one time, Linux systems required removable media, such as floppy discs and CD-ROMs, to be manually mounted before they could be accessed. Mounting media is now automatic in nearly all distributions, with the development of the udev.[24]

Some companies, such as EmperorLinux, have addressed the problems of laptop hardware compatibility by mating modified Linux distributions with specially selected hardware to ensure compatibility from delivery.[25]

Directory structure

The traditional directory structure, which is a heritage from Linux's Unix roots in the 1970s, has been criticized as inappropriate for Desktop end users.[26][27] Some Linux distributions like GoboLinux[28] and moonOS have proposed alternate hierarchies that were argued to be easier for end users, though they achieved little acceptance.[29][30]

Criticism by Microsoft

In 2004, Microsoft initiated its Get the Facts campaign, which specifically criticized Linux server usage.[31] In particular, it claimed that the vulnerabilities of Windows are fewer in number than those of Linux distributions,[32] that Windows is more reliable and secure than Linux,[33][34] that the total cost of ownership of Linux is higher (due to complexity, acquisition costs, and support costs),[35] that use of Linux places a burden of liability on businesses, and that "Linux vendors provide little, if any indemnification coverage."[36] In addition, the corporation published various studies in an attempt to prove this – the factuality of which has been heavily disputed[37][38][39][40] by different authors who claim that Microsoft's comparisons are flawed. Many Linux distributors now offer indemnification to customers.[41][42][43]

Internal Microsoft reports from the Halloween documents leak have presented conflicting views. Particularly documents from 1998 and 1999 ceded that "Linux ... is trusted in mission critical applications, and – due to its open source code – has a long term credibility which exceeds many other competitive OS's", "An advanced Win32 GUI user would have a short learning cycle to become productive [under Linux]", "Long term, my simple experiments do indicate that Linux has a chance at the desktop market ...",[44] and "Overall respondents felt the most compelling reason to support OSS was that it 'Offers a low total cost of ownership (TCO)'."[45]

Responses to criticism

The Linux community has had mixed responses to these and other criticisms. As mentioned above, while some criticism has led to new features and better user-friendliness, the Linux community as a whole has a reputation for being resistant to criticism.[46] Writing for PC World, Keir Thomas, noted that, "Most of the time the world of Linux tends to be anti-critical. If anybody in the community dares be critical, they get stomped upon."[46] In a 2015 interview, Linus Torvalds also mentioned the tendency of Linux Desktop Environment projects to blame their users instead of themselves in case of criticism.[47]

See also

References

  1. Lua error in package.lua at line 80: module 'strict' not found.
  2. Lua error in package.lua at line 80: module 'strict' not found.
  3. 3.0 3.1 3.2 Lua error in package.lua at line 80: module 'strict' not found.
  4. Lua error in package.lua at line 80: module 'strict' not found.
  5. Lua error in package.lua at line 80: module 'strict' not found.
  6. Lua error in package.lua at line 80: module 'strict' not found.
  7. Lua error in package.lua at line 80: module 'strict' not found.
  8. Lua error in package.lua at line 80: module 'strict' not found.
  9. Lua error in package.lua at line 80: module 'strict' not found.
  10. Lua error in package.lua at line 80: module 'strict' not found.
  11. Lua error in package.lua at line 80: module 'strict' not found.
  12. Lua error in package.lua at line 80: module 'strict' not found.
  13. Lua error in package.lua at line 80: module 'strict' not found.
  14. Lua error in package.lua at line 80: module 'strict' not found.
  15. Lua error in package.lua at line 80: module 'strict' not found.
  16. Lua error in package.lua at line 80: module 'strict' not found.
  17. "...it is unfortunate that NVIDIA will not be supporting the Nouveau development, releasing open-source documentation, or providing other open-source support...", March 26, 2010, Phoronix.com
  18. Lua error in package.lua at line 80: module 'strict' not found.
  19. 19.0 19.1 Lua error in package.lua at line 80: module 'strict' not found.
  20. Lua error in package.lua at line 80: module 'strict' not found.
  21. Lua error in package.lua at line 80: module 'strict' not found.
  22. Lua error in package.lua at line 80: module 'strict' not found.
  23. Lua error in package.lua at line 80: module 'strict' not found.
  24. 24.0 24.1 24.2 Lua error in package.lua at line 80: module 'strict' not found.
  25. Lua error in package.lua at line 80: module 'strict' not found.
  26. Lua error in package.lua at line 80: module 'strict' not found.
  27. Lua error in package.lua at line 80: module 'strict' not found.
  28. Lua error in package.lua at line 80: module 'strict' not found.
  29. "The GoboLinux directory structure brings a fresh, clean look the Linux system...", 2003, GoboLinux.org
  30. moonOS has it own File Hierarchy System...
  31. Lua error in package.lua at line 80: module 'strict' not found.
  32. Lua error in package.lua at line 80: module 'strict' not found.
  33. Lua error in package.lua at line 80: module 'strict' not found.
  34. Lua error in package.lua at line 80: module 'strict' not found.
  35. Lua error in package.lua at line 80: module 'strict' not found.
  36. Lua error in package.lua at line 80: module 'strict' not found.
  37. Lua error in package.lua at line 80: module 'strict' not found.
  38. Lua error in package.lua at line 80: module 'strict' not found.
  39. "Microsoft kills its 'Get the Facts' anti-Linux site", August 23, 2007, ZDnet
  40. "Microsoft tried to muck with anti-Linux 'facts'", February 2, 2007, ZDnet
  41. Novell Indemnification Program
  42. Lua error in package.lua at line 80: module 'strict' not found.
  43. Lua error in package.lua at line 80: module 'strict' not found.
  44. Lua error in package.lua at line 80: module 'strict' not found.
  45. Lua error in package.lua at line 80: module 'strict' not found.
  46. 46.0 46.1 Lua error in package.lua at line 80: module 'strict' not found.
  47. Lua error in package.lua at line 80: module 'strict' not found.

External links