多数人认为开源的可持续性问题难以解决,不过,开源开发者 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。同时,团队规模也很重要:团队越小,维护者的收入高的可能性也就越大。

下一张图表揭示了收入随着受欢迎程度的变化:

人气 V.S. 公平

虽然有很多流行项目收入在贫困线以下,但这并不一定意味着从事这些项目的人很穷,因为维护人员也有可能在允许开源贡献的公司工作。不过,这意味着,除非这些公司提供大量资金支持,在开源方面发挥积极作用,否则剩下的就是大多数开源维护者资金严重不足的情况。

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é 发起倡议:不要让权力和资本主义者滥用开源,开源应当可持续。

André Staltz 博客原文:https://staltz.com/software-below-the-poverty-line.html

转自:https://www.oschina.net/news/107474/opensource-software-below-the-poverty-line

活在贫困线之下的开源软件项目——开源的可持续性斗争相关推荐

  1. 2015 年 Git@OSC 新增热门开源软件项目 Top 50

    在刚刚过去的 2015 年里,Git@OSC 取得了巨大的发展,收录了大量热门优秀作品.与<2015 年 Git@OSC 最热门开源项目 Top 50>一样,此榜单仍然是通过 Watch. ...

  2. 详细分析开源软件项目 Ajax.NET Professional 中的RCE 漏洞(CVE-2021-23758)

     聚焦源代码安全,网罗国内外最新资讯! 作者:Hans-Martin Münch 编译:代码卫士 2021年秋,MOGWAI LABS 实验室在为客户进行渗透测试过程中发现了开源组件 "Aj ...

  3. 甲骨文将关闭Sun开源软件项目托管网站

    在与Sun微系统公司合并之后,甲骨文将停止继续访问Sun开发的开源软件项目托管网站Project Kenai. 甲骨文星期二在更新的开发人员常见问题解答声明中说,Kenai网站将停止公开使用.甲骨文将 ...

  4. 开源软件项目的定性和定量分析指标 ———— CHAOSS 指标解析

    点击蓝字关注我们 "科学管理在实质上要求任何一个具体机构或机构中的工人及管理人员进行一场全面的心理革命,没有这样的心理革命,科学管理就不存在."  ---- 泰勒 <科学管理 ...

  5. 面向物联网的 23 个开源软件项目

    物联网市场呈现碎片化.无定形.不断变化的特点,其性质需要不仅仅像平常那样关注互操作性.开源在这方面表现不俗也就不足为奇了--客户犹豫不决,不敢将物联网的未来寄托在一种可能销声匿迹或变得难以定制.互联的 ...

  6. 开源软件和开源社区的反思

    蔡维德 李 磊 北京航空航天大学 引言 当前,许多新型技术凭借开源方式推广.开源 软件的发展由来已久,目前已有数以万计的开源社 区和模型.由于开源软件存在局限性,近来学术界 开始对开源软件和社区的发展 ...

  7. 开源软件介绍——开源基金会和开源许可证

    我是荔园微风,作为一名在IT界整整25年的老兵,今天我们来看一看世界范围内知名的开源基金会和开源许可证. 开源基金会 基金会是开源生态中的一个重要组成部分,用于资金的筹集与开源项目的前期资助与后期的发 ...

  8. 开源软件、开源硬件、……开源餐馆来了

    2019独角兽企业重金招聘Python工程师标准>>> 开源软件.开源硬件.--开源餐馆来了 转载于:https://my.oschina.net/abanger/blog/6179 ...

  9. 2016年度最受欢迎中国开源软件评选 - 开源中国社区

    2016年度最受欢迎中国开源软件评选 - 开源中国社区 地址:http://www.oschina.net/project/top_cn_2016?sort=1#layui

最新文章

  1. 批号数量调整单中批次数量和库存数量不一致
  2. python怎么装饰_如何理解python装饰器
  3. 《C++面向对象高效编程(第2版)》——2.16 识别成员函数的目标对象
  4. Spring常见注解
  5. Linux下使用expect实现跳板机自动跳转/免密登录/自动登录(转)
  6. 操作系统的功能和特征
  7. ☆ 10个小技巧,让你的 Python 代码更加优雅~ ☆
  8. npm 安装less插件_IDEA编译less插件LESS CSS Compiler的安装
  9. python3.6字典有序_为什么Python 3.6以后字典有序并且效率更高?
  10. mysql门派年龄最大的人_目前活着年龄最大的人
  11. 设计自己的基于Selenium 的自动化测试框架-Java版(1) - 为什么selenium还需要测试框架?...
  12. 曾创下IRR62%的超高战绩的VC离开中国:一切因人而来因人而去
  13. 利用WebMatrix安装drupal7 基于IID+SqlExpress
  14. java文件转码工具-native2ascii.exe命令简介
  15. ping tracert 用法
  16. 经典算法详解(2):费氏数列
  17. 名悦集团国庆出行自驾游攻略
  18. wireshark使用说明
  19. 泰拉瑞亚 服务器linux,Linux/CentOS7搭建泰拉瑞亚原版/mod服务器教程
  20. 定理证明器HOL的下载和安装

热门文章

  1. 网络摄像头转usb接口_Arduino + USB Host Sheild 实现USB鼠标转PS/2接口
  2. arm平台下linux c语言编程,简单分析针对ARM平台的C语言程序的编译问题
  3. mysql 显示右边所有名称_查询表 - [ MySql参考手册 ] - 在线原生手册 - php中文网
  4. UI设计灵感|注册登录界面设计灵感
  5. python 千万级数据处理_Python实现 ! 千万级别数据处理
  6. java之点击一次之后失效_JavaScript 事件绑定只能执行一次了,再次点击就变得无效 ,求助怎么回事...
  7. java代码修改数据库里图片_java如何修改sql存储的图片?
  8. 如何判断 cxgrid 双击了哪一列_学会根据三视图判断组成几何体的个数,助你中考数学满分...
  9. python递归创建目录_Python学习第172课——Linux中一次性创建多层目录以及递归列出所有子目录...
  10. MyBatis的概述及使用