Unix 桌面:在 Linux 问世之前
仅仅开源还不足以实现开放,还需开放标准和建立共识。
现在,由于有了安卓和 ChromeOS,Linux 已成为重要的终端用户操作系统。但在 Linux 之前,Unix 桌面起着重要的作用,尽管大多数并未留存至今。
追溯至 1993 年,我在 《PC Magazine》上做了一篇 Unix 桌面的特性评测。是的,在我成为 Linux 桌面用户之前,我是 Unix 的使用者。自从 1979 年 2BSD Unix 出现以来,我就是 Unix 的忠实拥趸。到了 1993 年,Unix 桌面繁多,我成功说服我们的杂志让我试用它们。
我和我的团队评测了来自 Consensys、Dell、Interactive Unix、SCO、Univel、 昇阳 Sun ,和 NeXT 的 Unix 版本。我们也注意到了来自 UHC、Microport 和其它公司的 Unix,但没有进行评测。我相信你们中的大多数人都未曾听说过这些。
那 Linux 呢?那时候,Linux 已经问世,而且我也使用过。但当时最先进的 Linux 发行版是 Softlanding Linux System(SLS),我无法说服编辑们 —— 或者说我自己,认为它是值得评测的。我本可以评测的第一个版本是 Slackware,它至今仍在我们身边,但在那时候,它的发布日期还有数月之遥。
现如今,只有 Dell 仍然存在,不过它之所以至今仍在业界,不完全是因为它的 System V Release 4(SVR4)Unix 发行版。然而,那些早期的 Unix 桌面中,仍有一个仍然活跃健康,且运行在大约 四分之一的桌面 上。
那个操作系统,当然,就是 macOS X,它是 NeXT 的 NeXTSTEP 的直接后裔。你可以说基于多线程、多进程微内核操作系统 Mach、BSD Unix,和开源的 Darwin 的 macOS,是所有 Unix 操作系统中最成功的。
但在当时看来,情况并非如此。并不是因为 Windows 比 Unix 更好。在 1993 年,可以称作 Unix 的竞争对手的只是 Windows 3.1 和 NT 3.1。
特别是 NT,在那时,它只能算是个笑料级别的服务器操作系统。直到 Windows NT 3.5 发布后,NT 才开始变得重要。
Windows 击败 Unix 的原因多种多样。其中最重要的一点就是微软确保所有硬件和软件供应商要么与它对齐,要么就无法 使用 Windows 或微软 Office。
那个时候,这是个极其重要的问题。我们如今看待 Mac,通常将其视为等同于或者超过 Windows PC 的竞争对手。但那个时期的情况并非如此。史蒂夫·乔布斯当时已被解雇,并且在苹果公司 1993 年的年度报告中,该公司报告显示其 净收入 已下降了97%。
然而,尽管微软的成功在很大程度上得益于其历史上的 不正当商业行为,但它并非靠不正当手段得以胜出。Unix 公司正在自我毁灭。
尽管有许多为 Unix 创立软件开发标准的尝试,但它们或者过于宽泛而无法做出实质性贡献,例如 POSIX;或者它们在 开放系统基金会 Open Systems Foundation 和 Unix 国际 Unix International 之间的商业联盟争端中陷入僵局,这就是著名的 Unix 战争。
在 Unix 公司忙于内斗的同时,微软正乐得财源滚滚。关键问题在于 Unix 公司无法就软件标准达成一致。独立软件开发商(ISV)需要为每一个 Unix 平台编写应用。而这些应用在桌面市场的份额都微乎其微。对开发者来说,为 SCO OpenDesktop(也被称为 OpenDeathtrap)、NeXTStep,以及 SunOS 分别编写一个版本的应用程序,从商业的角度来看,这完全没有意义。
这种情况听起来似曾相识吗?这种问题如今依旧困扰着 Linux 桌面,这也是我对诸如红帽的 Flatpak 和 Canonical 的 Snap 这样的 Linux 容器化桌面应用 如此钟情的原因。
等到双方于 1996 年最终在 The Open Group 合力和解时,已经为时已晚。Unix 在传统桌面上的市场被挤压出局,工作站基本上都变成了 昇阳微系统 Sun Microsystems 的天下。
那么,Linux 是如何崭露头角的呢?实际上,相比 Unix 发行版,它有两个主要的优点。首先,它是开源的。在开源的优胜劣汰机制下,好的代码能够生存,差的代码将被淘汰。我认为 Linux 使用 GPL,这点非常关键。
毕竟,如果成功只需要开源代码,那么我们现在都应该在运行如 FreeBSD、DragonflyBSD 以及 GhostBSD 这类纯 BSD 操作系统。但是实际情况却是,虽然 BSD Unix 系统至今仍然重要,却远远比不上 Linux 的市场份额。
Linux 基金会的开源供应链安全主任 David Wheeler 解释了这个原因:BSD 许可证存在的问题在于每隔几年就会有人说:“嘿,让我们基于这个 BSD 代码 开一家公司!”他们会利用这些 *BSD 代码,某些最优秀的 BSD 开发者,然后开发出一款专有的派生产品。但作为专有厂商,他们的分支成本高昂,维护不易,因此公司最终走向破产……如此反复。
“而与此同时,GPL 通过法律约束将大型商业公司聚集在一起……他们所有人都在作出贡献,并且感到安心,因为他们知道他人也被法律要求必须同样做。这就创造了一个安全的合作区。”
Linux 的另一大优势便是其领导,Linus Torvalds。有了 Torvalds 这唯一领导,Linux 规避了 Unix 陷入的内斗困境。
然而 Torvalds 的积极力量并不只在于他是一位天才开发者。尽管他的头衔可能笑称为“ 终生仁慈独裁者 Benevolent Dictator for Life ”,多年来,Torvalds 已经 学会 了如何与他人和谐合作。
有些人说,Torvalds 的人缘不够好,的确,他并不宽容对待愚蠢的行为。然而,我多次参加过 Linux Plumbers 会议,他和顶尖的 Linux 内核开发者们的合作过程中,我并未见到他们之间有过什么明显的矛盾。如今的 Linux 已是一个集体的功劳。
如果 Linux 的未来全都寄托在 Torvalds 一人身上,我也会担心 Linux 的未来。Torvalds 无疑是一位杰出的人才,一个伟大的程序员,但如果这就是 Linux 成功的全部,我们就会陷入一个痛苦的问题:一场 公交车事故,就会让我们失去整个 Linux。
幸运的是,Linux 的发行者和开发者们从 Unix 的历史中汲取了教训。
他们清楚,拥有一款成功的桌面操作系统,需要的不仅仅是开源,还需要开放的标准和共识。
我们可能永远都无法迎来那个传说中的 “Linux 桌面年”,但通过安卓和 Chrome OS,Linux 已然成为顶级的终端用户操作系统。经过漫长的等待,Unix 终于通过 Linux 成为了一款顶级的终端用户操作系统。
(题图:DA/c2e3142a-794b-4532-942e-1a3aea29acf6)
via: https://www.theregister.com/2024/01/27/opinion_column/
作者:Steven J. Vaughan-Nichols 译者:ChatGPT 校对:wxy