logo

drewdevault.com

[mirror] blog and personal website of Drew DeVault git clone https://hacktivis.me/git/mirror/drewdevault.com.git

What-desktop-Linux-needs.md (8900B)


  1. ---
  2. title: What desktop Linux needs to succeed in the mainstream
  3. date: 2021-12-05
  4. ---
  5. The [Linus Tech Tips] YouTube channel has been putting out a series of videos
  6. called the [Switching to Linux Challenge] that has been causing a bit of a stir
  7. in the Linux community. I've been keeping an eye on these developments, and
  8. thought it was a good time to weigh in with my thoughts. This article focuses on
  9. what Linux needs to do better — I have also written a companion article,
  10. "[How new Linux users can increase their odds of success][0]", which looks at the
  11. other side of the problem.
  12. [Linus Tech Tips]: https://redirect.invidious.io/channel/UCXuqSBlHAE6Xw-yeJA0Tunw
  13. [Switching to Linux Challenge]: https://redirect.invidious.io/playlist?list=PL8mG-RkN2uTyhe6fxWpnsHv53Y1I-K3yu
  14. [0]: /2021/12/05/How-new-Linux-users-succeed.html
  15. Linux is *not* accessible to the average user today, and I didn't need to watch
  16. these videos to understand that. I do not think that it is reasonable today to
  17. expect a non-expert user to successfully install and use Linux for their daily
  18. needs without a "Linux friend" holding their hand every step of the way.
  19. This is not a problem unless we want it to be. It is entirely valid to build
  20. software which is accommodating of experts only, and in fact this is the kind of
  21. software I focus on in my own work. I occasionally use the racecar analogy: you
  22. would not expect the average driver to be able to drive a Formula 1 racecar.
  23. It is silly to suggest that Formula 1 vehicle designs ought to accommodate
  24. non-expert drivers, or that professional racecar drivers should be driving
  25. mini-vans on the circuit. However, it is equally silly to design a professional
  26. racing vehicle and market it to soccer moms.
  27. I am one of the original developers of the [Sway] desktop environment for
  28. Linux. I am very proud of Sway, and I believe that it represents one of the
  29. best desktop experiences on Linux. It is a rock-solid, high-performance,
  30. extremely stable desktop which is polished on a level that is competitive with
  31. commercial products. However, it is designed for *me*: a professional,
  32. expert-level Linux user. I am under no illusions that it is suitable for my
  33. grandmother.[^1]
  34. [sway]: https://swaywm.org
  35. [^1]: However, I suspect that the LTT folks and other "gaming power-user" types would find Sway very interesting, if they approached it with a sufficiently open-minded attitude. For details, see the companion article.
  36. This scenario is what the incentives of the Linux ecosystem favors most. Linux
  37. is one of *the best* operating systems for professional programmers and
  38. sysadmins, to such an extraordinary degree that most programmers I know treat
  39. Windows programmers and sysadmins as the object of well-deserved ridicule. Using
  40. Windows for programming or production servers is essentially as if the race car
  41. driver from my earlier metaphor *did* bring a mini-van to the race track. Linux
  42. is the operating system developed by programmers, for programmers, to suit *our*
  43. needs, and we have succeeded tremendously in this respect.
  44. However, we have failed to build an operating system for people who are *not*
  45. like us.
  46. If this is not our goal, then that's fine. But, we can build things for
  47. non-experts if we choose to. If we set "accessible to the average user" as a
  48. goal, then we must take certain steps to achieve it. We need to make major
  49. improvements in the following areas: robustness, intuitiveness, and community.
  50. The most frustrating moments for a user is when the software they're using does
  51. something inexplicable, and it's these moments that they will remember the most
  52. vividly as part of their experience. Many Linux desktop and distribution
  53. projects are spending their time on shiny new features, re-skins, and expanding
  54. their scope further and further. This is a fool's errand when the project is not
  55. reliable at its current scope. A small, intuitive, reliable program is better
  56. than a large, unintuitive, unreliable program. Put down the paint brush and pick
  57. up the polishing stone. I'm looking at you, KDE.[^2]
  58. [^2]: There is at least one person at KDE working along these lines: [Nate Graham](https://pointieststick.com). Keep it up!
  59. A user-friendly Linux desktop system should not crash. It should not be possible
  60. to install a package which yeets gnome-desktop and dumps them into a getty. The
  61. smallest of interactions must be intuitive and reliable, so that when Linus
  62. drags files from the decompression utility into a directory in Dolphin, it does
  63. the right thing. This will require a greater degree of cooperation and unity
  64. between desktop projects. Unrelated projects with common goals need to be
  65. reaching out to one another and developing robust standards for achieving those
  66. goals. I'm looking at you, Gnome.
  67. Linux is a box of loosely-related tools held together with staples and glue.
  68. This is fine when the user understands the tools and is holding the glue bottle,
  69. but we need to make a more cohesive, robust, and reliable system out of this
  70. before it can accommodate average end-users.
  71. We also have a lot of work to do in the Linux community. The discussion on the
  72. LTT video series has been exceptionally toxic and downright embarrassing. There
  73. is a major problem of elitism within the Linux community. Given a hundred ways
  74. of doing things on Linux (✓), there will be 99 assholes ready to tell you that
  75. your way sucks (✓). Every Linux user is responsible for doing better in this
  76. regard, especially the moderators of Linux-adjacent online spaces. Wouldn't it
  77. be better if we took pride in being a friendly, accessible community? Don't
  78. flame the noobs.
  79. Don't flame the experts, either. When Pop!\_OS removed gnome-desktop upon
  80. installing Steam, the Linux community rightly criticised them for it. This was a
  81. major failure mode of the system in one of its flagship features, and should
  82. have never shipped. It illuminates systemic failures in the areas I have drawn
  83. our attention to in this article such as robustness and intuitiveness, and
  84. Pop!\_OS is responsible for addressing the problem. None of that excuses the
  85. toxic garbage which was shoveled into the inboxes of Pop!\_OS developers and
  86. users. Be better people.
  87. Beyond the toxicity, there are further issues with the Linux community. There
  88. are heaps and heaps of blogs shoveling out crappy non-solutions to problems
  89. noobs might be Googling, most of which will fuck up their Linux system in some
  90. way or another. It's very easy to find bad advice for Linux, and very hard to
  91. find good advice for Linux. The blog spammers need to cut it out, and we need to
  92. provide better, more accessible resources for users to figure out their issues.
  93. End-user-focused Linux distributions need to take responsibility for making
  94. certain that their users understand the best ways to get help for any issues
  95. they run into, so they don't go running off to the Arch Linux forums blindly
  96. running terminal commands which will break their Ubuntu installation.
  97. End-user software also needs to improve in this respect. In the latest LTT
  98. video, Luke wanted to install OBS, and the right thing to do was install it from
  99. their package manager. However, [the OBS website][1] walks them through
  100. installing a PPA instead, and has a big blue button for building it from source,
  101. which is definitely not what an average end-user should be doing.
  102. → Related: [Developers: Let distros do their job](/2021/09/27/Let-distros-do-their-job.html)
  103. [1]: https://obsproject.com/download
  104. One thing that we do not need to do is "be more like Windows", or any other OS.
  105. I think that this is a common fallacy found in end-user Linux software. We
  106. should develop a system which is intuitive in its own right without having to
  107. crimp off of Windows. Let's focus on what makes Linux interesting and useful,
  108. and try to build a robust, reliable system which makes those interesting and
  109. useful traits accessible to users. Chasing after whatever Windows does is not
  110. the right thing to do. Let's be prepared to ask users to learn things like new
  111. usability paradigms if it illuminates a better way of doing things.
  112. So, these are the goals. How do we achieve them?
  113. I reckon that we could use a commercial, general-purpose end-user Linux distro.
  114. As I mentioned earlier, the model of developers hacking in their spare time to
  115. make systems for themselves does not create incentives which favor the average
  116. end-user. You can sell free software — someone ought to do so! Build a
  117. commercial Linux distro, charge $20 to download it or mail an install CD to the
  118. user, and invest that money in developing a better system and offer dedicated
  119. support resources. Sure, it's *nice* that Linux is free-as-in-beer, but there's
  120. no reason it has to be. I've got [my own business][sourcehut] to run, so I'll
  121. leave that as [an exercise for the reader][stripe]. Good luck!
  122. [sourcehut]: https://sourcehut.org
  123. [stripe]: https://stripe.com/atlas