- 原文地址:贫困线下的软件
- 原文做者:André Staltz
- 译文出自:掘金翻译计划
- 本文永久连接:github.com/xitu/gold-m…
- 译者:Charlo
- 校对者:Chorer
大多数人认为开源的可持续性问题是很难解决的。做为一名开源开发者,我本身对这个问题的见解是比较乐观的:我坚信捐赠模式,由于它的简单和可扩展性。html
然而,我最近遇到了其余以捐赠为生的开源开发者,他们开阔了个人视野。在 Amsterdam.js,我听到 Henry Zhu 在 Babel 和其余项目中谈可持续发展,这是一个很是可怕的画面。后来,在吃早饭的时候,Henry 和我就这个话题进行了更深刻的交谈。在阿姆斯特丹,我还遇到了全职维护 Unified 项目的 Titus。与这些人的会面坚决了我对捐赠模式的可持续性的信心。它是可行的。可是,真正让我印象深入的是这个问题:这样公平吗?前端
我决定从 OpenCollective 和 GitHub 上收集数据,并对这种状况采用更科学的样本。我发现的结果使人震惊:有两个明显可持续的开源项目,但咱们一般认为的大多数可持续的项目(超过 80%)的收入实际上低于行业标准,甚至低于贫困线。android
我从 OpenCollective 中选择了流行的开源项目,并从每一个项目中选出年收入数据。 而后我查看了他们的 GitHub 仓库来计算 star 的数量,以及在过去 12 个月里他们有多少位“全职”贡献者。有时我也会在 Patreon 页面上查找少数几个拥有帐户的维护人员,并将这些数据添加到项目的年收入中。例如,Evan You 很显然从 Patreon to work on Vue.js 上获取资金。这些数据点让我可以衡量:项目受欢迎程度(用户数量的比例指标)、整个团队的年收入以及团队规模。ios
很难精确地计算每一个项目有多少用户,特别是由于他们多是传递用户,不知道本身在使用项目。这就是为何我选择 GitHub stars 做为一个不错的用户数量衡量标准,由于它计算的是可以意识到项目价值的用户(不像下载量能够包括 CI 计算机)。nginx
我总共收集了 58 个项目,这看起来多是一个小数目,但包含了从最受欢迎到最不受欢迎的各类项目。受欢迎程度对衡量捐助量很是重要,结果发现,不多有项目能够足够流行到得到公平的报酬。换句话说,在这 50 个最受欢迎的项目中,大多数都低于可持续发展的门槛。我以为,若是我能涵盖更多数据点,那些项目可能会比这些更加不受欢迎。这个数据集可能偏向于 OpenCollective 上的 JavaScript 项目,可是选择从 OpenCollective 采样是由于它提供了各项财务情况的简明数据。我想提醒读者,还有其余流行的开源项目,如 Linux、nginx、VideoLAN 等。最好将这些项目的财务数据合并到这个数据集中。git
经过 GitHub 数据和 OpenCollective,我可以计算出每一个“全职”贡献者每一年能得到多少项目收入。这就是他们的工资。或者更确切地说,这是在他们只从事开源项目、没有任何补充收入的状况下,经过捐赠所得到的工资。极可能有至关数量的建立者和维护者并无全职投入本身的项目。那些全职工做的人有时用储蓄来补充他们的收入,或者住在生活成本更低的国家,或二者兼有(Sindre Sorhus)。github
而后,根据最新的 StackOverflow 开发人员调查,咱们知道最低的开发者薪水在 $40k 左右,而最高的在 $100k 以上。考虑到开发人员的知识型工做者身份,且许多人居住在 OECD 国家,这个范围描述了开发人员的行业标准。这让我能够把结果分红四类:json
下面的第一张图表展现了团队规模和每一个 GitHub star 的“价格”。后端
超过 50% 的项目是红色的:它们没法让维护者维持在贫困线以上。31% 的项目是橙色的,这些项目的开发者愿意为低薪工做,而这些薪水在咱们这个行业内是使人难以接受的。12% 是绿色的,只有 3% 是蓝色的:Webpack 和 Vue.js。每颗 GitHub star 的收入很重要:可持续项目的收入通常在 $2/star 以上。然而,中值是 $1.22/star。团队规模对于可持续性也很重要:团队越小,就越有可能维持其维护者。安全
每一年捐款的中间值为 $217,这站在我的层面上是至关可观的,但实际上也包括那些出于营销目的的公司的捐助。
下一张图表展现了收入是如何随着受欢迎程度而增加的。
你能够经过 LibreOffice Calc 电子表格访问此 Dat archive 来自行浏览数据:
dat://bf7b912fff1e64a52b803444d871433c5946c990ae51f2044056bf6f9655ecbf
复制代码
虽然人气是绿色和蓝色的可持续发展的关键,但红色的也有受欢迎的产品,如 Prettier,Curl,Jekyll,Electron(更新:)AVA。这并不意味着从事这些项目的人很穷,由于在某些状况下,维护人员在容许贡献开源的公司工做。然而,它的真正含义是,除非企业积极地用大量资金支持开源,不然剩下的状况就是大多数开源维护者资金严重不足。仅就捐赠而言,开源在最佳状态下是可持续的(符合行业标准):当一个团队规模足够小的流行项目知道如何从一群捐助者或赞助组织那里筹集大量资金时。公平的可持续性对这些因素至关敏感。
因为可见性是捐赠驱动的可持续性的基础,“隐形基础设施”项目每每比可见的项目更糟糕。例如,Core-js 不如 Babel 流行,尽管 Bable 依赖于它。
Library | Used by | Stars | 'Salary' |
---|---|---|---|
Babel | 350284 | 33412* | $70016 |
Core-js | 2442712 | 8702* | $16204 |
一些建议的解决方案是在 BackYourStack 和 GitHub 的新贡献者概览 等工具的指导下,将知名项目的捐款“涓滴”到不知名的项目。若是知名的项目有巨大的盈余能够与传递依赖项共享,那么这种方法就会奏效。这几乎是不可能的,只有 Vue.js 有足够的盈余来共享,并且它只能与 3 到 4 个其余开发者共享。Vue.js 是一个例外,其余项目不能分享他们的收入,由于这会致使每一个参与者的收入都很低。
在 Babel 和 Core-js 的例子中,没有太多的盈余可供分享。Henry Zhu 在讲话中指出,资金已经很是有限。在这种状况下,Babel 彷佛是一个很显而易见的项目,但让我吃惊的是,Henry 告诉我,许多人虽然使用 Babel,却没有意识到它,由于他们可能将它用做传递依赖项。
另外一方面,低层库的维护者认识到须要与更多可见的项目合做,甚至合并项目,以提升总体知名度,受欢迎程度,从而提升资金。Titus 的 Unified 就是这样,这是一个你可能没有据说过的项目,可是在 MDX,Gatsby,Prettier,Storybook 和其余许多软件中使用了 Unified 和它的许多软件包。
一样,受欢迎的项目在财务上比不那么受欢迎的依赖要好,这也是不正确的。Prettier(32k stars)使用 Unified (1k stars)做为依赖项,可是 Unified 的年收入比 Prettier 高。事实上,许多依赖于 Unified 的流行项目在每一个团队成员身上得到的资金都要少得多。可是,Unified 自己接受的资金仍低于行业标准,并无向下(或向上?)涓滴资金。
其余时候,很难说当项目 A 使用项目 B 时,它必须捐赠给 B,由于可能 B 也使用了 A!例如,Babel 是 Prettier 中的依赖项,Prettier 是 Babel 中的依赖项。可能本次研究中涉及的许多项目彼此之间都有一个复杂的依赖关系网络,所以很难说这些项目中的资金应该如何流动。
对全部的维护者来讲,投入到开源上的总资金是不够的。若是咱们把数据集中的这些项目的年收入加在一块儿,就是 250 万美圆。工资中位数约为 $9k,低于贫困线。若是将这笔钱平均分配,大约是 $22k,仍然低于行业标准。
核心问题不是开源项目没有分享所得到的资金。问题在于,从总数来看,开源并无获得足够的资金。250 万美圆是不够的。从这个数字来看,创业公司一般获得的都远不止这些。
Tidelift 已经收到了 4000 万美圆 的资金,用于“帮助开源建立者和维护者得到公平的工做报酬”(引用)。他们有一个 27 人的团队,其中一些人是大公司(如 Google 和 GitHub)的前雇员。他们的工资可能没有那么低。然而,他们在网站上展现的许多开源项目在捐赠收入方面都低于贫困线。实际上,咱们并不清楚 Tidelift 为这些项目的维护者提供了多少资金,可是他们的订阅价格很是高。不透明的价格和成本结构从来帮助企业掩盖这种不平等现象。
GitHub 被微软以 75 亿美圆收购。为了让这个数字更容易理解,微软收购 GitHub 的金额是开源社区年收益的 3000 多倍。换句话说,若是开源社区把他们收到的每一分钱都存起来,那么在几千年后,他们也许就有足够的钱来一块儿买下 GitHub。如今GitHub也有了本身的开源经济团队 (这个团队有多大,他们的薪水是多少?),但 GitHub 新的赞助功能远不如 OpenCollective 透明。不一样于 GitHub 开放数据的一向作法(如提交日历或贡献者图表),当涉及到捐赠时,用户没法知道每一个开源维护者获得了多少。它是不透明的。
若是 Microsoft GitHub 真的想为开源项目提供资金,他们应该把钱花在刀刃上:至少为开源项目捐赠 10 亿美圆。即便每一年仅仅 150 万美圆也足以使本研究中的全部项目变成绿色。GitHub 赞助商的匹配基金是不够的,它每一年给一个维护者最多仅 $5k,这不足以将维护人员从贫困线下提升到行业标准。
而咱们还有数据代表,开源建立者和维护者的收入较低,而咱们有数据代表,“帮助”开源的公司得到了数百万美圆的收入,并且极可能是最高的工资。其余百万富翁和亿万富翁公司经过结合开源库和组件来构建专有软件来盈利。我理解 DHH 关于开源可持续性“没有悲剧”的立场,事实上,当我看到他的演讲时,我倾向于赞成他的观点。然而,出于好奇,我最近整理的数据向我展现了开源财务的真实状况,代表工做质量和薪酬之间存在严重失衡。全职维护者是技术大牛,他们负责问题管理、安全、处理恶意投诉,可是收入却每每低于行业标准。
开源可持续性的斗争是将人类从奴役、殖民和剥削中解放出来的千年斗争。勤劳诚实的人们付出了本身的一切,换来的倒是不公平的报酬,这已经不是第一次了。
所以,这不是一个新问题,也不须要复杂的新解决方案。这只是一种不公正的表现。解决这个问题无关乎从公司那里得到同情和道义行为,由于公司的根本目的不是作这些事情。公司只是遵循一些基本的社会金融法规,同时试图提升利润以及/或者统治。
开源基础设施是一种公共资源,就像咱们的生态系统同样。因为咱们的社会没有防止生态系统被开发的规则,公司从事工业资源开采。几十年来,这正在消耗环境资源,如今咱们面临着气候危机,经过科学共识证实这是对地球上全部生命和人类的重大威胁。开源盗用只是其中的一个小缩影,其后果没有那么严重。
若是你想帮助开源变得可持续,站出来帮助人类为社会制定新的规则,让权力和资本主义对滥用行为负责。若是你想知道这要作些什么,这里有一些具体行动的初步建议:
若是你喜欢这篇文章,考虑把它分享(tweeting)给你的关注者。
若是发现译文存在错误或其余须要改进的地方,欢迎到 掘金翻译计划 对译文进行修改并 PR,也可得到相应奖励积分。文章开头的 本文永久连接 即为本文在 GitHub 上的 MarkDown 连接。
掘金翻译计划 是一个翻译优质互联网技术文章的社区,文章来源为 掘金 上的英文分享文章。内容覆盖 Android、iOS、前端、后端、区块链、产品、设计、人工智能等领域,想要查看更多优质译文请持续关注 掘金翻译计划、官方微博、知乎专栏。