06.24 开放源代码还能持续多久?开源维护者已经精疲力竭

开源的可持续性简直就是自相矛盾。世界各地的工程师倾注了他们的汗水,坦率地说,他们的心投入到这些激情项目中,这些项目支撑着现代互联网经济中的所有软件。作为交换,他们不求任何回报,只要求得到认可和帮助,以保持他们的项目的生命力并改进它们。这是一场不可思议的、分散的唯意志论运动,代表了人类最好的一面。

互联网和计算巨头——世界上最大的开源用户——总共价值数万亿美元,但你可能会认为他们的财富不知何故地流向了开源项目的维维者。工作日的工作,今天的维护者们很难找到时间来修复关键的bug,所有的时候都面临着用户不断的需求,请求免费支持GitHub。保持精力枯竭是一个巨大的挑战。

几乎就在两年前,纳迪亚·埃格巴尔(Nadia Eghbal)在福特基金会(Ford Foundation)发表的一份关于开源状态的里程碑式报告中,记录了这种令人痛苦的状况。将开放源码基础设施与“道路和桥梁”进行比较,Eghbal不仅全面概述了开放源码面临的挑战,而且还呼吁更多的开放源码用户关注其经济,并最终了解这些关键项目如何能够无限期地维持下去。

两年后,一群新的企业家、开放源码维护者和组织开始挑战Eghbal,开发解决方案以保持开放源码核心的志愿精神,同时发明新的经济模型以使工作可持续性。所有这些都是早期的,它们对开源的输出和质量的长期影响是未知的。但是每个解决方案都提供了一条可能从根本上改变我们对未来开源职业的看法的途径。

开放源代码还能持续多久?开源维护者已经精疲力竭

没有人看到道路和桥梁正在倒塌

两年前,Eghbal的报告总结了开源维护者面临的巨大问题,这些挑战在此期间基本上没有改变。这是“公地悲剧”的典型例子。正如埃格巴尔当时所写的,“从根本上说,数字基础设施存在搭便车问题。”资源是免费提供的,每个人(不管是个体开发者还是大型软件公司)都使用这些资源,所以没有人会被激励去回馈,认为别人会介入。这导致了一个脆弱的生态系统,就像开源软件达到其影响力的顶峰一样。

然而,挑战更加严峻。人们不仅仅是在搭便车,他们往往甚至没有意识到这一点。软件工程师可以很容易地忘记,在最基础的应用程序中,有多少技术已经进入了开源代码中。为节点生态系统提供模块存储库的npm公司在其注册表中列出了将近70万个项目。最近,NPM启动了一个新的React应用程序,在短短几秒钟内就安装了1105个库。这些项目都是什么?

更重要的是,他们背后的人是谁?库的依赖树抽象了所有的人,他们的工作首先使这些库可用并具有功能。这个黑盒子可能会让我们很难看到,在每个开源项目中,在幕后工作的维护者比预期的要少得多,而且由于缺乏资金,这些维护者可能很难在这些库上工作。

Eghbal以OpenSSL为例,该库为web上的大多数加密通信提供支持。随着“心脏出血”安全漏洞的发布,人们惊讶地发现OpenSSL项目是一个非常小的个人团队的工作,其中只有一个人全职工作(与行业规范相比,薪水非常有限)。

这种情况并不罕见。开源项目通常有很多贡献者,但只有少数人真正推动了某个项目的发展。要么因为精力耗尽,要么因为分心而失去这种单一的力量,一个项目就会迅速地随波逐流。

当自由不是免费的

没有人希望开源消失,或者让维护人员精疲力竭。然而,社会上存在着一股强大的文化力量,与商业利益相抵触。金钱正在腐化,削弱开源努力的自愿精神。更务实地说,在全球分布的志愿者团队中管理资金存在巨大的后勤挑战,这些团队可以在后勤上挑战工作报酬。

不出意外的是,开源可持续性的先锋们对事情的看法非常不同。凯尔·米切尔(Kyle Mitchell)是贸易公司的一名律师,同时也是“零许可证”(License Zero)的创始人。他总结道:“这确实是错误的。”

这个观点得到了流行的JavaScript编译器Babel的维护人员Henry Zhu的响应。“我们信任拥有数百万风险投资资金的初创企业,鼓励一种‘快速失败’的文化,但不知何故,向那些可能表现出多年奉献精神的志愿者捐款的想法是不可取的?””他说。

Open Collective的创始人主席泽维尔•达曼(Xavier Damman)表示,“在每个社区,总是会有极端分子。”我听到并理解他们,在一个理想的世界里,我们都有普遍的基本收入,我同意他们的观点。然而,世界还没有走向这样的收入模式,因此支持开源的工作必须是一种选择。他说:“不是每个人都必须为开源社区筹集资金,但是那些想要的人应该能够,我们也希望与他们合作。”

米切尔认为,最重要的挑战之一就是谈论钱的问题。他说:“钱摸起来很脏,直到它没有。”“我希望社区能承担更多的金钱责任。”他指出,“学习成为一名优秀的维护者并不能教会你如何成为一个优秀的开源承包商或顾问。”GitHub作为一个代码存储库服务非常出色,但最终并没有教会维护者他们工作的经济学原理。

支持开放源码的最大争论可能是决定针对谁或对象:单个贡献者—他们经常在多个项目之间移动—或者特定的库本身。

以费罗斯·阿布哈兹为例。Aboukhadijeh(坦白地说,他大约十年前曾是我在斯坦福大学的室友)已经成为开源世界的主要力量,尤其是在节点生态系统中。他在节点的董事会中担任选举产生的任期。他在GitHub上发布了125个资料库,包括流行的WebTorrent(1.7万颗星)和Standard(1.83万颗星)。

Aboukhadijeh一直在寻找一种方法来花更多的时间在开放源码上,但是他不希望依赖于在一个单一的项目上工作,或者在一个永远不会被人发现的私有公司中编写代码。于是,他求助于帕特雷翁作为一种支持。

(披露:CRV,我最直接的前雇主,是Patreon的投资者。我对这家公司没有积极或消极的财务兴趣。根据我的道德声明,我不写CRV的投资组合公司,但鉴于本文的重点是开放源代码,我提出了一个例外)。

Patreon是一个众包的订阅平台,也许最著名的是它所承载的创意。然而,如今,它也越来越多地被著名的开源贡献者使用,作为一种与粉丝联系并支持他们工作的方式。看到别人这么做后,阿布哈迪耶推出了自己的网页。他说:“一群人在创建补丁,这在我的JavaScript圈子里是一种模因。”今天,他的Patreon页面上有72位贡献者,每月为他提供2,874美元(每年34 488美元)的资金。

这听起来似乎有点微不足道,但他向我解释说,他还从不同的组织(比如Brave(带有实用程序的插件浏览器)和PopChest(一个分散的视频共享平台)提供资金,作为自己的补充。这使他每月多挣几千美元。

Aboukhadijeh说,Twitter在构建他的收入流方面发挥了巨大的作用。他说:“Twitter是开发者谈论事情的最重要的地方,也是对话发生的地方。”“在Patreon上取得成功的人(和我一样)在推特上发了很多微博,他们的表现确实不错。”

对于那些大赚一笔的人来说,他们的收入可能会被夸大。创建流行的JavaScript前端库Vue的Evan You。js每月收入为15206美元(每年182472美元),来自231位顾客。根据Graphtreon的数据,自2016年3月开始他的“Patreon”以来,顾客的数量一直在增长,尽管随着时间的推移,收入不断上升和下降。

Aboukhadijeh指出,一个主要的好处是他对自己的基金拥有所有权。他说:“我很高兴我做了一次巡逻,因为钱是我的。”

虽然Patreon是一种直接从用户那里获得收入的方式,但另一种方式是提供免费和商业双重许可。这就是凯尔·米切尔去年提出的零许可证模式。他向我解释说,“零许可证是一个非常简单的问题的答案,没有简单的答案:我们如何让开源商业模式向个人开放?”

米切尔是一个稀有品种:一个决定去法学院的终身程序员。长大后,他想要使用他在网上找到的软件,但“如果不是免费的,我小时候就不能下载,”他说。“这让我陷入了一些知识产权问题,这些问题为法律铺平了黑暗的道路。”

License Zero是基于two-clause BSD许可的许可协议,但是增加了一些条款,要求商业用户在90天后为商业许可付费,允许公司在购买之前尝试一个项目。如果其他许可不能用于购买(例如,因为不再涉及维护人员),那么语言将不再具有可执行性,软件将作为完全开放源代码提供。其想法是,其他开源用户总是可以免费使用该软件,但盈利性使用则需要付费。

米切尔认为,对于希望在开放源代码中继续努力的个人来说,这是正确的方法。“最重要的是时间预算——许多开源公司或拥有开源项目的人都是从服务中获得资金,”他说。问题在于,服务是公司独有的,而且要花时间才能把项目做得尽可能好。“如果赚钱的时间不是花在开源上的时间,那么它就会与开源竞争,”他说。

许可零无疑是一种文化上的飞跃,因为开源应该免费为所有用户付费。米切尔指出,尽管“公司一直都在为软件付费,他们有时甚至在可以免费获得的时候也会付费。”“公司关心的是适当的许可,这成为了获取收入的杠杆,同时仍然保持着开源软件的开放性和精神。”它也不强制开源维护者取消关键功能——比如管理仪表板或缩放功能——来强制销售。

更改现有项目的许可证可能具有挑战性,因此最好将模型用于新项目。尽管如此,它提供了对Patreon和其他订阅平台的潜在补充或替代,为个人开源贡献者提供了一种可持续的方式,以便在全职参与社区活动的同时,还能在他们的头上盖上屋顶。

支持组织:积极开放的集体

支持个人是很有意义的,但是公司通常希望支持支撑他们软件的特定项目和生态系统。这样做几乎是不可能的。为了给开源项目提供资金,公司需要复杂的后勤保障,比如让一个组织向它捐款(对许多人来说,让IRS相信这个组织实际上是一个非营利组织)。潮汐性和开放式集合是打开这些渠道的两种不同的方式。

Tidelift是由Donald Fischer领导的四个开源狂热分子的智慧结晶。费希尔是首席执行官,是通用催化剂和Greylock的前风险投资人,也是一位长期担任红帽公司的高管。在他最近的作品中,费舍尔投资公司开源生态系统的核心,如蟒蛇(侧重于科学和统计计算在Python),茱莉亚计算(集中在茱莉亚的编程语言),离子(一个跨平台的移动开发框架)和类型安全现在Lightbend(Scala编程语言背后)。

菲舍尔和他的团队想要创建一个平台,让开源生态系统能够自给自足。他解释说:“在某种程度上,我们感到沮丧的是,虽然开源已经占据了软件的很大一部分,但是很多开源的创建者并没有能够获得他们所创造的很多价值。”

费希尔解释说,Tidelift的设计宗旨是“在安全、许可和软件维护等领域提供保证”。这个想法起源于红帽,它将Linux商业化了。其想法是,当公司能够在关键漏洞和长期支持等问题上获得担保时,它们愿意为开放源码付费。此外,Tidelift还处理了为商业化建立开放源码的日常任务,比如处理许可问题。

费希尔认为,在收购Tidelift的公司与初创公司合作的项目之间存在一种互惠关系。他说:“我们正在努力使开源更好地为所有参与其中的人服务,这包括开源的创建者和用户。”“我们关注的是在上游开源项目中解决这些问题。公司购买的是保证,而不是排他性,因此,如果发现了漏洞,那么每个人都会得到修复。

Tidelift最初在JavaScript生态系统中发布,围绕着React、angle和Vue。但随着时间的推移将扩展到更多的社区。该公司已经从General Catalyst和Foundry集团筹集了1500万美元的风险资本,另外还有红帽前董事长兼首席执行官马修·斯祖利克(Matthew Szulik)。

费舍尔希望公司能够改变开源贡献者的经济状况。他希望社区从“生存和生存”的模式转变为“维持生计的收入水平”,而是帮助优秀软件的维护者“赢得巨大的成功,并获得显著的经济回报”。

在Tidelift专注于商业化和软件保障的领域,开放的集体希望开源本身的货币化。

开放集体是一个平台,为“集体”提供接受资金的工具,同时也提供机制,让这些集体的成员以民主和透明的方式花钱。

以开放的集体赞助Babel为例。Babel今天收到来自贡献者的年度预算为113,061美元。更有趣的是,任何人都能看到集体如何花钱。Babel目前有28976.82美元的账户,并且列出了所有的费用。例如,我们在本文前面遇到的核心维护者Henry Zhu,在6月2日花了427.18美元在旧金山和西雅图进行了两周的Lyft游乐项目。

开放集体(Open Collective)的创始人主席泽维尔•达曼(Xavier Damman)认为,这种彻底的透明可能会重塑参与者对开源经济学的看法。Damman将Open Collective与允许用户阅读网站代码的web浏览器的“查看源”特性进行了比较。“我们作为一个平台的目标是尽可能地透明,”他说。

达曼以前是传奇的创始人。当时,他创建了一个开源项目,旨在帮助记者接受匿名提示,并获得了一笔资金。问题是“我得到了一笔补助金,但我不知道如何处理这笔钱。”他想把它交给其他一些开源项目,但是“从技术上讲,这是不可能的”。“没有法律实体或文书工作,这笔钱是无法替代的。”

开放集体是为了解决这些问题而设计的。Open Collective本身既是特拉华州的c -corp,也是501(c)6个非营利组织,从技术上讲,它接收的所有资金都是由其平台上的任何一个集体所有,作为它们的财政赞助商。这允许组织向公司发送发票,并向他们提供他们需要的文件,以便写支票。“只要他们有发票,他们就有保险,”达曼解释说。

项目一旦有了资金,就由社区的维护者来决定如何使用它。“每个社区都有自己的规则,”达曼说。他指出,开源贡献者经常会把钱花在那些通常不会完成的无趣的工作上,Damman将其类比为“花钱让人们保持地方整洁”。“没有人想要清理公园,但是如果没有人去打扫,那么就没有人会去公园了。”他还指出,面对面的会议是收入的普遍使用。

Open Collective于2015年底推出,自那以来已经成为647个开源项目的大本营。到目前为止,流行的JavaScript构建工具Webpack创造的收入最多,目前每年317,188美元。该组织的一个主要目标是鼓励更多的盈利性公司向开源项目投入资金。开放的集体把主要捐赠者的标志放在每个集体页面上,让他们可以看到他们对开源的承诺。

达曼的终极梦想是改变所有权本身的概念。他设想,我们可以从“竞争转向合作,也可以从所有权转向共享”。

维持可持续发展

不幸的是,开源的可持续性还处于早期阶段。虽然Patreon、License Zero、Tidelift和Open Collective是提供可持续性基础设施的不同方法,但最终必须有人为使这些基础设施变得有用而付出代价。只有少数几个补丁可以替代工程师的日常工作,而我所依赖的Open Collective只有两个集体,它们甚至可以支持一个全职维护者。许可零和Tidelift太新了,不知道它们将如何执行。

但最终,我们需要将文化转变为可持续性。Babel的Henry Zhu评论说:“我们社区的文化应该是一个能够尽一切可能回馈和支持社区项目的文化:无论是员工时间还是资金。我们不应该只接受开源的消费而忽视成本,我们应该为它的可持续性负责。

在某种程度上,我们只是回到了公地悲剧中最初的搭便车问题上——有些人,在某个地方不得不付出代价,但所有人都能分享利益。

但是,这种变化可以通过我们所有从事代码工作的人——每个软件工程师和产品经理——来实现。如果你在一家以营利为目的的公司工作,那就带头寻找一种方法来支持那些能让你高效工作的代码。开源社区的分权和志愿精神需要每个财务贡献者都具有同样的分权精神。可持续发展是我们每天的工作。如果我们都尽自己的一份力,我们就能帮助维持人类所创造的一场伟大的智力运动,并永远终结开源可持续性的矛盾。


分享到:


相關文章: