多数人认为开源的可持续性问题难以解决,不过,开源开发者 André Staltz 对此保持乐观态度,他选择相信捐赠模式。在与其他以捐赠为生的开源作者深入交谈后,André 更加确定该模式是可行的,但同时抛出一个问题:“它是公平的吗?”
带着这一困惑,André Staltz 决定从 OpenCollective 和 GitHub 收集数据,采取科学的样本进行数据分析。结果令他吃惊:的确存在可持续的开源项目,但人们通常认为可持续发展的大多数(超过 80%)项目收入实际上低于行业标准,甚至低于贫困线。
数据揭示了什么
首先,André 从 OpenCollective 中挑选了一些流行的开源项目,并统计了每个项目的年收入。紧接着,他在 GitHub 上查看这些项目,统计了 star 数量,以及各项目在过去 12 个月中“全职”贡献者的数量。另外,他也在 Patreon 中找到一些维护者,例如 Vue.js 的作者尤雨溪,并将这上面的捐赠数额添加到项目的年收入中。这些数据点可以衡量项目受欢迎程度(作为用户数量的比例指标)、整个团队的年收入和团队规模。
因为很难准确推导出每个项目有多少用户,André 选择把 GitHub 的 star 数作为一个衡量标准,毕竟一个独立用户只能贡献一次,不至于重复计数。
最终的样本一共为 58 个项目,听起来很少,但至少都是最受欢迎的项目。甚至就在这五十来个最受欢迎的项目中,大多数都低于可持续性阈值。
从这些数据中,André 计算出了每个项目的年收入,这基本上可以算作那些“全职等效”贡献者的全部薪水,如果他们没有其他额外资金来源的话。
根据最新的 StackOverflow 开发者调查,开发人员的薪水约在 4 万-10 万美元之间。基于此,André 将各项目的收入分为蓝、绿、橙、红四个等级:
- 蓝色:6 位数薪水
- 绿色:5 位数薪水,与行业标准持平
- 橙色:5 位数薪水,但低于行业标准
- 红色:薪水低于美国官方划定的贫困线
上图显示了每个团队的规模及每一颗 star 带来的收入。
可以看出,超过 50% 的项目是红色的:收入水平低于贫困线。31% 的项目是橙色,12% 是绿色,只有 3% 是蓝色:Webpack 和 Vue.js。
平均下来,可持续项目的收入一般都超过 2美元/star,中位数是 1.22美元/star。同时,团队规模也很重要:团队越小,维护者的收入高的可能性也就越大。
下一张图表揭示了收入随着受欢迎程度的变化:
人气不见得公平
虽然有很多流行项目收入在贫困线以下,但这并不一定意味着从事这些项目的人很穷,因为维护人员也有可能在允许开源贡献的公司工作。不过,这意味着,除非这些公司提供大量资金支持,在开源方面发挥积极作用,否则剩下的就是大多数开源维护者资金严重不足的情况。
André 找出了开源项目受捐赠的最佳可持续点(相当于维持行业标准):一个受欢迎的项目,拥有足够小的团队,知道如何从一群捐赠者或赞助组织筹集大量资金(当然这听起来很难同时做到)。
此外,由于可见性是获得捐赠的基础,“隐形基础设施”项目往往比可见的项目更糟糕。例如,Core-js 不如 Babel 受欢迎,尽管它是 Babel 的依赖。
Library | 用户数量 | Stars | “收入” |
---|---|---|---|
Babel | 350284 | 33412٭ | $70016 |
Core-js | 2442712 | 8702٭ | $16204 |
如果这些流行的项目有大量盈余可以共享给它的依赖项目的话,一切好说,但这几乎是不可能的。
还有一些情况下,两个项目是同时互相依赖的,比如 Babel 和 Prettier。
许多项目彼此之间存在复杂的依赖关系网,因此很难说清这些项目中的资金应该如何流动。
创收难以平衡
对于所有维护者来说,投入开源的总金额是不够的。如果将所有样本年收入加起来,是 250 万美元,薪水中位数约为 9,000 美元,低于贫困线。如果将这笔钱均匀分配,那大约是 22000 美元,仍然低于行业标准。
André 指出,价格和成本结构的不透明性在历史上一直帮助企业掩盖不平等。他拿 Tidelift 举例,该公司已经获得了 4000 万美元的资金,用于“帮助开源创作者和维护者获得公平的工作补偿”。他们拥有一支由 27 人组成的团队,其中一些是来自大公司(如 Google 和 GitHub)的前雇员。他们收到的薪水可能不会很低。然而,该团队网站上展示的许多开源项目都在捐赠收入的贫困线以下。我们实际上不知道 Tidelift 给这些项目的维护者多少钱,但他们的订阅价格非常高。
GitHub 被微软以 75 亿美元收购,这一金额是开源社区每年获得的 3000 多倍。André 认为,被高额收购的 GitHub 赞助功能中的匹配基金是不够的,它每年最多只给维护者 5 千美元,这不足以将维护者从贫困线拉到行业标准。
所有这些数据让 André 看到了开源财务的默认现实:工作质量与薪酬之间存在严重的不平衡。全职维护人员是技术上有才能的人,还要负责管理 issue、维护安全、接受投诉,同时薪水却低于行业标准。
André 将开源基础设施比作生态系统:由于我们的社会没有规则来阻止生态系统被剥削,近年来各种资源被快速消耗,人类面临气候危机。开源也是一样,如果不把它变得可持续的话,那么将产生严重后果。
他甚至把开源可持续升华到这样高的层面:“开源可持续性的斗争是人类摆脱奴隶制、殖民化和剥削的千年古老斗争。这不是第一次勤劳诚实的人为了不公平的补偿而全力以赴。”
最后,André 发起倡议:不要让权力和资本主义者滥用开源,开源应当可持续。
所谓知识产权甚至“可持续”的本身就是站在这个先入为主的角度上考虑的:经营必须是个问题——全然不顾讨论的是“项目”,还是项目的涉众。特别地,如果是后者,“产权”的重要程度未必有多少优先性。
一些公益性项目纯粹亏钱并不是问题,只要能维持经常性外部收入;衡量这类项目运营绩效的是投入转化的有效性而不是盈利。
这样,要靠经营收入来维持的开源项目先天就是(财政上的)技术性贫困的:这意味着它们的日常维护成本已经需要和典型的非开源单一商业项目相提并论,需要谨小慎微的运营和成本核算“自负盈亏”,而失去了显然的其它选项,在灵活性上有先天不足。
考虑软件行业的一些项目,特别是基础设施很大程度已经算公益性项目了,包括最主流的一些操作系统、工具链和浏览器的核心。虽然不是没有直接竞争的商业项目,但后者在占有上明显弱势,而跟投入无关。反过来倒是有不少在此基础上开发的产品,但其产出就单独项目来看和实际投入并不相符。这显然不可能能作为声称这些上游项目的失败的理由,反而说明了成功——即便上游开源项目的质量还未必有竞争性商业项目的好。这种性质的项目收割的市场恐怕已经无法通过商业规则的改变挽回。因此这方面需要担心的其实是反过来的问题:技术上更优秀的项目如果不开源,是否无法和现有的事实垄断的开源项目公平竞争?如果不能,如何避免损害最终用户的利益?
想不清这点的可能会认为开源项目的涉众是在乞讨;但事实相反,他们是在盘剥市场——以一个同时避免仅通过企业名义运营会遇到的主要风险的方式。
虽然这现在听起来有些阴谋论,但随着依赖层次的加深,一般的项目越来越难保持对大多数人公开透明乃至造成损失,是正在实现的事实。(例如,某些著名的安全项目缺乏审计而引入安全漏洞。)
结果可能会是个反乌托邦:作为用户,你被迫降低你的信任基准,因为你别无选择另起炉灶。这和商业性垄断的下场根本是一样的。
说到底,滥用的底气并不是资本,而是绑架用户的选择能力。
至于具体维护者是不是能参与其中,这并没法一概而论;不过过度鼓吹具体项目可持续获得经营性收入的做法,给阴谋家提供的便利可能是最大的——最直接地,不利于稳定原作者对项目的控制权。
这是因为,大多数的普通开发者并没同时有兴趣和能力做到让开源项目保持质量的同时良好运营。现实中越依赖运营提供项目的可持续性资源,越要求引入其他专业人士。后者和生产者的目的并不是重合的,同时因为取得收入的地位而有在项目发展上有话语权。
只要开发人员不持有不可替代的技术,相比之下是纯粹的弱势。被取得控制权、异化为雇工和雇主的关系看起来也是大势所趋。
摸着良心想想,这种“模式”真的是项目的发起者或者用户这些一开始就最相关的涉众想要的吗?
1.“不要让权力和资本主义者滥用开源,开源应当可持续”的倡议,重点看起来是前半而不是后半部分。
这样,动机恐怕就是利益分配不均的问题罢了。(再仔细想想,议价资格不对等的原因是啥?)
这和上面的图表一样暗示了项目就该靠运营收入取得收益为纲的观点。
2.很多时候,获取经营收益的必要性和目的未必有很多人想象得那么明确。
一个已有的例子是,主流的公有云服务提供商在早期很多是根据自身需要才建设了大规模基础设施,之后为了节约运营开支才发展了平台技术,并非一开始的目的就是盈利而提供所谓的“云服务”。
如果所谓的云市场开发失败而没法盈利,只要减少了成本压力,这样做仍然有其显然意义。
对企业尚且如此,对不明确以盈利为目的的开源组织和个人来讲,就更能体现出通过单一项目渠道获取收入评价“可持续”的片面性了。
——谁担保你能知道项目方台面以下的需求呢?
比如vue文档官网首页文字广告一个月几千块钱吧,其他广告位我不知道。
像企业性质的国内微擎、人人商城、discuz当年都活的不错,
国外craftcms,wordpress也一直有自己模式,更不用说redhat,sun,mysql,
开源带来的成就感,名气、技能和人脉成长,也正是大部分个人开源作者所想要的吧。
以我国出版社为例,一次出版至少2000本。这是出版社的最低利润。4000本左右作者不亏。总之,卖出越多,出版成本相对越低。每本20元计卖5000本赚5万妥妥的。
以写作成本算,每小时约写1000个字,一本书至少需要10万字,因此最快需要100个小时完成。按996工作算,需要8.5个工作日,按955算,需要12.5个工作日。 由于一个月有20个工作日。 以此计算,每个月出两本书,折合月薪至少8万元。
以此可以看到,写好代码月薪也就2~3万,写好文档月薪8万起。而按我国图书市场的IT书籍质量看,99.99%的码农只有写好代码的意识,没有写好文档的想法。可怜且可悲!!!