开放协作的世界里,每一份贡献都值得回报

2022-03-28

前言

在前面三篇的博客中,分别介绍了活跃度、协作影响力和价值流网络三种开源世界中的度量模型,引起了广泛的关注和讨论。

但事实上我还从未正式从底层逻辑上介绍过我对度量这件事本身的思考,以及我对自己所做的工作的预期,这导致了大家在讨论背景上没有对齐,容易出现在不同的维度上讨论的情况。

所以这篇博客将系统的介绍一下我对开源度量这件事底层逻辑的思考,可能也有助于大家理解我做的工作背后的动机。

开源度量的核心目的——第一性原理

第一性原理这个词因为被 Elon Musk 用于解释 SpaceX 的火箭降本底层逻辑而走红,我这里也姑且引用一下。其含义就是把一件事抽离到最本质的核心,才能发现那些最基础的东西。

那么谈到更广泛意义上的度量,其核心又是什么呢?如果脱离了最重要的核心,当我们在继续谈度量时就失去了意义。

从我对度量本身的观察和理解,个人认为度量最核心目的是为了进行行为的指导,所以在进行任何度量之前,我们需要先明确我们希望指导的行为是什么?

例如开源项目运营的度量可能是为了了解项目当前活跃情况,更高阶一些是为了可以精准的运营开发者,使其可以深度参与到项目或成为项目的客户。

而作为科技企业开源办公室的视角则会不同,作为一个横向职能部门,开源办公室兼顾治理与指导的职责,所以更多时候其度量的目标为了防止出现一些问题。例如项目组已经解散而没有归档项目、项目成员离职后权限未能回收、项目存在法律或安全风险但没有及时发现等。当然也包括从整体上衡量企业的开源品牌影响力,以及和友商之间的对比,甚至利用开源技术生态中的技术趋势来帮助管理层进行技术战略调整等。

因为之前在开源办公室工作的原因,我也是站在较宏观的层面去看待数据度量这件事,包括之后的研究工作其实也都围绕这条线展开,所以很多时候可能并不具有非常明确的指导具体项目进行运营工作的作用。

然而随着研究的深入,开始意识到一些宏观的生态分析将不仅仅可以帮助我们完成开源办公室的一些工作职责,更可以对整个开源世界带来一些质的变化。

兼顾开源软件生态的效率与公平——开源经济学

提到开源,大家比较容易理解的是这种开放协作可以带来知识的复用,加速技术的流动与进步,产生巨大的社会效益。

同时开源被人诟病的地方在于商业化的困难,大量的优秀开源开发者开发出的软件被广泛使用,但这些开发者却并不会因此而得到利益。从 MongoDB、Elastic Search 等工业级开源软件修改许可证以防止云厂商吸血,到 Log4j 维护者发推抱怨无偿、无休修复 Bug 却还被人指责,再到 faker.js 作者因为无法从开源中受益,甚至在失火意外后无人救助,而且项目被商业公司使用盈利而没有反馈而怒删项目。

即便在开源圈子里,大部分人将乐于分享、利他、馈赠等作为开源的标签,但我们依然无法忽视开源软件生态中还不完善的经济环境,很多优秀的开发者和开发团队并没有获得与他们的创新和开发工作相匹配的回报。那么为何这样的模式依然取得一些不可忽视的成功呢?

虽然可能不是那么明显,但事实上我们目前看到的大多数成功的大型开源项目,都已经找到了自己的价值闭环,这个闭环可能不像我们想象的那么明显,但确实是以迥异的形态穿插在这个复杂的软件生态体系中。

从企业主导的开源项目到基金会托管的开源项目,从开源创业公司到个人开源开发者,事实上绝大多数开源项目都遵循着一条发展的主线,那就是先解决自己的问题,然后开源出来帮助其他人解决相似问题的同时,可以帮助项目进一步的发展,最终可能还希望去获取自己创造的价值相对应的回报。

解决需求

第一个阶段一定是解决自己的需求,即便有些开源创业公司可能是看到了某个技术机遇切入,但一般而言也需要创始团队在这个领域有足够的深耕,这也意味着这些开发者一定是早期该技术的开发人员或深度参与者。

开源协作

第二个阶段是开源出来,开源带来的好处已经被很多人分析过。

  • 即便是没有后续商业化需求的项目,开源出来如果可以解决其他的人的相似需求,最少也可以可以获得项目主创团队的技术声誉,这是最隐性却也是最直接和成本最低的一种收益。
  • 其次是通过开源的方式,让其他用户来使用和提建议与需求,甚至帮助进行周边开发或整理文档,帮助项目进一步迭代演化,更快的成为更好的项目。如果能做到这一步,从技术角度而言,项目就已经非常成功了。
  • 但随着项目开始出现了商业化的潜质,开源的其他好处就更加明显了。例如技术品牌带来的极低的获客成本、开放技术生态带来的更多资源触点等等。

价值回收

第三个阶段就是价值回收,这其实是目前我看到痛点最大的部分。事实上,任何的开源项目,当其已经做到一定的规模且足够优秀、拥有众多的用户、解决了实际的需求、创造了社会价值时,价值回收是必然需要走的道路,否则如果最精英的一批开发者永远都只在创造价值而不回收价值,那么显然是一个畸形的经济环境,不利于技术上的可持续创新。而且目前我们看到到很多开源领域的冲突与矛盾也都集中在价值生产与价值回报的不匹配。

好在现实中其实已经有很多价值回收的路径,例如:

  • 开源开发者因为在某个技术领域的深耕而获得一份薪酬颇丰的工作。其实这一类目前不在少数,毕竟很多类库或框架类的开源项目即使用户众多,也很难走上产品化的道路。
  • 大型科技企业开源项目有一部分可能无需考虑商业化,因为更好的支撑和解决内部需求的同时,树立的良好技术品牌和雇主品牌可以为公司带来更多的机会,已经是一种回报。
  • 基金会也是价值流中重要的一环,尤其作为一些基础软件,在中立组织中可以更好的发展,减少企业之间的摩擦,并且基金会可以回收一部分捐赠投入到项目中,以保证其持续发展。
  • 接下来就是大家经常讨论的开源商业化问题了。常见的模式例如 Open Core、双许可、SaaS 服务、生态产业链嵌入等,就不再赘述。
  • 另外就是近年来已经开始越来越成熟的捐赠模式,即开发者可以通过例如 GitHub Sponsor 或 Open Collective 等平台进行募捐,来维持开发者的长期独立开发工作。

但即便是上面看起来丰富的路径,成熟的模式,为什么目前的开源利益矛盾还是这么明显呢。抛开可以跑通上面路径的项目,我个人觉得:

  • 很多开源项目并没有商业化的能力,例如一些基础类库或框架型的项目,几乎没有可能变成直接可被终端用户使用的软件服务,他们更多是被二次集成和开发,这类开源项目几乎走不通商业化的道路。
  • 但事实上随着近几年的开源热,有些基础项目也有了较好的融资。但为了证明自己的长期盈利能力,其路线可能被异化为不断拉伸自己的产业链,直至延伸到可以对终端用户或客户收费的服务。这很有可能会阻碍基础软件的创新,因为这种上下游的延伸不仅会很快超出初创团队的驾驭范畴,而且在这种超长产业链上的投入是巨大的,由创业公司来承担这种风险是相当不合理的。
  • 另外,即便是上面提到的捐赠模式,也可能存在着马太效应,即最头部的极小部分开发者可以获得极大的关注,而稍靠后的开发者就因为缺少关注而无法受益。这一点虽然我目前没有精确的数字上的研究,但从业内观察来看,大致是如此。

上面大致给出了我对开源中目前价值流动的一个观察,回到这一节的题目,事实上应该有一门被称为「开源经济学」的学科,来研究开源软件生态中复杂的价值流动。但即便目前没有这样的分析框架,头部软件也找到了自己的价值回收路径,从而良好的运转了起来,这就是在开源软件生态中微妙的效率与公平的权衡。

然而随着更大规模的社会化协作的出现,价值流动将不仅仅是头部项目和开发者的需求,我们需要一种更加公平、高效、灵活、低成本的方式对开放协作中的每一位贡献者给予回报。这种机制将使得价值不仅仅在金字塔的顶部流动,而是可以渗透到每一个开发者之中,为中小项目的可持续发展、垂直生态的技术繁荣、个人开发者的职业进阶等提供最基本的保障。

数字文明新时代——超大规模社会化开放协作

从上面的描述中可以看到,我希望未来是一种可以在虚拟空间中进行超大规模社会化开放协作的世界,开源软件甚或是一般数字化制品的生产与消费将会有更低的流程成本,更重要的是任何开源世界中的开发者,都可以因为他对整个技术生态的贡献而获得回报。

这就回到了我做开源度量最重要的初心,也是我提出 OpenRank 的核心原因,即希望使用全域的生产、消费、社交网络数据来评判每一个项目和开发者的价值,但这种评判不仅仅是为了做一个排行榜,更重要的是成为开源软件世界经济体系的底层运转机制的基石。

OpenRank 脱胎于 PageRank,当年谷歌利用这个算法解决了海量互联网页面的价值评估问题。而今天,每个项目、每个开发者都是一个网页,而我们之间的关系也不仅仅是链入链出,我们彼此关注、共同交流、协作开发,生产出被这个所世界广泛使用的软件,难道这些关系不是一种比中心化的绩效评估更好的价值体现吗?事实上这种基于日常生产活动的评价体系就像是一种泛化和常态化的 peer review,每个开发者都在用脚投票,同时用自己的智力劳动去换取价值。

OpenRank 既关心生产者、也关心消费者,既关注当下、也关注过去。在这个数学模型下,我们每个人的一言一行都在体现着我们的价值导向。在这个数学模型下,资本不是最重要的话语权,是我们对其他人的关注、对一个组件的使用、提出的每个 Feature request 和每个 PR 上的代码讨论决定了我们的价值。在这个数学模型下,将不会有开发者开发出被广泛使用的项目,但却无法得到相应的回报。在这个数学模型下,长期价值是如此重要,以至于那些做出过重大技术贡献的开发者,可以仅凭他们过去的贡献就可以获得回报,从而投入到更长远的创新中去。

这就是我眼中的数字文明新时代,是一个巨大网络关系构成的虚拟世界,所有的行为数据将不再是冷冰冰的数字,而是我们给予其他数字生产者的价值认同。

因为在开放协作的世界里,每一份贡献都值得回报!