“桌面之年”一直是长期的战斗口号,但如今已沦为过时的笑话。我们经常谈论“桌面之年”,但我们并没有真正讨论过如何实现这个目标。“桌面之年”究竟是什么样的?

归根结底,问题在于应用程序——更确切地说,是应用程序市场。之所以没有应用程序市场,是因为自由软件刚起步时存在一些文化因素。

今天,我们拥有的是以发行版为中心的模式。软件由 OSV(操作系统供应商)分发,用户直接从那里通过 OSV 支持的任何打包机制获取软件。这种模式的演变,是因为在 1990 年代初期至中期,这些 OSV 的存在是为了将内核和用户空间编译成一个有凝聚力的产品。应用程序的打包是下一步,作为一种便利因素,以避免用户必须编译自己的应用程序,这始终是一项碰运气的尝试,因为开发人员的开发环境与用户不同。最终,OSV 乐于充当守门人,作为保持开发人员诚实和修复其操作系统特有的问题的一部分。OSV 将自己视为代表用户的代理,以提供高质量的软件,并且有一种感觉,即开发人员不可信任,因为当然,没有人比他们更了解自己操作系统的状态。

然而,这种模式对商业和开源开发人员都带来了一些挑战。对于商业开发人员来说,问题变成了如何最大化他们的受众,因为“Linux”市场由许多主要的 OSV 和数不清的小众发行版组成。商业应用程序开发人员将不得不针对各种主要发行版开发多个版本的应用程序,以免错失一部分用户。随着时间的推移,商业应用程序开发人员将倾向于使用 Ubuntu 或托管在其网站上的压缩 tar 文件。各种发行版会拾取这些 tar 包,并为他们的用户重新打包。如果您是开源开发人员,您有一个额外的好处,即发行版会自动为您拾取您的工作并打包它们,前提是您成功地获得了大量的追随者。但他们也面临着同样的困境。

对于开源开发人员来说,问题更加严重,因为 OSV 会获取他们的代码并对其进行修改,以便将其正确集成到他们的操作系统中。修改可能是由于库版本选择而导致的特定于给定操作系统的错误,或者可能是由于恢复了上游开发人员对应用程序所做的更改。操作系统中的每个应用程序都会有一系列仅在该特定操作系统中表现出来的错误。这些错误数据库在每个 OSV 中都会复制。而且,许多修复程序并没有返回到上游项目。甚至包的构建方式也可能不同——不同的编译器选项可能会导致不同 OSV 的行为不同。上游开发人员被迫尝试重现他们自己看不到的问题,迫使他们安装各种发行版以进行测试。

这种以发行版为中心的模式也使得开发人员难以与用户建立关系。如果用户从他们的发行版获取软件而没有经过任何思考,就无法围绕应用程序建立社区。为了将这种关系货币化,开发人员需要依靠吸引眼球来推销产品。例如,Firefox 能够分发其浏览器的每个版本,除了 Linux 版本。下载 macOS 和 Windows 版本允许 Mozilla 基金会请求捐款。因此,与其他两个平台相比,Linux 版本的用户捐款滞后。因此,Mozilla 倾听其他平台用户的声音多于 Linux 用户。

我认为,这种模式已经走到了尽头。为了进一步扩大 Linux 应用程序的市场,我们需要转向一种新模式。虽然我们永远无法消除以发行版为中心的模式(我们也不应该这样做),但为了达到我们需要的可扩展性,我们需要消除 OSV 作为应用程序分发的守门人,并允许开发人员控制他们如何分发他们的应用程序。随着 Flatpak 等无处不在的应用程序捆绑和沙箱技术的兴起,我们可以解决这些问题。可以在任何地方运行并完全按照开发人员意图运行的应用程序,然后将它们集中在应用程序商店中,将是未来的发展方向。此外,通过内置沙箱,我们将比 Windows 和 macOS 更安全,从而实现超越。

下一个障碍是,与 Windows 和 macOS 相比,Linux 开发工具链相对于非自由操作系统上可用的高度复杂的 IDE 工具而言已经过时。这导致切换到 Linux 的开发人员不得不处理来自 1990 年代的软件,这导致在 Linux 中开发应用程序时需要更长的交付周期。尽管 GitLab 和 GitHub 等开发托管站点提供了一些缓解,但这仍然是一个相当大的问题。一个例子是嵌入式设备开发人员——他们经常在 Windows 中编码,然后切换到 Linux 来刷写他们的设备。这些开发人员抱怨他们没有他们习惯使用的工具。我们需要专注于现代化我们的工具链,并能够满足所有技术领域开发人员的期望。我们在 GNOME Builder 方面取得了一些进展,它不仅可以轻松构建应用程序,还可以轻松创建可立即分发的软件。

最后,开发开源软件一直是一个不透明的过程。从一开始就从令人眼花缭乱的许可证集合中选择最佳许可证,以便利用开源开发的高度可扩展性,这非常令人望而生畏。此外,从文化上讲,自由桌面用户通常期望他们的软件几乎或完全没有货币成本。将自由与免费混淆一直是社区中的一个文化问题。寻找新的方法让开发人员从开源软件中赚钱是我们需要研究并推进的事情,以便让自由和开源软件在消费者层面传播。成功的迁移将确立 Linux 尚未统治的最后一个领域。

推动这种转变的力量正在发挥作用。像 自由应用程序峰会 (Libre Application Summit) 这样的会议——将于 2018 年 9 月 6 日至 9 日在科罗拉多州丹佛市举行——使我们在创建 Linux 应用程序市场以及为人们创建应用程序创造货币激励方面处于更积极的地位。我们拥有的应用程序越多,对 Linux 平台的吸引力就越大。虽然“桌面之年”不会在今年或明年实现,但在发行版、开发人员和用户空间架构师的合作下,我们正在缓慢地朝着我们的目标前进。

加载 Disqus 评论