作者 | Luis Villa

译者 | 弯月 责编 | 王晓曼

出品 | CSDN(ID:CSDNnews)

长期以来,发布开源有两个基本测试:

  • 提供所需的功能;
  • 成功通过编译。

当然,如果能够提供其他人所需的功能肯定是好事,但最重要的是,首先开发人员能感受到乐趣,其次其他人也能运行。后来,随着软件包管理的兴起,人们更进一步要求:“打包好了吗?”后来,随着测试驱动开发的日益流行,又有了另一个要求:“通过测试了吗?”

这些新要求无疑是加重了开源维护者的负担,但(总的来说)维护者并没有太多抱怨。我认为出现这种情况有两个原因:首先,通常开发人员可以通过这些工作学习新技术;其次,这些技术对所有软件使用者有好处,被人们普遍接受,而不仅仅是企业开发人员。

但是,这种情况正在发生变化,而且不太利于开源和企业。

企业的新负担

2021年,开源形成了一套全新的标准,随之而来的还有一些新的工作。这些新标准包括:

  • 安全信息和审计:开源软件包的安全评估一般由第三方承担,要么由内部安全团队实施,要么通过 MITRE 常见漏洞与暴露数据库协调的分布式流程实施。根据 Linux 基金会的 CII 徽章等新的安全培训以及OpenSSF 和 Google 的 SLSA 等项目,现在流行“端到端”,这意味着维护人员必须负担起安全专家的责任,而项目本身也必须负责创建安全控制。虽然对整个行业来说,这种做法很有好处,但维护人员需要承担更多工作,而且也无法及时获得相应的报酬。
  • 法律元数据:根据传统,GNU、Debian 和 Fedora 等开源社区相信(有充分的理由),强制许可元数据的默认级别应该在软件包级别提供,而文件级别的许可信息不建议采用,甚至不予显示。SPDX 以及最近的 cleardefined.io 要求每个文件中的许可证信息必须完整、机器可读且准确。对于所有用户来说,这种做法固然没错,但实际上绝大多数收益都落入了资本雄厚的企业的口袋。与此同时,如果我们想让这个要求普及全球,则绝大多数重担都会落到维护者身上,而且还需要复杂的法律评估。(Linux 内核添加这些数据花费了数年的时间。)
  • 获取信息:业界的最新要求是,提供整个软件开发栈中的软件物料清单(Software Bills of Material,简称SBOM),其中不可避免地包含大量开源。同样,这种要求并非完全没有道理,而且长期以来开源语言社区率先采用的包管理技术一直在引领技术潮流。但是这项要求涉及的信息范围以及深度(包括一些提案中要求提供开发者的身份信息)是巨大的变化。而且这种做法的受惠者仍然是政府和大型企业 , 他们有能力对软件来源做详细的分析。

这些新工作与之前开源开发人员所承担的工作有很大的不同,我们应该思考一下为什么会这样,以及我们可以做些什么。

这些要求有作用吗?

正如本文开头的介绍,开源的不断成熟导致维护人员的负担越来越重。从某种意义上说,这些要求并不是什么新鲜事。但我想指出,从以下两个角度来看,这些新要求有问题的。

首先,这项工作的专业化程度越来越高,因此对个人维护者的学习并没有太多帮助。强大的开源开发人员总是拥有很多技能(不仅仅是编程,还有营销、人员管理等)。这些都是开源吸引力的一部分,你可以在此过程中学习新知识,并成长为更优秀地开发人员。但是,我们添加越来越多专家(例如,法律团队或安全团队)到开源项目中,则开发人员参与开源项目的价值就会降低。

换句话说:开发人员希望通过开源项目学习基本的编程知识,以及锻炼人际交往能力。但是,他们不一定有兴趣成为某方面的专家,比如法律与安全专家等。对于规模很大且拥有成熟团队的开源项目来说,这些要求能够展现出很好的效果,但开源领域中这样的项目很罕见。

其次,这些专业化程度越来越高的要求主要是为了服务特定类型的开源用户,即大型企业。这不一定是坏事,大企业也很重要。事实上,这些风险也确实应该认真对待。

但是,在开源的世界里,有人利用开源创建了数千亿美元的企业,而对于一些小型教育/业余项目(以及许多小公司)来说,这些没有资金支持的要求并没有什么好处。开发人员可能会专注于其他工作,因为他们进入开源的目的不是为了帮助世界500强企业。

换句话说,许多开源开发人员喜欢构建可以帮助自己和朋友的工具,甚至愿意为此牺牲夜晚和周末的美好时光。如果满足这些新要求主要是为了帮助大企业,那么我们可能需要找到其他胡萝卜来鼓励开发人员创建和维护新的开源项目。

根据 Tidelift 2021 开源维护者调查,开源维护工作的压力非常大,而且不讨好,经济上也没有任何回报。

为什么是“没有资金支持的要求”?

“没有资金支持的要求”通常指的是,让开发者完成新工作,却不提供任何资金支持。

有时,没有资金支持的要求也未必是坏事,很多时候,这样的要求是为了创建公平正义的项目,例如,地方政府理应承担的一些工作。许多安全计划都属于这一类的工作,虽然非常繁琐,但为了让所有人安全地使用互联网,安全工作是必不可少的。

但有的时候,这些要求只会让本已不堪重负的小实体的处境雪上加霜。而开源开发人员的处境也与之类似,本已筋疲力尽,却还要承担更多的工作,而且没有任何的经济补偿。

根据 Tidelift 2021 托管开源调查,超过一半的维护者已经退出或正在考虑退出开源,因为他们的压力过大。

调整激励政策

我们很高兴看到最近 Google 在向美国国家电信和信息管理局 (NTIA) 提交的一份关于 SBOM 的文件中提出了这个问题。

“不幸的是,维护数字基础设施的大部分重任都落在了无偿的志愿者肩上。NTIA 应该谨慎评估一些途径,为这些社区提供资金,并协助他们遵守行业的新法规。”

Tidelift也向 NTIA 提出了类似的观点。NTIA 在回应中承认“资金来源”是一项挑战,并表示:

“需要进一步研究以了解共享、保护和使用 SBOM 数据的最佳激励措施。”

鉴于本文所述相关工作日益专业化的动态,或者更直白地说,工作量的增加,我们很高兴看到软件领域的主流企业承认,随着开源新时代的到来,我们应该考虑开发人员的激励政策。作为一个行业,我们必须想办法共同解决这个问题,否则就会面临两败俱伤的局面:无法实现我们的目标,而开发人员也不堪重负。这是每个人都不希望看到的结局。

原文链接:https://opensource.com/article/21/8/open-source-maintainers
声明:本文为 CSDN 翻译,转载请注明来源。

开源新要求压迫下,正在撤退的维护者们!相关推荐

  1. 突发!Facebook一员工在公司总部跳楼身亡,传是程序员;微软开源新字体Cascadia Code;华为下一个研究前沿是AI...

    0.突发!Facebook 一程序员在公司总部跳楼身亡 据新浪科技援引外媒报道,一位 Facebook 员工从加州门洛帕克(Menlo Park)总部四楼纵身跳下,结束年轻的生命. Facebook ...

  2. 八大操作系统掌门人齐聚 1024 程序员节,千年岳麓见证开源新时代

    岳麓山下,风起云涌:湘江之滨,技术之约.10月23-25日,由CSDN等多家单位精心筹划的"长沙 · 中国1024程序员节"将盛大举行,硬核科技+开源文化+节日嘉年华&创新 ...

  3. 新工科背景下大数据专业导论课程的改革与探索

    新工科背景下大数据专业导论 课程的改革与探索 张祖平 中南大学计算机学院,湖南 长沙 410083   摘要:在申报与建设数据科学与大数据技术专业的热潮中,专业培养体系与相关课程大纲一直是各个高校体现 ...

  4. Spark 开源新特性:Catalyst 优化流程裁剪

    摘要:为了解决过多依赖 Hive 的问题, SparkSQL 使用了一个新的 SQL 优化器替代 Hive 中的优化器, 这个优化器就是 Catalyst. 本文分享自华为云社区<Spark 开 ...

  5. 新基建东风下,程序员这样乘风破浪!

    据IDC 发布<全球公有云服务市场(2018 下半年) 跟踪>报告显示,2018 年全球公有云 IaaS 市场规模达到 359.7 亿美元,同比增长 45.0%.早在 2016 年,中国成 ...

  6. 为开源新时代赋能 2021开源科技节完美落幕

    2021年4月9日,为期两天的第一届"开源科技节"于深圳市会展中心隆重召开. "开源科技节"由开源科技OSTech.Linux Foundation.华为.腾讯 ...

  7. FMT(基于rtthread)开源代码编译 win10下编译环境搭建及编译

    FMT(基于rtthread)开源代码编译 win10下编译环境搭建及编译 什么是Firmament? Firmament (FMT) 是一款基于模型设计 (Model-Based-Design, M ...

  8. C语言在建筑专业的应用,新工科背景下基于OBE的《C语言程序设计》课程建设

    摘要 针对高校工科专业<C语言程序设计>课程教学,分析了目前课程教学存在教材的内容组织不合理.教学模式落后.教学资源与教学匹配度不好等问题,这些问题严重阻碍了开展新工科背景下的以" ...

  9. 新零售场景下的AIPL分析

    新零售的时代,消费者产生消费的场景越来越复杂,传统营销意义上的AIPL模型也延伸出无数的可能性.AIPL链路分析的重点是针对每个消费者在不同阶段的特征进行深入挖掘,进而支撑市场.运营.商品等进行策略调 ...

最新文章

  1. 2016年第七届蓝桥杯javaB组 试题 答案 解析
  2. Ocelot简易教程(四)之请求聚合以及服务发现
  3. Git 初学札记(十)—— Reset 回退的三种状态解析
  4. vs2005 2008快捷键
  5. 九和一 Hidove聚合在线图床PHP源码
  6. CentOS 7.2下ELK分析Nginx日志生产实战(高清多图)
  7. mybatis中的#{}与${}在原理上的区别
  8. Nacos初探(2)-- 服务注册原理解析
  9. 通信中间件 Fast DDS 基础概念简述与通信示例
  10. 生态系统类型空间分布数据/土地利用数据/植被类型数据/NPP数据/土壤侵蚀数据/土壤质地分类/降雨量栅格数据
  11. ActiveMQ 下载和安装
  12. Ambarella面试小结
  13. 城市中心、华为、软通动力智慧城市联合解决方案发布
  14. Excel 隔行插入行V2022.7(支持win11,支持Office 和WPS)
  15. Vue CLI3不兼容IE11打开空白报错SCRIPT1003: 缺少 ‘:‘
  16. 医疗人工智能发展趋势及机遇
  17. 前端开发者如何用JS开发后台
  18. Python:读文件和写文件
  19. 向量数据库入坑:使用 Docker 和 Milvus 快速构建本地轻量图片搜索引擎
  20. 什么软件测试电脑配置够玩什么游戏,怎么看电脑配置 怎么看电脑可以玩什么游戏...

热门文章

  1. 随记 elasticsearch
  2. 小技巧 ----- Java中指定保留几位小数
  3. 作为技术工程师,到底需要怎样的专业能力
  4. Head First Java Stick 01
  5. 十进制四则运算计算器代码,输入为字符串
  6. SpringMVC 环境搭建
  7. [VNC] 云服务器 Ubuntu 16.04 安装 gnome 桌面并配置 VNC
  8. Pytorch permute()的简单用法
  9. mysql执行计划explain介绍_Mysql执行计划EXPLAIN详解
  10. python的常量变量_Python基础语法-常量与变量