社会与经济:决定开源软件生死的关键要素

诺贝尔经济学奖得主罗纳德·科斯写过一篇论文:《灯塔的经济》,探讨了收费问题是否应该由政府来掌管,私人能否解决收费的问题,从现实的经济学角度讲,是可行的。那么软件的源代码开放这种形式,遭遇的收费难的问题,是否能够通过自由市场的方式解决了呢?笔者就来捋一捋相关的现状。

Fri Dec 10, 2021 | 5200 Words | 大约需要阅读 11 分钟 | 作者: 开源之道 |

开源软件商业化面临的“困境”

一个无法证伪的命题

如果我们说,如果一款开源项目无法持续下去,其实大概率情况下,这款软件闭源也无法发展下去。之所以这个问题无法被证伪,是因为我们无法完成这个对照的实验,现实中我们通常见到的情况是倒着来的,也就是说有一些软件遭遇了发展危机,而从闭源转向了开源。

开源与闭源,在项目一开始的时候,就是面临着对立的非此即彼的选择:

0、闭源:招募团队在秘密的空间内进行开发

1、开源:在公开的所有人可以参与的互联网上进行开发

同一个项目,我们无法同时选择两个决定。也就是说这个项目的现实意义——能够解决问题,不是在这里体现的。开源都无法让项目流行;让更多的人参与;无法获得必要的可持续发展,闭源似乎更加不可能。这个问题无法证伪,所以只是猜想,做一次思维试验而已。

一个吊诡的现象

开源软件如果不是出现在地摊或者是以DVD方式出现在货架上的话,我们是看不到它的定价的,也就是说当一位计算机用户(消费者)在下载git这个重要的程序的时候,是不需要经过额外的步骤,诸如审核、注册、提交材料、付费等等程序,就可以获得,不仅有编译好的可直接使用的程序,还可以获得保持一致的源代码。

然而,自由/开源项目的主页从来不会说这都是免费的,也就是说他们这些开发者将是否付费、以何种形式付费、付出多少均交给了软件的用户/消费者,最友好的情况是,这些项目的网站会有一个接受捐赠和赞助的说明,以及如何汇款的方式。

对于现代人来说,这简直不可思议,从道格拉斯·诺斯,再到赫尔南多·德·索托,都说明了世界繁荣的基石——交换的秘密,即使是2017年获得的诺贝尔经济学奖的行为经济学家理查德·泰勒也要针对生产者做了如下智慧的建议:

经济学家看待人性时需要抱持和农民一样细致入微的态度。并非所有人都在搭便车,但如果你不当心,总有些人会把手伸向你的腰包。

​ ————理查德.泰勒 2017年诺贝尔经济学奖得主

除去一部分极为少数的将知识产区置于公共领域(如 SQLite)之外,自由/开源软件是受现有的知识产权保护的,换句话说,如果要使用这些软件的话,是需要遵守软件所发布的许可的,尽管这个许可是如上面所说的,并非明码标价,犹如计算机程序中的none变量与zero 的区别一样,没有标价,不是说无价,但也不意味着免费。

当然,现实的情况是,确实大多数用户或消费者是不去付费(特别说明,这里的付费有很多方式。[2])的。这就是我说的吊诡的地方。

理性的傻瓜

人性这根曲木,绝然造不出任何笔直的东西。

​ ———— 伊曼纽尔·康德

对于如此的吊诡之处,我们常人的理解,通常是会谴责不付费的消费者,认为他们搭便车,对开源项目是一种伤害,于是推理得出开源之所以发展不起来,是由于大量的不付费的存在。于是出现了,应该将软件闭源起来,明码标价,最好是垄断市场,聪明的比尔·盖茨就利用了人们这个错误的直觉,赚取了惊人的利润。

但是,这个解释是事情的真相吗?我们需要进一步的挖掘。

被经济学家张五常称赞为惊天之作——罗纳德·科斯的《社会成本的问题》发表,对于软件搭便车是伤害了软件的原创作者的做了直接的否定:

传统的方法掩盖了不得不作出的选择的实质。人们一般将该问题视为甲给已造成损害,因而所要决定的是:如何制止甲?但这是错误的。我们正在分析的问题具有交互性质,即避免对乙的损害将会使甲遭受损害,必须决定的真正问题是:是允许甲损害乙,还是允许乙损害甲?关键在于避免较严重的损害。

​ ———— [美] 罗纳德·H.科斯

鉴于软件的特性:非排他、非竞争性,也就是说,当人们复制了源代码,原创者并没有少什么,而且复制的成本几乎可以忽略不计。最好的策略就是一直生产下去,所有的主动都在要一直把这个项目做下去的工程师们,这也是为什么说Upstream first是最佳的选择。

所以,按照科斯的解释,自由/开源软件的用户/消费者只有付费(现金、contribute、捐赠资源)才能将自己的利益最大化,而且,项目的参与者们应该告诉用户这一点,布道师们不应该去谴责用户,而是要鼓励用户往自己最大利益想一想。

但是,人是有局限的,当人们处于某一种情景之下,并不会作出最优选择,在利用开源软件这块也确实是颇为遗憾的,例如焦急的上市产品、紧急的任务、对工程周期的估计、对互联网的不信任等等,大多数选择了搭便车。更为让人颇为可惜的是,没有人会去认真的去算开源这笔账。

现实,真实的情况,无论多么的令人难以接受,但是真实就是真实,不会因为情绪或感情而有所改变。

商人的创新之举

既然开源项目所生产的软件是有价值的,能够解决人们的问题,而仅仅是因为收取费用而让人苦恼,这显然不是什么多大的问题,总有一些聪明的人,既能够让客户享受到该有的服务,又能不至于自己亏本来做。

自由/开放源代码软件的本质之一,就是可以收取费用的,消费者给不给是另外一个故事了。

​ ———— 适兕 开源布道者

能够创造价值的东西,收费难归难,但不是不可能。因为价值就在哪里,全靠人们自行把握。能够把水卖成奢侈品,也能够把冰箱卖给爱斯基摩人,可以把梳子卖给和尚……更何况可以为人们服务的软件。

建立栅栏当然是谁都可以想到的,但是如何给自由/开源软件建立栅栏,而又不违背项目的许可声明,确实是一门艺术。看着给这种生意模式,经过历史证明,在匿名的状态下是无法收到任何费用的,如果想一直试下去,那只有失败。

但是,创新从来不会缺失,因为我们是人类!有问题总会想办法解决的。

Robert Young 及其合伙人创新性地采用了订报纸的模式(subscribe),将陌生人变成熟人,成功的造就了一家伟大的开源公司——RedHat;Mårten Mickos 同时采用GPL和EULA,将MySQL做成了几亿美金的公司以及互联网流行的关系性数据库;开放核心(open core)算作是极端的商用和开源的集合,更是成就了一众异军突起的公司,从刚刚上市的HashiCorp 、GitLab,以及过去不久上市的Confluent;利用互补原则,降低用户的整体TCO的硬件公司:Intel、IBM、HUAWEI等支持Linux、Kubernetes的厂商;云计算的流行,让软件即服务成为了有效的控制方式,上游优先的原厂服务和扩展性成为了商业的优势,如PingCAP;迂回的方式帮助项目可持续发展和成功的非营利基金会,从Linux基金会到CNCF到Gnome再到Python……让开源项目充满活力。

未来的可能性

但是,我们心里都明白,这些做的远远不够,也就是说为了让开源的优势发挥的更大,应用科斯定理,让所有的损失最小即皆大欢喜的局面成为现实,还有很长的一段距离。以下是笔者的脑洞,充满的奇思怪想,没有实践过,也没有考察过历史上有没有人做过,也就是想想而已。

政府接管

罗纳德·科斯写过一篇文章《灯塔经济学》,说明了即使如灯塔这样的看起来是公共设施,不依靠政府靠私人收费也是可行的。这篇文章主要目的是批判“黑板经济学”,也就是科斯整个学术生涯都在抵抗的方式方法。尤其指向了萨缪尔森。

开源是如此的重要,成为了现代世界的基础设施,如果民众自己解决不了收费的问题,那么政府一定会接管,尤其是大政府的社会,Linux发行版就出现了这样的端倪,开放原子基金会就出现了OpenEuler、龙蜥等发行版,这仅仅只是一个开始,虽然在互联网上,政府很难完全发挥作用,但是开源项目的fork特性,很轻易的就会让人想到制造一个分支,然后集中力量办事。

大政府还有一个特点,就是可以雇佣开发者,也就是企业不愿意去雇佣程序员做不能直接赢利的事情,政府是可以做的。这体现在所有的基础设施:公路、电力、自来水、桥梁、通信。基础软件也是可以效仿的。

另外,我们还可以再想的更远一点,人是工程的最大限制,开源已经20多年了,一代开拓者们正在退休,隔代是否能够掌握仍然是未知数,但是我们可以从历史中参考:Fortan、Cobol这些古老的项目,面临后继无人的尴尬境地。这个时候也只能靠政府了。

立法,强制消费者付费

曾经的盗版——侵犯他人知识产权的做法,在音像、图书、软件等介质上可谓是泛滥成灾,随着法律的建设和普及,以及技术的成熟,复制成本的高涨,这一现象正在消失。

开源软件,归根结底仍然是人民劳动的产物,以最大的宽容出现在世人面前,创作者不好意思定价和做限制交易,那么立法强制付费,这个现实中的例子,我们可以想到交强险,也就是说用户下载开源软件的时候,以一份保险的形式,当然是第三方,不是汽车公司来做,那么,这些消费者在未来遭受损失(高额的软件负债)时,可以获得赔偿。

理性人的出现,付费意识成为社会规范

付费可以增加供给,这是现代人的常识,当我们选择了一款开源项目作为自身业务或者是生活工作时,是希望自己所选择的项目更好,更强,自己也能获得更好的服务,以及更持续的发展。

我们可以反过来想,Linux 如果变得不可持续,那么依赖它所构建的所有平台都要遭受损失,如Android、Intel等等,懂得这个道理的人,就会持续的让Linux变得更好,如雇佣相应的工程师、赞助和捐赠、付费。

关于付费意识,本土还有着极大的提高空间,当我们去看RedHat等公司的财报,本土和欧美的距离还是很大的,我们知道,本土是全球第二大经济体,而这个软件消费还是有距离的。而这个只需要现有的消费者转变观念就可以做到。

当然,转变观念是一件非常难的事情,尤其是成年人,特别是成功的成年人。如果付费意识能够通过精算知识、历史案例等知识,让本土的开源软件消费者能够明白过来,并进一步传播开来。到那时,开源的发展才能让人更进一步的看出优势来。

美国人在餐厅就餐后,如果觉得服务满意的话,会给服务于自己的侍者小费。这是一种社会规范,尽管这个在其他大部分国家和地区都不适用,比如在中国,付给餐厅服务员小费,服务员就会感到不好意思而拒绝。如果你使用了一款开源软件,给这个作者打个赏,如果是企业的话,找到项目的团体,帮助他们发展的更好,是一种良好的社会规范。

这是一种最值得追求和奋斗的方式。

更强更隐匿的技术规制

没错,相对于版权来说,不易读懂和学术论文写作规范是更大的障碍。它们只是以不同的方式排除不同的人。

​ ———— 尤查·本科勒 《企鹅与利维坦:互联时代的合作、共享与创新模式》

无可否认,正是由于有了人类的分工,世界才有了充足的发展,软件能够从计算机产业中分离出来,也是依靠的分工的方式。软件的开发是一个技术含量蛮高的,任何人都需要花上数十年的努力学习和实践才能获得相关的技能,这些专业的人才想办法赚取行业之外的人们的钱,其实有无数种方法可以使用。极端的方式就是将代码封闭起来,售卖副本。

但是随着技术的发展,复杂度的提高,即使是开源也能找到非常好的方式来进行商业化,举例而言,代码也可以作为流的方式被计量,进而进行计费,NPM 在GitHub 犹如API调用一样,在达到某个阀值的时候就需要付费才能下载,但是人们仍然可以在仓库中克隆代码。人工智能进一步分离这样的做法,框架开源,但是训练和使用服务,则需要进行付费。

云计算的发展也是另外一个技术规制解决收费问题的方式,在云平台中,任何基于开源项目的软件产品和服务都可以纳入平台都计费模式,无论是虚拟机,还是容器,乃至流量都是清晰可见的。而这样的技术规制,软件的消费者是受益的。同理,软件的生产方也是受益的。

总结

德国经济学家弗里德里希·奥古斯特·冯·哈耶克曾经写过一本非常知名的书籍——《通往奴役之路》,他在这本书中论证道,当时正在计划中的福利国家不是为个人自由的战斗在和平时期的继续,倒是朝着专制的方向迈出了一步。因此,他认为追求计划经济,其无意识后果必然是极权主义。开源作为软件商品的一种形式这样的角度来思考,这本来是开发者让权给消费者,让大众了解内部的工作原理,以及允许参与的权利,但是消费者并不能全部领略其中内在的机理,没有监督和约束的交易,历史上还没有被证明能够持续下去,尽管开源在生产力方面表现出了极大的优势,以及代际传承的强大,但是,如果失去经济的支撑,终究难以走远。

目前来看,开源的收费,最大的来源,还是设置障碍(Open Core)模式所带来的,在未来能否有比RedHat 更好的模式,对于所以开源的参与者都是一项伟大的挑战,但是这值得尝试的:无论是提升社会认知,还是让立法者保护,甚至是让政府来接管。开源应该继续下去!直到历史证明其毫无意义。

参考资料

  1. 开源中的行为经济学现象——《“错误”的行为》读后感, 最后访问时间:2021.12.10
  2. 不设防的交换 ———— 如何为自由/开源软件付‘费’ ,最后访问时间:2021.12.10
  3. 《The Penguin and the Leviathan:The Triumph of Cooperation Over Self-Interest》,Yochai Benkler,Broadway Business,2010-04-27