Linus Torvalds on why desktop Linux sucks
The speaker’s main point is that Linux desktop distribution’s application packaging is broken and hinders widespread adoption. Key arguments include:
-
Inconsistent application packaging: Application developers face immense difficulties creating Linux binaries due to the fragmentation of distributions (Fedora, Debian, etc.), each with different libraries and versions. This leads to developers avoiding Linux altogether or creating many different versions of the same application.
-
Breaking binary compatibility: Distributions frequently update libraries (like glibc) causing widespread breakage, even if technically a “bug fix.” The speaker emphasizes the importance of maintaining user-space stability above all else, a principle frequently violated by distributions.
-
Inefficient maintenance: Distributions spend excessive resources packaging even niche open-source applications, a duplication of effort. This is inefficient for both the distribution maintainers and the application developers. The speaker suggests a model similar to nightly builds for Windows, allowing for rapid updates and troubleshooting, which is currently lacking on Linux.
-
Valve as a potential solution (ironic): While not advocating for gaming’s importance, the speaker notes that Valve, due to its size and the likely pressure it will exert on distributions, will force a change. Valve’s approach of static linking and huge binaries, while not ideal, will likely lead to greater compatibility across distributions simply because distributions will support them.
-
Proposed solution: The speaker advocates for a more streamlined approach, where distributions focus on core applications and a more flexible system allowing developers to easily update packages for users. Open-source projects with small user bases shouldn’t need to individually maintain packages for every distribution. Commercial software further highlights the need for a better solution.