Torvalds Says Linux Distros Kill Desktop Apps by Breaking User Space

Linus Torvalds on why desktop Linux sucks — gentooman

gentooman

Linux distributions cripple consumer desktop adoption by routinely breaking binary compatibility and forcing upstream developers to maintain fragmented, distribution-specific packages instead of universal binaries.

AI-assisted summary of Linus Torvalds on why desktop Linux sucks — original source. Check the original for full context.

Source published:

Key ideas

  • Linus Torvalds identifies fragmented binary packaging as the primary structural failure crippling desktop Linux, in stark contrast to straightforward app distribution on Windows and OS X. (0:00)
  • The Linux kernel strictly forbids breaking user space, whereas distributions and core userland libraries like glibc regularly break backwards compatibility and expect software to be recompiled. (2:52)
  • Commercial market pressure from Valve is forcing desktop Linux distributions to accommodate bundled, statically linked binaries rather than forcing separate per-distro builds. (5:11)
  • Distro repository pipelines fail niche software like Subsurface by duplicating packaging work for tiny userbases while making it impossible to ship nightly binary bug fixes to non-technical users. (6:56)

Detailed notes

## Background Published on YouTube by gentooman on March 27, 2021, this video features a segment from Linus Torvalds' appearance at DebConf 14. According to the page description, the clip highlights Torvalds outlining major pain points of desktop Linux, focusing on application distribution hurdles, distribution packaging overhead, and broken backwards compatibility.

## TL;DR Linus Torvalds argues that the primary failure preventing Linux from succeeding on the desktop is fragmented, distro-specific application distribution rather than package formats or lack of marketing. Drawing from his personal experience maintaining the Subsurface dive log software, he contrasts the seamless binary distribution of Windows and macOS with the fragile, multi-target build requirements of Linux. He sharply contrasts the Linux kernel's sacred rule against breaking user space with the habit of distro libraries like glibc frequently breaking downstream compatibility. While acknowledging that distro repositories handle core operating system plumbing well, Torvalds insists that desktop Linux must embrace standardized, self-contained binaries so independent and commercial developers can reach non-technical users.

## Atmosphere & style The session is trademark Linus Torvalds: passionately candid, profane, intellectually rigorous, and disarmingly funny. Speaking directly to an audience of Debian developers whose very workflow he is critiquing, Torvalds balances fierce, unyielding convictions—declaring religious devotion to user space stability with threats to 'crush' offenders—with lighthearted self-awareness when realizing his own package maintainer might be in the room. The atmosphere feels like an unfiltered, pragmatic reality check, puncturing open-source dogma with the gritty practicalities of supporting everyday software users.

## Bulletin - [00:00](https://www.youtube.com/watch?v=Pzl1B7nB9Kc&t=0s) Linus Torvalds identifies fragmented binary packaging as the primary structural failure crippling desktop Linux, in stark contrast to straightforward app distribution on Windows and OS X. - [02:52](https://www.youtube.com/watch?v=Pzl1B7nB9Kc&t=172s) The Linux kernel strictly forbids breaking user space, whereas distributions and core userland libraries like glibc regularly break backwards compatibility and expect software to be recompiled. - [05:11](https://www.youtube.com/watch?v=Pzl1B7nB9Kc&t=311s) Commercial market pressure from Valve is forcing desktop Linux distributions to accommodate bundled, statically linked binaries rather than forcing separate per-distro builds. - [06:56](https://www.youtube.com/watch?v=Pzl1B7nB9Kc&t=416s) Distro repository pipelines fail niche software like Subsurface by duplicating packaging work for tiny userbases while making it impossible to ship nightly binary bug fixes to non-technical users.

## Key takeaways - [00:00](https://www.youtube.com/watch?v=Pzl1B7nB9Kc&t=0s) Application distribution, rather than package manager rivalries (dpkg vs. RPM) or hardware pre-installs, is the core structural failure of the Linux desktop ecosystem. - [00:00](https://www.youtube.com/watch?v=Pzl1B7nB9Kc&t=0s) Upstream developers cannot build a universal Linux binary; they must compile fragile, separate packages for Fedora 19, Fedora 20, RHEL, and Debian unstable. - [00:00](https://www.youtube.com/watch?v=Pzl1B7nB9Kc&t=0s) Debian stable's deeply frozen core libraries make modern desktop applications nearly impossible to compile or execute. - [00:00](https://www.youtube.com/watch?v=Pzl1B7nB9Kc&t=0s) Strict distribution mandates requiring dynamically linked shared libraries break down when applications rely on fast-moving, experimental libraries with volatile ABIs. - [02:52](https://www.youtube.com/watch?v=Pzl1B7nB9Kc&t=172s) The Linux kernel operates under a strict, non-negotiable law: never break user space, prioritizing application compatibility over code cleanups or API refactoring. - [02:52](https://www.youtube.com/watch?v=Pzl1B7nB9Kc&t=172s) Core userland libraries like glibc regularly break binary compatibility under the justification of standards compliance or fixing bugs. - [02:52](https://www.youtube.com/watch?v=Pzl1B7nB9Kc&t=172s) Torvalds maintains that if users rely on an unintended behavior or bug, it becomes a feature that maintainers must not break. - [02:52](https://www.youtube.com/watch?v=Pzl1B7nB9Kc&t=172s) The assumption throughout the distribution ecosystem that users and packagers can simply recompile all software from source undermines Linux as a consumer platform. - [05:11](https://www.youtube.com/watch?v=Pzl1B7nB9Kc&t=311s) Commercial entities like Valve will not create separate builds for every distribution, forcing distributions to adapt to unified commercial binaries to retain Steam compatibility. - [05:11](https://www.youtube.com/watch?v=Pzl1B7nB9Kc&t=311s) To bypass distribution fragmentation, commercial software developers are forced to statically link and bundle all necessary dependencies into massive executables. - [05:11](https://www.youtube.com/watch?v=Pzl1B7nB9Kc&t=311s) The distribution repository model functions well for base operating system components, but collapses when applied to niche or rapidly developing desktop software. - [06:56](https://www.youtube.com/watch?v=Pzl1B7nB9Kc&t=416s) Subsurface has approximately 1,000 total users, with only a few hundred on Linux and roughly 10 each on Fedora and Debian, making dedicated per-distro packaging inefficient. - [06:56](https://www.youtube.com/watch?v=Pzl1B7nB9Kc&t=416s) Subsurface maintainers can instantly generate nightly Windows installers to debug hardware communication issues, whereas Linux distributions offer no mechanism for delivering direct nightly test binaries. - [06:56](https://www.youtube.com/watch?v=Pzl1B7nB9Kc&t=416s) Directing everyday consumers to clone a Git repository, resolve dependency conflicts, and compile from source is completely unusable for mainstream adoption. - [06:56](https://www.youtube.com/watch?v=Pzl1B7nB9Kc&t=416s) Valve shifting SteamOS to a Debian base highlights the urgent need for distributions to support out-of-tree and third-party binary distribution models.

## Detailed walkthrough ### [00:00](https://www.youtube.com/watch?v=Pzl1B7nB9Kc&t=0s) Application Packaging and the Fragmentation Nightmare

Linus Torvalds begins by setting aside the traditional desktop hurdles—such as OEM pre-installs, marketing, and the challenge of building machines that “just work” out of the box for non-technical users—to focus on what he considers a structural failure across the entire Linux ecosystem: application packaging. He clarifies that his critique has nothing to do with low-level package format rivalries, such as whether dpkg is superior to RPM. Instead, he speaks from the perspective of an upstream application developer trying to distribute software to end users.

Drawing from his direct experience with Subsurface, his open-source dive log application, Linus explains that distributing software across Linux distributions is an agonizing ordeal compared to other platforms. The Subsurface team easily produces working binaries for Windows and OS X, but distributing Linux binaries proves almost prohibitive: “Making binaries for Linux desktop applications is a major fucking pain in the ass.” Upstream developers cannot simply target “Linux”; they must build separate, fragile binaries targeting Fedora 19, Fedora 20, legacy releases like RHEL 5, or Debian unstable. Debian stable is effectively out of reach because its system libraries are so frozen that modern desktop software cannot compile or run against them.

Compounding this problem are rigid packaging policies, such as Debian’s strict insistence on shared dynamically linked libraries. Linus recounts a recent local flame war over this exact requirement. While shared libraries make sense for mature infrastructure, they become untenable when an application relies on cutting-edge, experimental libraries maintained by a tiny handful of people where the ABI changes unpredictably every few days. The inability to distribute a self-contained, statically compiled binary that runs universally across all distributions cripples third-party software deployment.

```mermaid flowchart TD accTitle: Fragmentation of Linux Desktop Application Distribution accDescr: Diagram contrasting unified binary distribution on Windows and macOS with distribution fragmentation on Linux.

subgraph Proprietary["Proprietary Desktops"] A["Single Application Binary"] --> Win["Windows Build"] A --> Mac["macOS Build"] end

subgraph LinuxEcosystem["Linux Fragmentation"] B["Application Source"] --> DistroTargets["Distro-Specific Builds"] DistroTargets --> F19["Fedora 19 / 20"] DistroTargets --> DebUnstable["Debian Unstable"] DistroTargets --> RHEL["RHEL / CentOS"] DistroTargets -.->|"Fails (ancient libs)"| DebStable["Debian Stable"] end ```

[02:52](https://www.youtube.com/watch?v=Pzl1B7nB9Kc&t=172s) Breaking User Space: The Cultural Divide Between the Kernel and Distros

Linus contrasts the chaotic application environment with the absolute operational philosophy of the Linux kernel. Within the kernel, there is only one immutable law that overrides every other consideration: “We don't break user space.” While other engineering ideals—including code cleanups and even security practices—serve as flexible guidelines, breaking compatibility for existing user programs is treated as a cardinal sin. Linus emphasizes the religious intensity of this rule: “People break user space I get really really angry I mean I this is something that is religious for me you do not break user space.” When kernel contributors attempt to alter a user-facing API under the pretext of cleaning up old interfaces, Linus is uncompromising: “No you're not changing that API because I will crush you.” An API can only change if the modification remains completely invisible to the software running on top of it.

In stark contrast, Linux distributions and core userland library maintainers frequently break binary compatibility without hesitation. Linus directs specific criticism at projects like glibc, where library maintainers update core interfaces and casually break downstream user software under the justification of conforming to written standards or fixing obscure bugs. He dismisses the argument that user software was relying on unintended behavior: “If it's a bug that people rely on it's not a bug it's a feature.” The widespread expectation in the distribution ecosystem that users and packagers can simply recompile everything from source whenever an underlying dependency shifts fundamentally undermines Linux as a consumer desktop platform.

- The kernel operates on an absolute rule against breaking existing user space ABIs and APIs. - Core user-space libraries, including glibc, regularly alter behaviors to fix bugs or match standards, regardless of compatibility fallout. - Upstream developers cannot afford to maintain dozens of distinct binaries tailored to subtle library version shifts.

[05:11](https://www.youtube.com/watch?v=Pzl1B7nB9Kc&t=311s) The Role of Valve and the "In-Tree" Packaging Model

Looking for potential catalysts to break this cycle, Linus points to Valve’s commercial push into Linux gaming. While admitting he is not a gamer himself, he suggests that Valve’s influence might force a long-overdue standardization upon desktop distributions. A commercial giant like Valve will never agree to generate fifteen distinct distribution-specific binaries for every game release. Because every major desktop distribution desperately wants Steam and its library to function, distributions will be forced to accommodate Valve’s binaries. Linus notes with a touch of irony that the immediate workaround is for commercial entities to bundle all dependencies and statically link their binaries into massive executables—an unaesthetic approach, but the only practical reality given current distro fragmentation.

An audience member intervenes to ask whether the problem could be solved by treating desktop applications like in-tree kernel drivers: rather than distributing standalone binaries out-of-tree, could upstream projects simply merge their code directly into the distribution repositories? Linus acknowledges that for the core operating system, this model already works well. Most attendees at DebConf spend their days actively maintaining packages, and having distributions integrate and maintain the foundational 90 percent of open-source software is appropriate and necessary. However, Linus argues that this upstream-to-distro pipeline breaks down completely when applied to niche or rapidly evolving software.

```mermaid flowchart LR accTitle: Application Maintenance Paradigms accDescr: Contrasting core distribution-maintained packages with niche specialized applications.

subgraph CoreApps["Base Distribution Model (In-Tree)"] CoreSrc["Core / System Software"] --> DistroMaintainers["Distro Packagers"] DistroMaintainers --> DistroRepo["Official Repositories (Thousands of Packages)"] end

subgraph NicheApps["Niche Applications (Subsurface Model)"] AppSrc["Fast-Iterating App Source"] -->|Stalled by release cycles| DistroWait["Packager Delay"] AppSrc -->|Nightly / Direct Binaries| DirectUser["Target User (Hardware Fixes)"] end ```

[06:56](https://www.youtube.com/watch?v=Pzl1B7nB9Kc&t=416s) The Subsurface Dilemma: Nightly Builds and Non-Technical Users

To illustrate why repository-centric package management fails application developers, Linus dives deeper into Subsurface. Subsurface has roughly a thousand active users worldwide. Of those, only a few hundred run Linux, with perhaps ten users on Debian, ten on Fedora, a few on Arch, and the majority concentrated on Ubuntu—an expected breakdown given that scuba divers are typically regular consumers rather than system administrators. Linus questions the logic of having independent package maintainers across multiple distributions duplicate effort for ten users per distro: “So if you have that kind of situation does it make sense to have people inside every distribution package that application for that distribution and do so in a really timely manner when we're making major changes that is really important to users because without those changes their dive computer does not work?”

Linus realizes mid-sentence that the Debian package maintainer for Subsurface might actually be sitting in the audience, quickly expressing gratitude while maintaining his broader critique. He contrasts the Linux situation with Windows, where Subsurface co-maintainer Dirk Hohndel routinely spins up nightly installer builds. When a diver encounters a communication bug with a specific dive computer model, the maintainers can immediately hand them a pre-compiled Windows executable to verify the fix.

On Linux, that feedback loop is completely broken. The Debian package is perpetually out of date, and distributions offer no practical mechanism to distribute nightly test builds to end users. The standard Linux advice—instructing a diver stuck on a trip in Hawaii to clone the Git repository, resolve dependencies, and compile from source—is completely unusable for mainstream users. Linus concludes that while distributions should maintain the thousands of packages that constitute the system base, they must accommodate standalone, multi-distro binary distribution for fast-moving independent and commercial software, pointing out that even Debian now has to reckon with commercial software ecosystems as Valve migrates SteamOS to a Debian base.

- Subsurface user demographics: ~1,000 total users, a few hundred on Linux, and approximately 10 each on Fedora and Debian, with Ubuntu holding the largest desktop share. - Dirk Hohndel provides nightly Windows installers to quickly diagnose and patch dive computer communication errors. - Linux distributions offer no comparable mechanism for developers to deliver ad-hoc nightly binary fixes directly to non-technical users. - Commercial realities, exemplified by Valve switching SteamOS from an Ubuntu base to Debian, demand a stable mechanism to target distributions without version-by-version rebuilds.

## Notable quotes > [00:00](https://www.youtube.com/watch?v=Pzl1B7nB9Kc&t=0s) Making binaries for Linux desktop applications is a major fucking pain in the ass. — Linus Torvalds

> [02:52](https://www.youtube.com/watch?v=Pzl1B7nB9Kc&t=172s) We don't break user space. — Linus Torvalds

## Mentioned Arch Linux, DebConf 14, Debian, Dirk Hohndel, Fedora, glibc, Linus Torvalds, macOS, Red Hat Enterprise Linux, Steam, SteamOS, Subsurface, Ubuntu, Valve, Windows

## Video description Linus highlights several pain points with regards to desktop Linux. From DebConf 14 https://www.youtube.com/watch?v=5PmHRSeA2c8

0:00 Application distribution is a huge PITA 2:52 Distros break things and ignore backwards compat. 5:53 Distros waste too much effort on package management 8:26 Linus roasts his own package maintainer 8:50 Windows has a better app distribution experience 9:29 Linux distros expect users to compile everything

[Source](https://www.youtube.com/watch?v=Pzl1B7nB9Kc)

中文简报

托瓦兹称 Linux 发行版破坏用户空间致使桌面应用受阻 Linux 发行版经常破坏二进制兼容性,迫使上游开发者维护碎片化、特定于发行版的软件包而非通用二进制文件,从而严重阻碍了消费级桌面的普及。 林纳斯·托瓦兹认为,阻碍 Linux 在桌面端取得成功的主要症结在于碎片化、特定于发行版的分发模式,而非打包格式本身或缺乏市场推广。结合自身维护 Subsurface 潜水日志软件的经历,他将 Windows 和 macOS 流畅的二进制分发与 Linux 脆弱且需要针对多目标构建的要求进行了对比。他尖锐地指出,Linux 内核严格恪守绝不破坏用户空间的铁律,而 glibc 等发行版基础库却屡屡打破下游兼容性。尽管托瓦兹承认发行版软件仓库能很好地处理核心操作系统的底层组件,但他坚称桌面 Linux 必须接纳标准化的独立自包含二进制文件,以便独立和商业开发者能够触达非技术用户。 林纳斯·托瓦兹指出,碎片化的二进制打包是阻碍桌面 Linux 发展的核心结构性缺陷,这与 Windows 和 OS X 简单明了的应用分发形成了鲜明对比。 (0:00) Linux 内核严格禁止破坏用户空间,而各大发行版及 glibc 等核心用户空间库却经常破坏向后兼容性,并期望软件重新编译。 (2:52) 来自 Valve 的商业市场压力正迫使桌面 Linux 发行版兼容捆绑式静态链接二进制文件,而不是强求针对每个发行版单独构建。 (5:11) 发行版软件仓库流程在应对 Subsurface 等小众软件时表现乏力,不仅为极少数用户群重复进行打包工作,还导致开发者无法向非技术用户发布每日构建的二进制错误修复版本。 (6:56)

Reading summary

Linus Torvalds argues that desktop Linux fails to gain traction primarily due to fragmented application packaging and an ecosystem culture that routinely breaks user-space compatibility. Speaking from the perspective of an upstream application developer, he contends that distributing standalone desktop software across distributions is prohibitively difficult compared to proprietary operating systems. The Fragmentation of Application Packaging (0:00) Torvalds sets aside common explanations for the struggles of desktop Linux, such as marketing deficits or the lack of OEM pre-installations, to focus on packaging architecture as the critical structural failure. Drawing on his experience maintaining the open-source dive log application Subsurface, he notes that producing working binaries for Windows and OS X is straightforward, whereas Linux desktop application distribution is an agonizing ordeal. Upstream developers cannot target a generic Linux platform; they must construct fragile, distinct binaries for specific targets such as Fedora 19, Fedora 20, RHEL 5, and Debian unstable, while Debian stable remains unusable because its frozen system libraries cannot build modern desktop software. Torvalds further criticizes distribution policies that strictly mandate shared, dynamically linked libraries. While dynamic linking functions well for mature base-system components, he argues it breaks down when an application depends on experimental, fast-moving libraries maintained by small teams with constantly shifting application binary interfaces (ABIs). The inability to ship self-contained, statically compiled binaries across all distributions severely impedes third-party desktop software development. Kernel Stability Versus User-Space Breakage (2:52) Torvalds contrasts the chaotic application layer with the foundational rule of the Linux kernel: never break user space. Within the kernel project, preserving compatibility for existing user applications overrides code cleanups, architectural purity, and even security adjustments. Torvalds describes this rule as an absolute commitment, insisting that kernel interfaces must only be modified if the changes remain entirely invisible to downstream programs running on top of them. In stark contrast, Torvalds observes that Linux distributions and foundational userland library maintainers regularly break binary compatibility without hesitation. He singles out projects like glibc for altering interfaces under the justification of adhering to written standards or fixing obscure bugs, dismissing the expectation that application maintainers can simply recompile their code whenever an underlying library shifts. From Torvalds's perspective, if user applications depend on an unintended behavior, that behavior ceases to be a bug and becomes a feature that must not be broken. Limits of Distro Repositories for Niche Software (6:56) Torvalds explains that the traditional Linux model—where distribution maintainers package software directly into centralized repositories—functions well for the core operating system but fails for niche, fast-evolving programs. For Subsurface, which has approximately one thousand total users and only a few hundred running Linux (with around ten on Debian, ten on Fedora, and the majority on Ubuntu), having separate distribution maintainers duplicate packaging efforts makes little practical sense and introduces severe release lag. This distribution lag breaks the developer-to-user feedback loop required to fix hardware communication issues. Torvalds points out that Subsurface co-maintainer Dirk Hohndel routinely builds nightly Windows installers to quickly diagnose and verify dive computer communication bugs with non-technical users. On Linux, however, Debian packages remain persistently outdated, and distributions provide no practical mechanism to deliver ad-hoc nightly binary fixes, rendering the platform unusable for mainstream consumers who cannot compile code from source. Commercial Catalysts and Bundled Binaries (5:11) Torvalds identifies commercial market power, specifically Valve's investment in Linux gaming, as the primary catalyst capable of forcing distributions to standardize. Commercial software vendors will not generate dozens of distinct, distribution-specific binaries for every release. Consequently, developers must resort to bundling all application dependencies and statically linking binaries into massive executables—an unaesthetic approach, but the only practical method to ensure universal execution across fragmented distributions. Because distributions have strong incentives to ensure Steam and its game catalog function reliably, Torvalds believes they will have to accommodate self-contained binary distribution. He notes that Valve's migration of SteamOS to a Debian base illustrates that even foundational, community-driven distributions must ultimately accommodate external commercial application delivery workflows. Torvalds concludes that while distributions should continue packaging core system infrastructure, the desktop Linux ecosystem must adopt a viable standalone binary distribution model if it intends to support fast-moving independent applications and non-technical mainstream users.

精炼阅读摘要

Linus Torvalds 指出桌面 Linux 普及的最大障碍在于应用程序打包与二进制分发体系的严重碎片化;这种结构性失灵源于发行版对共享库的僵化要求、基础用户态库随意破坏二进制兼容性,以及传统仓库维护模式无法满足快速演进软件的现实需求。 跨发行版二进制分发的碎片化困境 (0:00) Linus Torvalds 结合自身维护开源潜水日志软件 Subsurface 的实际经历指出,在 Linux 上分发桌面二进制应用是一场极其痛苦的折磨。与 Windows 和 OS X 能够轻松提供通用安装包不同,上游开发者面对的并不是统一的“Linux”,而是 Fedora 19、Fedora 20、RHEL 5 或 Debian unstable 等高度割裂的目标环境;而 Debian stable 则因基础库过度陈旧,导致现代桌面软件甚至无法在其上编译或运行。 与此同时,发行版强推的打包策略进一步加剧了分发难度,例如 Debian 严格要求应用依赖动态共享库。Linus 强调,虽然共享库适合成熟的基础设施,但对于依赖少数人维护且 ABI 变动频繁的前沿实验性组件而言,这种要求并不现实。发行版体系缺乏对跨发行版自包含、静态链接二进制包的有效支持,直接打击了第三方桌面应用的交付效率。 内核与用户态在兼容性上的哲学鸿沟 (2:52) Linus 将混乱的应用分发环境与 Linux 内核的铁律进行了鲜明对比。在内核开发中存在一条不可违背的核心法则——“绝对不能破坏用户空间”(We don't break user space)。无论是代码重构还是安全防御实践,都不能成为破坏向后兼容性的借口;任何导致现有用户程序异常的 API 修改都会被内核层坚决否决,接口变更的前提是必须对上层软件完全透明。 然而,Linux 发行版与核心用户态库(如 glibc)的维护者却频繁以“符合书面标准”或“修复冷门缺陷”为由破坏接口行为。Linus 驳斥了“用户程序依赖非预期行为即属自身错误”的观点,直言如果一项缺陷已被实际应用广泛依赖,它实质上就已经构成了功能特性。发行版阵营普遍预设“依赖更新后只需重新从源码编译”的思维,从根基上摧毁了消费级桌面平台的稳定性。 传统仓库打包模式难以支持快速迭代应用 (6:56) 虽然由发行版打包人员维护基础软件包的机制适合构成操作系统底座的绝大多数成熟软件,但 Linus 认为这种上游到发行版的流水线在小众或快速演进的应用上彻底失效。以 Subsurface 为例,其全球活跃用户仅约一千人,其中 Linux 用户仅数百人,分摊到 Fedora 和 Debian 上各约十人。要求各个发行版维护者为每个分支的极少数用户耗费精力重复打包,既低效又难以保障时效。 更关键的问题在于快速排查故障的反馈链被切断。Subsurface 联合维护者 Dirk Hohndel 能够为 Windows 用户即时提供包含最新修复的每日构建(nightly builds)安装程序,迅速排查特定潜水电脑的硬件通信故障;但在 Linux 桌面环境下,发行版仓库的版本长期滞后,且缺乏向非技术用户直接推送测试二进制包的渠道。指望普通用户在差旅途中自行克隆 Git 源码并解决依赖进行编译,完全脱离了真实用户的能力范围。 商业力量倒逼自包含打包机制的建立 (5:11) Linus 认为 Valve 进军 Linux 游戏领域的商业举措有望成为打破分发僵局的催化剂。像 Valve 这样的商业机构绝不会接受为十几个不同发行版分别制作定制构建包。鉴于各大主流发行版都迫切希望引入 Steam 及其庞大的游戏生态,发行版生态最终将被迫接纳统一的二进制分发规范。 面对当前的碎片化现实,商业实体采用的立即可行方案是将所有依赖项打包并进行静态链接,生成体积庞大但高度自包含的单一可执行文件。Linus 观察到,随着 Valve 将 SteamOS 的底层迁移至 Debian,即便一贯坚持严苛软件策略的发行版,也不得不适应商业软件脱离系统级依赖生命周期独立运行的需求。 Linus Torvalds 总结指出,Linux 桌面若想吸引普通用户与第三方开发者,发行版在维护底层核心系统的同时,必须允许并适应跨发行版的自包含二进制分发路径;这一转变不仅关乎技术实现,更要求开源社区在传统的中心化打包教条与现代软件交付现实之间寻求平衡。

Detailed notes — zh

## Background 该视频由 YouTube 频道 gentooman 于 2021 年 3 月 27 日发布,内容节选自 DebConf 14 上 Linus Torvalds 的现场问答。视频简介指出,Linus 在演讲中尖锐地指出了桌面 Linux 在应用分发、向后兼容性以及包管理等方面的诸多核心痛点。 ## TL;DR Linus Torvalds 直言桌面 Linux 始终无法普及的根本症结在于极其糟糕的应用程序打包与分发体验。他对比了内核开发中“绝不破坏用户空间”的铁律与各个发行版动辄破坏 ABI 兼容性的现状,指出强推共享动态库让小众桌面软件维护苦不堪言。以其亲自维护的潜水日志软件 Subsurface 为例,Windows 平台可以轻松提供每日构建,而 Linux 发行版却让开发者为几十个版本重复打包、甚至逼迫普通用户去自行编译源码。他认为这种脱离实际的打包哲学不仅浪费社区精力,更是桌面生态长期落后的根源,或许只有 Valve 等商业力量以静态全打包的强势介入才能打破僵局。 ## Atmosphere & style 整场演讲充满典型的 Linus 式毒舌与犀利幽默,言辞辛辣直接且毫无学术客套,台下 Debian 开发者频频爆发笑声与掌声。Linus 在台上毫不掩饰对底层库盲目破坏 ABI 的愤怒,用词激进却逻辑缜密,既有‘碾碎破坏者’的霸气宣章,又有调侃台下专属打包维护者的轻松互动。整段分享兼具务实的技术反思与接地气的开发者吐槽,将宏大的开源生态治理问题具象为夏威夷海滩上潜水员面对报错时的无奈,真实而极富冲击力。 ## Bulletin - [00:00](https://www.youtube.com/watch?v=Pzl1B7nB9Kc&t=0s) Linus Torvalds 认为桌面 Linux 最大的核心缺陷在于应用程序打包与分发机制极度破碎,开发者无法生成一个通用的二进制文件直接跨所有发行版运行。 - [02:52](https://www.youtube.com/watch?v=Pzl1B7nB9Kc&t=172s) Linux 内核严格恪守“绝不破坏用户空间”的铁律,而许多发行版及下游核心组件(如 glibc)却频繁以修 Bug 或符合标准为由破坏 ABI 和向后兼容性。 - [05:53](https://www.youtube.com/watch?v=Pzl1B7nB9Kc&t=353s) 中心化由发行版维护者介入打包的模式对长尾桌面软件造成严重人力浪费,且版本严重滞后,无法满足真实用户对于快速故障修复的需求。 - [08:26](https://www.youtube.com/watch?v=Pzl1B7nB9Kc&t=506s) Windows 能轻松提供 Nightly 每日构建安装包给普通终端用户排错,而桌面 Linux 社区却荒谬地期望非技术用户自行拉取 Git 代码进行编译。 ## Key takeaways - [00:00](https://www.youtube.com/watch?v=Pzl1B7nB9Kc&t=0s) 桌面 Linux 未能普及的根源不在于包管理器(如 dpkg 与 rpm)的设计优劣,而在于缺乏跨平台通用的应用程序二进制构建与分发标准。 - [00:00](https://www.youtube.com/watch?v=Pzl1B7nB9Kc&t=0s) 以潜水日志软件 Subsurface 为例,开发者能轻易为 Windows 和 OS X 构建安装包,但无法为通用 Linux 构建统一的二进制文件。 - [00:00](https://www.youtube.com/watch?v=Pzl1B7nB9Kc&t=0s) 开发者必须针对不同的发行版及其历史版本(如 Fedora 19、Fedora 20 或 RHEL 5)分别打包,而 Debian Stable 的预装库又过于陈旧。 - [00:00](https://www.youtube.com/watch?v=Pzl1B7nB9Kc&t=0s) Debian 等发行版强推动态链接与共享库,但处于快速迭代期的小众第三方库 ABI 频繁破损,导致软件构建极易失效。 - [02:52](https://www.youtube.com/watch?v=Pzl1B7nB9Kc&t=172s) Linux 内核开发的最高准则是“绝不破坏用户空间”(We don't break user space),API 变动若影响到现有软件均被视作严重回归。 - [02:52](https://www.youtube.com/watch?v=Pzl1B7nB9Kc&t=172s) 下游组件(如 glibc 维护团队)常傲慢地认为应用崩溃只需重新编译代码即可,这种思维严重脱离实际软件生态。 - [02:52](https://www.youtube.com/watch?v=Pzl1B7nB9Kc&t=172s) 若用户已经对某个 Bug 产生依赖,那么该行为在实质上就已成为系统特性,随意修复并破坏兼容性是不可接受的。 - [02:52](https://www.youtube.com/watch?v=Pzl1B7nB9Kc&t=172s) 商业游戏公司 Valve 迫使桌面发行版做出妥协,采用全静态链接包将依赖打包在一起,成为推动桌面兼容性的现实范例。 - [05:53](https://www.youtube.com/watch?v=Pzl1B7nB9Kc&t=353s) 对于拥有庞大用户群的核心基础软件,发行版维护打包十分必要;但对于边缘长尾的开源桌面应用,强行入库纯属浪费人力。 - [05:53](https://www.youtube.com/watch?v=Pzl1B7nB9Kc&t=353s) 小众开源软件在单一发行版(如 Debian 或 Fedora)中的用户量可能仅有数十人,发行版维护者无法及时跟进硬件协议等关键更新。 - [08:26](https://www.youtube.com/watch?v=Pzl1B7nB9Kc&t=506s) Windows 开发者能快速输出 Nightly 安装包让普通用户几分钟内验证硬件兼容性补丁,Linux 发行版却缺乏快速构建通道。 - [08:26](https://www.youtube.com/watch?v=Pzl1B7nB9Kc&t=506s) Linux 社区要求遇到故障的普通消费级用户自行拉取源码并在本地编译,这种极客思维彻底阻断了桌面 Linux 走向大众的可能。 ## Detailed walkthrough ### [00:00](https://www.youtube.com/watch?v=Pzl1B7nB9Kc&t=0s) 桌面 Linux 的致命痛点:应用打包与分发噩梦 Linus Torvalds 开门见山地指出,抛开市场推广、预装渠道以及如何让非技术背景的普通用户“买来就能直接用”这些商业因素不谈,所有 Linux 发行版从来没有真正解决过一个核心问题——应用程序的打包(Application Packaging)。现场或许有人会争辩说 Debian 的 `dpkg` 已经大幅进化且比 `rpm` 好用得多,但 Linus 强调这根本不是底层包管理器格式的优劣之争,而是开发者为 Linux 平台构建与分发桌面软件时的绝望处境。他以自己维护的潜水日志软件 Subsurface(在此处称作他的 dive log 应用程序)为例:团队可以轻松为 Windows 和 OS X 构建安装包,但几乎无法为桌面 Linux 提供统一的二进制文件。 在 Linux 平台上,开发者根本无法为通用的“Linux”编译软件,而必须针对“Fedora 19”、“Fedora 20”、甚至十年前的“RHEL 5”分别打包。至于 Debian Stable,其预装库老旧到任何近些年编写的代码都跑不起来;如果退而求其次选择 Debian Unstable,同样会陷入巨大的痛苦。Debian 社区有着必须使用共享库(Shared Libraries)的严苛准则,如果不采用动态链接,软件包几乎无法合入官方仓库。然而在现实中,许多软件依赖的第三方库处于高度实验阶段,“只有两个人用,其中一个还是个疯子”,接口 ABI 每隔几天就会被无情破坏。独立软件作者真正渴望的,仅仅是编译出一个单一的二进制文件,就能在所有 Linux 发行版上永远稳定运行。 ```mermaid flowchart TD accTitle: Linux Desktop App Distribution Dilemma accDescr: 跨平台与Linux发行版打包对比图,展示Windows/macOS的一致性与Linux内部的高度碎片化。 subgraph OtherOS["统一生态系统"] WIN["Windows 平台"] --> W_BIN["单一独立安装包<br/>(含 nightly 构建)"] MAC["macOS 平台"] --> M_BIN["单一.app / dmg 安装包"] end subgraph LinuxDistros["Linux 碎片化分发困局"] SRC["开发者单一代码基"] SRC --> F19["Fedora 19 / 20 二进制"] SRC --> DS["Debian Stable (库版本严重滞后)"] SRC --> DU["Debian Unstable (ABI频繁变动)"] SRC --> UBU["Ubuntu 各版本 PPA"] end ``` - Linus 直截了当地抨击桌面分发现状:“Why? Because making binaries for Linux desktop applications is a major fucking pain in the ass.”(为什么?因为为桌面 Linux 应用制作二进制文件简直就是一场该死的噩梦。) - 动态链接库的维护困境:在针对极小众、快速迭代的库开发时,强行推行动态链接规范会导致 ABI 频繁损坏,从而让整个软件构建彻底失效。 --- ### [02:52](https://www.youtube.com/watch?v=Pzl1B7nB9Kc&t=172s) 内核铁律 vs 发行版乱象:破坏二进制兼容性的代价 谈及二进制兼容性,Linus 展现出他在管理 Linux 内核时的铁血作风。他坦言自己每个内核发布周期都要与开发者们反复争斗:在内核开发中只有一条不可动摇的黄金法则,那就是“绝对不能破坏用户空间”(We don't break user space)。相比之下,代码安全和代码整洁都只是指导性意见,开发者写出蠢代码他不会真正动怒,但只要有人敢破坏用户空间,他就会出离愤怒。经常有开发者提出要重构或清理某些底层 API,Linus 对此的答复简单直接:“你休想动那个 API,否则我一定会碾碎你。”只有在完全没有用户察觉的前提下更改 API 才是可接受的,一旦被破坏,就是严重的回归错误。 然而,各大 Linux 发行版与核心组件社区却充斥着完全相反的风气。它们动辄以“修复 Bug”或“推行全新标准规范”为由破坏二进制兼容性。Linus 毫不客气地批评了 `glibc` 开发团队的傲慢:当底层的 C 运行时库被更新、导致现有应用大面积崩溃时,维护者往往轻描淡写地回应“这合乎规范标准,大家重新编译一遍代码不就行了”。在 Linus 看来,这种认为所有人都该重新编译源码的思维模式极其脱离实际。他甚至预言,可能只有像 Valve 这样的商业游戏公司才能拯救桌面 Linux,不是因为游戏本身有多重要,而是因为 Valve 绝不可能为各个发行版制作 15 套不同的二进制文件,迫使所有发行版不得不妥协支持其静态链接的庞大二进制包。 - 针对维护接口稳定性的严厉底线,Linus 直言:“No, you're not changing that API, because I will crush you.”(不,你休想修改那个 API,否则我会把你彻底碾碎。) - 针对下游库维护者破坏兼容性的说辞,Linus 驳斥道:“If it's a bug that people rely on, it's not a bug. It's a feature, right?”(如果人们已经依赖了这个 Bug,那它就不是 Bug,而是一项特性,懂吗?) - Valve 的破局意义:Valve 不会理会发行版繁琐的动态库规范,而是通过庞大的全静态链接包将依赖打包在一起,迫使所有主流桌面发行版为了游戏生态主动提供兼容环境。 --- ### [05:53](https://www.youtube.com/watch?v=Pzl1B7nB9Kc&t=353s) 发行版打包的资源浪费与 Subsurface 的真实困境 现场观众席有人提出疑问:Linux 内核要求树外模块(Out-of-tree modules)合并入内核主线才能得到维护,那么应用程序是否也应该走同样的道路,直接打包合入各个发行版?Linus 澄清道,对于 90% 的基础开源核心软件,由发行版统一维护是完全正确且必要的。但是,对于处于生态长尾的边缘与小众开源项目,这种机制造成了巨大的人力浪费。 Linus 拿自己的 Subsurface 摆出实际数据:该项目在全球大约只有 1000 名用户,其中运行 Linux 的仅有数百人;而在这数百人中,Debian 用户可能只有 10 人左右,Fedora 约 10 人,Arch 有极少数,绝大多数 Linux 用户则集中在 Ubuntu 上(因为潜水员多数不是极客,而 Ubuntu 抓住了这部分受众)。面对只有 10 个用户的发行版,由专属打包者去追踪上游每一次微小的潜水电脑硬件兼容性更新,不仅耗费精力,更完全无法保证交付的时效性。一旦关键协议更新没有及时进入仓库,普通潜水员手里的潜水电脑就无法与系统通信,软件也就沦为废铁。 ```mermaid flowchart LR accTitle: Distribution Packaging vs Real User Needs accDescr: 发行版人力维护与用户实际需求的错位对比 subgraph DistroModel["发行版中心化打包流程"] DEV["上游发布紧急硬件修复"] --> PKG["发行版维护者介入打包"] PKG --> REV["仓库准入与测试流程"] REV --> REL["发行版周期性发布<br/>(数周至数月延迟)"] end subgraph UserPain["终端潜水员用户困境"] REL --> FAIL["潜水电脑硬件依然无法识别"] DEV -.->|"无法直接推送二进制"| FAIL end ``` - Linus 诚恳劝告发行版维护者不要在小众桌面应用上消耗生命:“So even for open source projects, bringing that project into a project like Debian is just waste of manpower. You guys have better things to do.”(因此即便对于开源项目来说,把它们强行塞进像 Debian 这样的项目里也纯粹是浪费人力。各位显然有更重要的事情要做。) - 维护者精力错配:核心基础包已经有成千上万个,发行版维护团队本就负担沉重,强行要求为所有快速迭代的桌面端上游打包装袋只会两败俱伤。 --- ### [08:26](https://www.youtube.com/watch?v=Pzl1B7nB9Kc&t=506s) 现实对比:Windows 的每日构建 vs Linux 的“自行编译” 调侃到兴头上,Linus 突然意识到 Debian 的 Subsurface 软件包维护者可能正坐在台下观众席里,引发一阵笑声;他赶忙笑着解释自己非常感激对方的工作,但他真正想说明的是交付模式上的残酷对比。在 Windows 平台上,项目的核心维护者 Dirk Hohndel 能够自动化生成 Nightly 每日构建安装包。当某个潜水员遇到特定潜水电脑通信故障时,开发者可以立即打出修复补丁并提供 Windows 安装包,让用户在几分钟内验证问题是否解决——这是面向真实消费级用户唯一可行的服务模式。 反观 Linux 阵营,Debian 官方包往往处于长期滞后的状态,官方也不提供任何类似 Nightly 的快速构建分发途径。当一名身处夏威夷海滩的普通潜水员遇到潜水电脑连接故障时,Linux 社区给出的唯一解决办法竟然是:“请拉取 Git 源码树,自己在终端里编译试一下”。Linus 尖锐地指出,这种要求对于内核黑客很容易,但对于拿着笔记本排查潜水装备的普通人来说简直荒谬绝伦。无论是小众开源软件还是商业软件(如商业数据库及 Valve 旗下的 Steam 游戏库),要求上游开发者不仅要为特定发行版打包、还必须精确适配该发行版某一个具体历史版本的做法,正是导致 Linux 桌面生态长期处于劣势的根源。 - 面对普通用户无法获取修复包的现实,Linus 总结道:“The only thing you can tell these kind of people is, ‘Hey, take the git tree and compile it and see if it works or not.’ And that works if you're people like us, but if you're a diver who's in Hawaii and has trouble with his dive computer... it's not really a very good solution, right?”(你能对这类用户说的唯一一句话就是:‘嘿,你自己拉取 Git 代码库编译一下看看能不能用。’如果我们这种极客,这当然行得通;但如果你是一个正在夏威夷潜水、潜水电脑出了故障的普通潜水员……这可真算不上什么好方案,对吧?) - 跨版本兼容性要求:即便是开始转向以 Debian 为底层的商业巨头 Valve,也不得不在面对发行版版本断层时做出妥协,凸显出缺乏统一应用分发标准的生态沉疴。 ## Notable quotes > [00:00](https://www.youtube.com/watch?v=Pzl1B7nB9Kc&t=0s) Why? Because making binaries for Linux desktop applications is a major fucking pain in the ass. — Linus Torvalds > [02:52](https://www.youtube.com/watch?v=Pzl1B7nB9Kc&t=172s) If it's a bug that people rely on, it's not a bug. It's a feature, right? — Linus Torvalds ## Mentioned Linus Torvalds, Dirk Hohndel, Subsurface, Debian, Fedora, Ubuntu, Arch Linux, Red Hat Enterprise Linux, Windows, OS X, Valve, Steam, glibc, dpkg, RPM ## Video description Linus highlights several pain points with regards to desktop Linux. From DebConf 14 https://www.youtube.com/watch?v=5PmHRSeA2c8 0:00 Application distribution is a huge PITA 2:52 Distros break things and ignore backwards compat. 5:53 Distros waste too much effort on package management 8:26 Linus roasts his own package maintainer 8:50 Windows has a better app distribution experience 9:29 Linux distros expect users to compile everything [Source](https://www.youtube.com/watch?v=Pzl1B7nB9Kc)

Source quotes

[0:00] Linus Torvalds: Why? Because making binaries for Linux desktop applications is a major fucking pain in the ass. [2:52] Linus Torvalds: If it's a bug that people rely on, it's not a bug. It's a feature, right?

Source quotes

[0:00] Linus Torvalds: Making binaries for Linux desktop applications is a major fucking pain in the ass. [2:52] Linus Torvalds: We don't break user space.

Original transcript

[0:00] right uh one of the problems [0:03] desktop has i mean ignoring all the [0:07] purely market and getting free installs [0:10] and making it just so that [0:13] normal people and by normal people i [0:15] mean [0:16] obviously non-technical people will just [0:18] buy a machine and it just works [0:20] one of the things that none of the [0:23] distributions have ever gotten right [0:26] is application packaging right [0:30] and now somebody will say hey d package [0:33] is [0:33] way improved and much better than rpm [0:36] and that's not at all what i'm talking [0:38] about [0:39] i'm talking about [0:42] actual application writers that want to [0:45] make [0:46] a package of their application for linux [0:50] and i've seen this firsthand with [0:53] the other project i've been involved [0:54] with which is my [0:56] dialogue application right [1:02] we make binaries for windows and osx [1:06] we basically don't make binaries for [1:08] linux [1:10] why because making binaries for [1:13] linux desktop applications is a major [1:16] [ __ ] pain in the ass [1:18] right you don't make binaries for linux [1:20] you make binaries for [1:22] fedora 19 fedora 20 [1:25] maybe there's even like rel five [1:28] from 10 years ago you make binaries for [1:33] debian state oh actually you don't make [1:35] banners for debian stable because to be [1:36] unstable has [1:38] libraries that are so old that anything [1:40] that was [1:41] built in the last century doesn't work [1:43] right [1:44] but you might make binaries available [1:46] for debian [1:48] whatever the code name is for for [1:50] unstable [1:52] and uh and even that is a major pain [1:56] because christ we had this small [2:00] local flame fest just a couple of days [2:02] ago um [2:03] damien has these rules that you're [2:06] supposed to use shared libraries right [2:09] and if you don't use shared libraries [2:12] getting your package in [2:14] like is just painful [2:17] but using shared libraries is not an [2:19] option when the libraries are [2:22] experimental and the libraries are used [2:25] by two people [2:26] and one of them is crazy so [2:29] every other day some abi breaks [2:32] right so you actually want to just [2:34] compile one binary [2:36] and have it work [2:39] preferably forever and preferably [2:43] across all the linux distributions [2:46] and i actually think distributions have [2:49] done a horribly horribly bad job [2:52] one of the things that i do in the [2:53] kernel [2:55] and i have to fight this every single [2:57] release and i think it's sad [3:00] we have one rule in the kernel there is [3:03] one rule [3:04] we don't break user space everything [3:07] else is kind of a guideline [3:08] the whole security thing it's a [3:10] guideline that we shouldn't do stupid [3:13] [ __ ] [3:13] right but that's not a hard rule people [3:16] do stupid [ __ ] all the time i don't get [3:17] that upset [3:18] people break user space i get really [3:21] really angry i mean i [3:23] this is something that is religious for [3:25] me you do not break user space [3:27] and even in the kernel i every single [3:30] release [3:30] i have people saying okay i'm changing [3:34] this api because it's [3:35] cleaning stuff up and i'm like [3:39] no you're not changing that api because [3:42] i will [3:43] crush you right uh and [3:47] actually it's often okay to change api [3:49] as long as nobody notices [3:51] but immediately when somebody notices [3:53] it's a bad thing and this is like a big [3:55] deal for the kernel [3:56] and i spend a lot of effort explaining [3:59] to all the developers that this is [4:01] a really really important thing and then [4:04] all the distributions come in [4:05] and they screw it all up because they [4:08] break binary compatibility [4:09] left and right they update glib c and [4:12] everything breaks you [4:14] hey you can recompile everything right [4:17] that really seems to be this mindset [4:19] quite often it's like [4:23] the glibc people say it was a bug look [4:26] here's the standard [4:27] it says you can't rely on that nobody [4:30] cares [4:31] if it's a bug that people rely on it's [4:34] not a bug [4:34] it's a feature right and [4:40] i won't even get into all the other [4:42] libraries [4:43] but it's really sad when the most core [4:45] library in the whole system [4:47] is okay with breaking stuff uh and [4:50] and as long as things improve and they [4:53] fix the api [4:55] so that's my rant and that's what i [4:57] really fundamentally think [4:59] needs to change for linux to work on the [5:02] desktop because you can't have [5:04] application writers do 15 billion [5:08] different versions and [5:11] i'm on record as saying that maybe [5:14] valve will actually save the linux [5:17] desktop [5:18] and it's actually not because i think [5:19] games are important [5:21] i don't care i don't play games i think [5:23] some people do so games [5:25] may be important but the really [5:27] important issue is [5:28] i guarantee you valve will not make 15 [5:31] different [5:31] binaries and i also guarantee you that [5:34] every single desktop [5:36] distribution will care about valve [5:39] binaries [5:40] so the problem is valve will [5:43] build everything statically linked and [5:47] create huge binaries and that's kind of [5:50] sad [5:51] but it's what you have to do right now i [5:53] would like [5:54] i would like to come back to the topic [5:56] of getting applications running [5:58] everywhere and every distribution [6:00] and compare it to the out of three [6:02] modules in the kernel where [6:04] the rule is to get your [6:07] module in the in the can merge in the [6:09] kernel [6:10] could we ask maybe the same for the [6:13] application to get them merged into [6:15] distributions [6:16] um i think that's what actually happens [6:20] quite often i mean that's [6:21] this is what most of you i actually i [6:23] don't know what most of you are doing [6:25] i'm assuming most of you maintain one or [6:28] more packages [6:29] am i completely wrong right now okay [6:32] so most of you your work is literally to [6:35] bring in the applications into the [6:37] system [6:37] and i think that's actually the right [6:39] solution for all the base applications [6:42] do not get me wrong i do not think that [6:45] something like [6:46] like 90 of the [6:50] core stuff that is open source should [6:53] just [6:53] be in the distribution but then there's [6:56] the crazy stuff [6:57] right there's something like subsurface [7:00] is open source but let's face it we have [7:03] maybe a thousand users worldwide out of [7:06] which [7:07] maybe a couple of hundred are running [7:11] linux [7:11] out of which maybe 10 are running [7:14] on debian i don't know the the we do [7:18] have some numbers [7:19] so those numbers are not completely made [7:21] up but [7:22] my point is if you have 10 users [7:26] on debian and you have 10 users on [7:29] fedora [7:30] and i know we have a couple of users on [7:33] actually we have a couple of users on [7:35] arch and most of the linux users seem to [7:38] be on ubuntu [7:39] which actually kind of makes sense right [7:41] because divers are not necessarily [7:43] computer technical people so and ubuntu [7:46] has been selling to that kind of crowd [7:49] so if you have that kind of situation [7:51] does it make sense to have [7:53] people inside every distribution package [7:56] that application for that distribution [7:59] and do so in a really timely manner when [8:01] we're making major [8:03] changes that is really important to [8:05] users because without those changes [8:07] their dive computer does not work [8:09] right no it does not make any sense at [8:11] all [8:12] so even for open source projects [8:15] bringing that project into a project [8:18] like debian [8:19] is just waste of manpower you guys have [8:22] better things to do [8:24] trust me you really do surface is the [8:27] fun [8:27] applications but nobody should waste [8:30] their life [8:31] maintaining oh maybe the maintainer is [8:34] actually here [8:36] but the point is i i'm grateful we [8:40] actually do have a debian maintainer uh [8:45] did i screw that up no but uh [8:48] it's this is an example of [8:51] something where it would make more sense [8:55] for [8:58] us like for windows we have nightly [9:01] builds [9:02] and by we i don't mean me because i [9:04] haven't touched the windows machine in a [9:05] long time [9:06] but dirk handle who is the real [9:08] maintainer [9:09] builds basically nightly and it's really [9:11] convenient because these users [9:13] that have problems with a particular [9:15] model of that computer [9:17] he can make a windows binary and say hey [9:19] install that [9:21] package and see if it fixes your problem [9:24] this is what you want for real users [9:28] right for linux we can't do that the [9:31] dividend package is out of date it's not [9:33] a nightly build there's no way to create [9:35] a nightly build [9:36] the only thing you can tell these kind [9:38] of people is hey [9:39] take the get tree and compile it and see [9:41] if it's works or not [9:44] and that works if you're people like us [9:48] but if you're a diver who's in [9:52] hawaii and has trouble with his dive [9:54] computer [9:55] and is running ubuntu or debian [9:58] uh it's not really a [10:01] very good solution right so even for [10:03] open source i don't think [10:05] uh maintainer distros should maintain [10:09] everything you should do the core and [10:11] the core is still going to be thousands [10:13] of packages right there's no question [10:15] about that [10:16] and then we have all the commercial [10:18] software and [10:19] debian is probably mostly people who [10:23] really don't care [10:25] uh i don't know maybe i'm just [10:29] projecting here um what is debian's [10:33] feeling about [10:34] like commercial databases and and stuff [10:36] like that i don't know [10:41] yeah so so i'm probably talking to the [10:44] wrong cloud but some other distributions [10:46] definitely have the whole thing [10:48] with no hey valve is actually using [10:50] debian isn't [10:51] they started off using ubuntu but now [10:53] they're using debian [10:54] right so even deviant should be aware of [10:57] these kinds of commercial packages [10:59] and for them they have to give a package [11:01] and right now they have to [11:03] pick not just a distro but a version of [11:05] the district