闲聊琐事

  下载本文的PDF版本 PDF

自由和开源软件——以及其他市场失灵

开源与其说是一个目标,不如说是一种达到目的的手段。

Poul-Henning Kamp

经济学家和其他关注金钱的人——比如我的银行——在理解 FOSS(自由和开源软件)现象方面遇到了很多麻烦,最终他们似乎得出了结论,认为这根本没有道理。所以,他们随波逐流。

最近,FOSS 运动中的一些非常严肃的人士开始撰写冗长而深思熟虑的评论文章,讨论这一切是如何分崩离析,最终将以泪水和遗憾告终——除非!

请允许我不同意。

 

1991年以及那时的一切

计算具有科学根基,如果它不是开源的,那它就不是科学。如果你想因为焊接封闭的盒子而赢得诺贝尔奖,唯一的办法是在薛定谔的地狱装置杀死猫之前把它传送出去。

计算最初是开源的,正如每个人从计算机科学论文的引用中知道的那样,几乎所有基本算法和许多其他好东西都在C上发表,供所有人阅读和使用。

商业化利用科学成果几乎都不是开源的。极少数例外情况下,科学家和发明家之间的区别在于,后者除非社会授予他们对发明的垄断权,否则不会透露任何信息。

因此,商业化利用计算也会走向闭源——专利以及其他一切——并期望政治家让“市场”来解决这一切,这并不令人惊讶,而且完全正常。

如果经济学家称之为“市场”的抽象概念能够发挥作用,那似乎是最不糟糕的可能性,但市场失灵有几种类型。

一种失灵模式是一个玩家垄断整个市场,并且——在消除了所有竞争之后——可以决定什么对每个人都有好处,以及它应该花费多少钱。教科书上的例子是标准石油。只有政府才能解决这种市场失灵,但他们总是行动太慢,而且太不愿意这样做。

另一种更微妙的市场失灵是缺乏想象力和对客户需求的关注,即使可能存在竞争——甚至是残酷的竞争——但产品根本不是客户真正想购买的。

这些市场失灵总是会被局外人纠正,他们能够看到内部人士看不到的东西。美国汽车工业就是一个很好的例子,在我的有生之年,它已经需要三次扎实的当头棒喝

• 第一次是沃尔沃及其“安全带”和“碰撞吸能区”,这不仅完全缺乏风格,而且还可能给消费者一种印象,即汽车是危险的,而不是有趣的。

• 接下来是丰田,它销售的汽车只是工作,并且持续工作;没有市场调查曾报告说这对潜在购车者来说很重要。

• 最近,是特斯拉及其荒谬的电动汽车,美国汽车工业中的每个人都知道这项技术是死胡同,因为人们真正想要的是一辆价格实惠且可在街道上合法行驶的 M1 艾布拉姆斯坦克。

这让我想到了 FOSS 的用武之地。

你们中的一些人会记得 20 世纪 80 年代的商业计算,如果是这样,你们会记得它是多么糟糕。

IBM,这个难以想象的庞然大物,是如此之大,以至于“没有人会因为购买 IBM 而被解雇”,而且要么采用 IBM 的方式,要么就没门。然后是其他所有人,有时被称为“七个小矮人”,他们都想成为 IBM 而不是 IBM。他们都没有意识到,当客户要求“除了 IBM 之外的任何东西”时,这与铭牌上的字母无关,而是与滥用权力有关。

当 Unix 革命在 20 世纪 80 年代中后期到来时,每个人都会试图向你推销他们的“开放 Unix 计算机”,但从他们的产品目录到销售人员的行为,一切都尖叫着“供应商锁定”。而且这还是在他们的产品首先就相当糟糕且价格过高,以及每个人都积极且故意地试图与其他人不兼容的情况下。

理想情况下,一些聪明的公司应该从这种市场失灵中获利,而 Commodore 差点就做到了:CBM900 本应是一台物美价廉的 Unix 计算机,可以柜台销售,但由于产能原因,CBM 选择了 Amiga。

Unix 市场的失灵已经恶化到这种程度:我在 1988 年工作的公司花钱购买了当时能买到的最大的 Unix 计算机,但不是 Amdahl 大型机,结果却被供应商告知:“如果您在这台计算机上编译 C 程序,我们将无法为您提供支持!”

正是在这种彻底的市场失灵中,Minix、(Net/Free/Open)BSD 和 Linux 诞生了,中位年份大约是 1991 年。我可以绝对保证,如果我们能够以合理的价格购买到价格合理且可靠的 Unix 用于我们的 32 位 PC——没有任何附加条件——今天就不会有人运行 FreeBSD 或 Linux,除非可能是作为一种冷门的爱好。

比尔·盖茨也会少赚很多我们的钱。

但是,Unix 供应商并没有看到曙光并销售客户想要的东西,而是变本加厉地幻想自己会成为 IBM 而不是 IBM,甚至将 IBM 市场份额的下降解释为风终于吹到他们的帆上。实际上,IBM 大型机客户沮丧地发现,他们昂贵的 3745 前端与其说是一个通信杰作,不如说是一个精心设计的瓶颈,任何廉价的 PC 都可以轻松超越它。不久之后,他们还发现,更昂贵的 CPU 不适合“现代工作负载”,例如网页。

然后,由 FOSS 操作系统的可用性推动的互联网泡沫发生了,它比任何你能买到的操作系统都做得更好,不仅在价格方面,而且在任何给定硬件上的绝对性能方面。

因此,FOSS 运动诞生于彻底的市场失灵之中。

 

往昔 Linux 用户组的辉煌

我们许多 FOSS 人员都通过从公司那里获得的资金来支付生活费用,这些公司以一种或另一种方式从 FOSS 或其衍生产品中赚钱。

这让一些人感到悲伤,尤其是那些认为他们看到了光荣革命正在发生,并匆忙跑到大教堂门口去钉一些宣言或其他东西的人。他们认为正在发生一场革命并没有错,因为确实发生了一场革命——只是不是他们认为的那一场。

世界上最大的 Linux 用户组是 Skåne Sjælland Linux 用户组(又名 SSLUG),它拥有数万名成员。他们举办了大型会议,并影响了公共政策,因为当潜在选民成千上万地组织起来时,没有哪个政治家能够得罪他们。

SSLUG 所有成员唯一共同的事情就是对那些让他们的工作和生活痛苦不堪的 IT 供应商感到愤怒。想象一下,在一家公司担任 IT 人员,该公司推出了 Windows Vista。不是因为他们需要。不是因为他们想要。而是因为微软强迫他们这样做。

我不会提醒你 Windows Vista 有多糟糕;我将让作家尼尔·盖曼来做这件事,引用他在 2008 年 3 月 31 日的博客中写道的内容

“坐在机场,真的厌倦了笔记本电脑上的 Windows Vista。它不好用——我已经厌倦了等待几秒钟才能让东西出现在屏幕上,厌倦了等待半分钟甚至更长时间才能让应该立即发生的事情发生。这台可怜的电脑显然无法运行 Vista,而且不应该通过 Vista 认证,作者对 XP 中很容易做到的许多事情变得更难感到不满,也对 Vista 花了几乎一天的时间在硬盘上搜索以找到我正在撰写的一篇错放的介绍感到不满,还对它拒绝读取或复制戴夫·麦基恩为我刻录的 DVD 上的一堆文件感到不满(我最终将它们从 DVD 拖到戴夫的 MacBook 之一,从那里拖到我的 iPod,再从我的 iPod 拖到电脑上)。”

想象一下,因为微软强迫你这样做,你成为 IT 人员,将这种用户体验强加给同事。人们可以从冷铁中锻造马蹄铁,用那种愤怒。

但那种愤怒就是全部,真的,因为 FOSS 运动可以或愿意达成一致的事情不多,而且有很多事情可以争论,这就是为什么有三个 BSD 和谁知道有多少 Linux 发行版。

现在,硝烟终于散去,旧的 Unix 供应商都不复存在了,而 IBM 作为昔日辉煌的黯淡影子,已经通过收购红帽并将方向盘交给红帽,为自己历史悠久的商标寻求商业庇护。

SSLUG 也不复存在了,甚至连主页都没有了:最后一个离开的人一定是关掉了网络服务器。

 

我并非来赞美 FOSS

FOSS 中的 F 从未沉默。

回想起来,开源似乎与其说是一个目标本身,不如说是一种达到目的的手段,这个目的是自由:修复损坏事物的自由,摆脱那些认为他们可以紧紧抓住源代码,并将我们对源代码的无知作为武器,迫使我们所有人付费并运行 Windows Vista 的人的自由。

但是 FOSS 运动已经赢得了它想要的东西,无论老前辈们多么梦想他们作为年轻革命者的光辉岁月,它都不会回来了,因为 2024 年 IT 行业的挫败感和愤怒与 1991 年的完全不同。

一个非常大的不同是,越来越多的人意识到源代码是一种负债,而不是一种资产。对于某些人来说,这种认识沿着从 20 世纪 90 年代末的年轻青少年 FOSS 积极分子到今天的 BigCorp 的 CIO 的道路悄然而来。对于我们大多数人来说,我估计,这是维护遗留代码库日益繁重的负担。但最能说服任何人的事情是,一台服务器仍然运行着 N-4 版本的操作系统,因为我们还没有找出为什么当我们尝试升级它时它会停止工作。

但我们可以弄清楚。

而且我们会弄清楚。

因为我们有源代码。

我们有它全部 562,227 行 perl5 源代码。

 

Poul-Henning Kamp 在 Unix 世界游荡了 40 年,编写了许多广泛使用的开源软件,包括 FreeBSD 和 Varnish HTTP Cache 的一部分。他和妻子、两只猫和三台割草机器人住在丹麦,但他仍然不相信年龄越大越智慧的说法。

版权 © 2024 归所有者/作者所有。出版权已授权给 。

acmqueue

最初发表于 Queue 第 22 卷,第 1 期
数字图书馆 中评论这篇文章





更多相关文章

Amanda Casari, Julia Ferraioli, Juniper Lovato - 超越代码仓库
关于开源的大量现有研究选择研究软件仓库而不是生态系统。开源仓库通常指的是版本控制系统中记录的工件,偶尔包括围绕仓库本身的交互。开源生态系统指的是仓库的集合、社区、他们的互动、激励机制、行为规范和文化。开源的去中心化特性使得对生态系统进行整体分析成为一项艰巨的任务,社区和身份以有机和不断发展的方式交叉。尽管存在这些复杂性,但对软件安全和供应链日益严格的审查使得在进行关于开源的研究时,采取基于生态系统的方法至关重要。


Guenever Aldrich, Danny Tsang, Jason McKenney - 为那些还不理解的项目经理提供三部分和谐
本文考察了系统采购工具箱中的三种工具,这些工具可以加速开发和采购,同时降低项目风险:OSS、开放标准和敏捷/Scrum 软件开发流程都是 DoD 采购项目管理工具箱的强大补充。


Jessie Frazelle - 开源固件
开源固件可以通过使固件的操作更加可见且不太可能造成危害,从而帮助将计算带到一个更安全的地方。本文的目标是让读者感到有能力向可以帮助推动这一变革的供应商提出更多要求。


Marshall Kirk McKusick, George V. Neville-Neil - FreeBSD 5.2 中的线程调度
繁忙的系统每秒钟做出数千个调度决策,因此做出调度决策的速度对于系统的整体性能至关重要。本文——摘自即将出版的《FreeBSD 操作系统设计与实现》一书——使用开源 FreeBSD 系统为例,帮助我们理解线程调度。最初的 FreeBSD 调度器是在 20 世纪 80 年代为大型单处理器系统设计的。尽管它在今天的环境中仍然运行良好,但新的 ULE 调度器是专门为优化多处理器和多线程环境而设计的。本文首先研究了最初的 FreeBSD 调度器,然后描述了新的 ULE 调度器。





© 保留所有权利。

© . All rights reserved.