查看原文
其他

为什么超 80% 的开源开发者苦苦挣扎在贫困线?

André Staltz CSDN 2019-07-15

【CSDN 编者按】开源开发者究竟该如何生存?这是一个业界为之困扰许久的问题。如果开发者只从事开源项目工作、且没有其他收入来源的话,那么开源项目的捐赠就是他们的工资。事实证明,超过80%我们以为具有可持续性的项目实际收入都低于行业标准,甚至苦苦挣扎于贫困线水准!

作者 | André Staltz

译者 | 弯月,责编 | 郭芮

出品 | CSDN(ID:CSDNnews)

以下为译文:

大多数人认为,开源的可持续性是一个难以解决的问题。作为一名开源开发人员,我以前对这个问题的看法比较乐观:我相信捐赠的模式,因为这种模式很简单,而且具有扩展性。

但是,我最近遇到了其他靠捐赠为生的开源开发者,他们改变了我的看法。通过Amsterdam.js,我听说Henry Zhu在Babel项目及其他项目中谈到可持续性,他所描绘的情况则比较糟糕。后来,在早餐时,我与Henry就这个话题进行了更深入的交谈。我还在阿姆斯特丹遇到了Titus,他全职负责Unified项目(https://unified.js.org/ )。与这些人会面后,我更加坚定了捐赠模式下可持续发展的信心——这种模式完全行得通!然而,对我来说更为重要的问题在于:这种模式公平吗?

我决定从OpenCollective和GitHub收集数据,并采用更科学的样本。结果却令人震惊:其中有两个开源项目明显具有可持续性,但大多数(超过80%)我们以为具有可持续性的项目实际的收入低于行业标准,甚至低于贫困线。


从数据来看


我从OpenCollective中挑选了一些流行的开源项目,并找出了每个项目的年度收入数据。然后,我查看了这些项目的GitHub代码库,统计了给星数量以及过去12个月里全职工作人员的人数。

有时,针对部分维护者,我也会参考Patreon上面的项目,并将相应的数据添加到项目的年收入中。例如,Evan You在Patreon上接受捐赠,用这些捐赠来为Vue.js工作。通过这些数据,我可以了解到项目的受欢迎程度(用户数量的比例指标),以及整个团队的年收入和团队规模。

我很难准确地推导出每个项目有多少用户,特别是因为有些用户是通过其他项目使用的,他们甚至都不知道自己在使用该项目。这就是为什么我利用GitHub上的给星数作为用户数量的度量,因为这些给星数统计的是人数,而不是下载计数(可能包括CI计算机),而人们能够意识到项目的价值。

我总共统计了58个项目,虽然数量上有点少,但这些项目既包含最受欢迎的项目,也包含人气最低的项目。人气对于扩大捐赠非常重要,事实证明很少有项目能够拥有足够的人气来获取合理的捐赠。换句话说,在这50个最受欢迎的项目中,大多数都低于可持续性的阈值。我相信,如果我能覆盖更多数据点的话,那么这些数据点反映出来的结果还不如这些受欢迎的项目。可能这个数据集略微侧重于OpenCollective上的JavaScript项目,我选择OpenCollective是因为它提供了各种项目的财务数据。我想提醒读者,其实还有很多其他流行的开源项目,如Linux、nginx、VideoLAN等。如果能够将这些项目的财务数据也纳入该数据集的话,那就更好了。

我通过GitHub的数据和OpenCollective,计算出了每个由“全职”贡献者支持的项目的年收入,而这个收入基本上就是他们的薪水。或者说,如果他们只从事开源项目的工作,且没有其他收入来源的话,那么这些开源项目的捐赠就是他们的工资。很大一部分创作者和维护者只是在项目中做兼职,而那些在开源项目上做全职工作的人,有时也会通过存款补充收入来源,或在生活成本较低的国家生活,或者像Sindre Sorhus一样双管齐下(https://twitter.com/sindresorhus/status/902954660285128704)。

接下来,根据最新的StackOverflow开发人员调查,我们知道低端开发人员的收入约为4万美元,而高端开发人员的收入则超过了10万美元。这个幅度表明了软件开发行业的标准,因为他们是知识工作者,其中很多人生活在经济合作与发展组织(OECD)国家。我可以将结果分为四大类:

  • 蓝色:6位数的薪水

  • 绿色:行业标准之内的5位数的薪水

  • 橙色:低于行业标准的5位数的薪水

  • 红色:低于美国官方贫困线的薪水

下面的第一个图显示了每个GitHub给星的团队规模和“价格”。

超过50%的项目显示为红色:维护人员的收入低于贫困线。31%的项目显示为橙色,这些开发人员愿意在该行业认为不可接受的工资下勤恳地工作。12%显示为绿色,只有3%是蓝色:Webpack和Vue.js。每个GitHub上给星的收入很重要:可持续项目的每个给星一般都超过了2美元。然而中位数为1.22美元/星。团队规模对可持续发展也很重要:团队越小,养活维护人员的可能性就越大。

每年的捐赠中位数为217美元,从个人角度来说,这笔数目很客观,但实际上这还包括了那些为自己的营销目的而捐款的公司的赞助。

下图显示了收入随着受欢迎程度的变化而变化的情况。

你可以通过LibreOffice Calc的电子表格访问这份Dat存档的数据:dat://bf7b912fff1e64a52b803444d871433c5946c990ae51f2044056bf6f9655ecbf。



人气与公平


众所周知受欢迎程度是绿色和蓝色可持续性的关键,但有一些受欢迎的产品仍低于贫困线,如Prettier、Curl、Jekyll、AVA。这并不意味着从事这些项目的人都很穷,因为在某些情况下,维护人员可以在允许开源贡献的公司工作。然而,这意味着,除非各个公司投入大量资金积极地支持开源项目,否则大多数开源维护者都会陷入资金严重不足的状况。

就捐赠而言,保证开源可持续性(公平且在行业标准范围内)的条件有:一个受欢迎的项目,拥有足够小的团队,知道如何从捐赠者或赞助组织收集大量资金——公平的可持续性对这些因素很敏感。

由于可见性是捐赠驱动的可持续性的基础,因此“隐形基础设施”的项目往往比可见的项目更糟糕。例如,Core-js不如Babel受欢迎,尽管Babel依赖于它。

有些解决方案借助BackYourStack和GitHub最近新发布的“贡献者”功能,让知名度较低的项能从知名度高的项目中分一杯羹。如果众所周知的项目有大量盈余,则可以通过传递依赖关系共享资金。然而,这几乎不可能发生,只有Vue.js有足够的盈余,而且只够支持3-4个其他开发人员。Vue.js是例外,其他项目无法分享他们的收入,因为这会导致每个人所得到收入都很低。

至于Babel和Core-js,Babel也没有很多盈余能够与Core-js分享。Henry Zhu在他的谈话中指出,他们收到的资金太有限了。在这种情况下,看起来Babel似乎是一个可见的项目,但是让我感到惊讶的是,Henry表示尽管很多人都在使用Babel,但他们竟然都不知道Babel,因为他们可能只是把它用作了依赖。

从另一方面来看,较低级别的代码库维护者认识到,他们需要与知名度更高的项目合作,甚至是合并项目,以提高整体知名度、受欢迎程度,从而提高资金。Unified Titus就属于这种情况,这是一个你可能没有听说过的项目,但是MDX、Gatsby、Prettier、Storybook和其他许多软件包中都使用了Unified和它的许多软件包。

流行的项目在财务上也不一定比那些不怎么流行的依赖项目强。Unified(1万颗星)是Prettier(3.2万颗星)的依赖,但Unified比Prettier的年收入更多。事实上,许多依赖于Unified的热门项目中,每位团队成员获得的资金更少。但Unified本身的收入仍然低于行业标准,更不用说通过涓滴向上或向下分流资金了。

有时候,假设项目A使用项目B,那也很难说A一定要捐钱给B,因为B可能也用到了A!Babel是Prettier的依赖,而Prettier也是Babel的依赖。此次研究中涉及的许多项目之间都可能存在彼此依赖的复杂关系网,因此很难说这些项目中的资金应该流向何处。


创收


开源收入的总金额远无法支撑起所有的维护者。我的数据集中所有项目的所有年收入加起来为250万美元,薪水中位数约为9千美元,低于贫困线。如果将这笔钱平均分配,则大约为2.2万美元,仍然低于行业标准。

核心问题不是开源项目没有分配收到的钱。总的来说,问题在于开源并没有获得足够的资金。250万美元远远不够,就这个数字而言,通常创业公司赚的钱都比这多。

Tidelift获得了4000万美元的资金,用于“帮助开源创作者和维护者获得公平的工作报酬”。他们拥有一支由27人组成的团队,其中有些人来自大公司(如Google和GitHub)的前雇员。虽然他们的薪水并不低,但是他们在网站上展示的许多开源项目收到的捐赠都在贫困线以下。我们不知道Tidelift真正给这些项目的维护者多少钱,但他们的订阅价格非常高。在历史上,价格和成本结构的不透明性一直是帮助企业掩盖不平等的罪魁祸首。

自从GitHub被微软以75亿美元收购以后,这个数字就更清晰了,微软为收购GitHub所支付给GitHub公司的金额是开源社区每年收入的3000多倍。换句话说,如果开源社区将他们赚到的每一分钱都存起来,那么要等到几千年之后,他们才可能有足够的钱集体收购GitHub。现在GitHub本身拥有自己的开源经济团队(这个团队有多大,他们的薪水是多少?),但新的GitHub赞助商功能远不如OpenCollective透明。与GitHub的传统开放数据文化相违(例如提交代码的日程或贡献者图表),捐赠方面是不透明的,用户无法知道每个开源维护者的收入是多少。

如果微软GitHub认真地帮助资助开源,那么他们就应该把钱花在需要的地方:向开源项目捐赠至少10亿美元。即使每年只有150万美元,也足以让我调查过的所有项目都变为绿色。GitHub赞助商的配捐计划远远不够,这项计划每年最多只给维护者5千美元,这不足以将维护者从贫困线提升到行业标准。

我们现有的数据说明,开源创建者和维护者的收入不高,而且有的数据说“帮助”开源的公司可以收到数百万,而且很可能是高薪。其他坐拥百万和亿万身价的公司通过结合开源库和组件来构建专有软件来赚钱。我理解DHH认为开源可持续性“并非悲剧”的立场(https://www.youtube.com/watch?v=VBwWbFpkltg&feature=youtu.be&list=PLE7tQUdRKcyaOq3HlRm9h_Q_WhWKqm5xc&t=1362),事实上当我看到他的谈话时,我也有同感。然而,我最近编制的数据(出于好奇心)表明了开源项目普遍的财政状况,表明工作质量与薪酬之间存在严重的不平衡。全职维护人员都是技术实力雄厚的人,他们负责问题管理、安全性、疏导投诉,同时得到的收入却低于贫困线的门槛。

开源可持续性的斗争就像几千年以来人类为了摆脱奴隶制、殖民化和剥削而坚持不懈的斗争。勤劳诚恳的劳动人民付出了辛苦的劳动,却得不到公平的待遇,这不是历史上第一次出现这样的现象。

所以说,这不是一个新出现的问题,也不需要复杂的新解决方案。这只是一种不公正的现象。赢得各个公司的同情和道德行为并不是解决这个问题的方法,因为这些公司的根本就是别有所图。各个公司只是遵循社会的一些基本财务规则,同时试图优化利润和/或支配。

开源是一项公共基础设施,就像我们的生态系统一样。由于我们的社会没有规则来阻止该生态系统被剥削,所以有些公司就会对这项资源进行开采。几十年来,这个环境几乎被耗尽,如今我们正面临着一场气候危机,科学的基本常识证明这场危机会对人类和地球上所有生命造成重大威胁。开源盗用只是其中一个不起眼的小问题,后果没有那么严重。

如果你想帮助开源维护可持续性,那么就应该站出来帮助人类为社会编写新的规则,让滥用权力和资本主义者的人为自己的行为负责。下面是一些具体行动的初步建议:

  • 只为将部分利润(至少0.5%)捐赠给开源的公司工作,或者是那些压根不依赖于产品开源的公司。

  • 如果你是高薪收入者,请考虑为开源捐款。

  • 不要放弃工会(我在芬兰写这篇文章,其中65%的工人都在工会)。

  • 不要丢弃新项目的替代许可证。

  • 给微软施压,让他们向开源项目捐赠数百万美元。

  • 通过发布像本文这类的数据研究,揭露各个公司的真相。

如果你喜欢这篇文章,请在下方留言。

原文:https://staltz.com/software-below-the-poverty-line.html

本文为 CSDN 翻译,转载请注明来源出处。

【End】


 热 文 推 荐 

☞麒麟 810 实体芯片亮相;1325 个安卓应用私自搜集数据;Linux Kernel 5.2 发布 | 极客头条

☞Google Chrome 工程师:JavaScript 不容错过的八大优化建议

☞人工智能 60 年技术简史

☞悲催!谷歌员工中位数年薪达 170 万元,却仍买不起房!

☞2019年技术盘点容器篇(三):阿里专家谈容器:既叫好又叫座? | 程序员硬核评测

☞微软洪小文:AI将成为人类未来最好的左脑

6月Top 20榜单出炉啦! 万万没想到区块链大佬竟在忙这个...

☞干货 | Python后台开发的高并发场景优化解决方案

☞泪目!Linux之父:我就是觉得苹果太没意思!

点击阅读原文,输入关键词,即可搜索您想要的 CSDN 文章。

你点的每个“在看”,我都认真当成了喜欢

    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存