开源困境:Log4j2 维护者发声:没有工资,还要挨骂!!

news/2024/7/7 21:14:05

欢迎关注方志朋的博客,回复”666“获面试宝典

文 | 罗奇奇
出品 | OSC开源社区(ID:oschina2013)

基于 Java 的日志记录工具 Apache Log4j2 近日出现了一个高危漏洞,攻击者可以利用其 JNDI 注入漏洞远程执行代码,此漏洞牵涉面非常广,以至于国内外的个人或公司用户都对此高度关注,而 Log4j2 开发组在漏洞曝光后及时发布了Apache Log4j 2.16.0维护版本,默认禁用 JNDI,使此漏洞得到控制。

Log4j2 的维护者之一 @Volkan Yazıcı 在推特上吐槽:Log4j2 维护者只有几个人,他们无偿、自愿地工作,没有人发工资,也没人提交代码修复问题,出了问题还要被一堆人在仓库里留言痛骂。

ad329054d24508e97db5e9987dd53034.png

Log4j 维护者一直在为缓解措施而失眠:修复、文档、CVE、对查询的回复等。然而,没有什么能阻止人们痛骂(bush)我们,因为这份没有报酬的工作。其实我们都不喜欢这个出于向后兼容性问题而需要保留的功能(指 JNDI )。

这是一个非常现实的问题,我们姑且将这个问题称之为“开源可持续性问题”。通常来说,一个开源项目,要不就是反响平平无法形成生态,导致开发者热情逐渐降低、慢慢停掉;或者项目是大热门,很多个人和公司都在用,但 ——— 除了出问题的时候问一下,几乎没有人会为开发者提供财务支持或贡献代码修复。

而那些使用免费资源而从不回馈社区的公司,他们对开源软件的利用一直是开源项目维护者的痛处。他们使用开源项目达到企业成本最小化和利润最大化,然而这些利润跟开发者一毛钱关系没有,甚至还有公司出了问题赶紧甩锅给开源作者,比如前段时间curl 作者吐槽苹果把他当做免费工具人:

“想象一下,一家市值万亿美元的公司将各种开源组件应用到自己的产品中,每年赚取数十亿美元的利润。当这家公司的一个用户向它提供的产品寻求帮助时,公司却把用户推给开源项目。这个开源项目是由志愿者运营和维护的,这家公司从未赞助过一分钱。”

这样的情况已经持续了相当一段时间,不过现在已经有人在思考这个问题,并给出了一些权衡的建议。上周六,谷歌密码学家和 Go 语言安全负责人 Filippo Valsorda 在个人博客呼吁:开源项目维护者应当和那些使用软件的公司进行更专业的交流,以获得付费支持,使开源更具可持续性。

Filippo 指出一个问题:目前大多数开源项目维护者属于以下两类之一:志愿者或大公司员工,有时两者兼而有之,但这两种模式其实都不健康。 一个成功项目的普通维护者其实有资格成为高级软件工程师,这些人每年可以轻松赚取 15W-300W+ 美元的年薪,但现在他们的开源项目经济来源只有 GitHub Sponsors 和 Patreon(一个募捐网站),这是两种不严肃且不稳定的薪资来源。

而被聘为大厂的全职开源员工也并非上策,踏入公司的第一步你就成为了资本的一部分,随着主管和绩效组的“如何证明你的工作和工资相匹配?”开发者开始背上各种 KPI ,主动或被动地卷,将越来越多的时间花在努力证明自己的工作和价值都非常重要 —— 在这种压力之下,大部分开发者将逐渐丧失对开源项目的热情,这种情况在多个公司和生态系统中一遍又一遍地上演。

综合目前的情况,Filippo 提出了一个新的观点:既然大公司需要项目供应链安全和质量达到标准,那么他们就有必要为使用的开源项目付费 —— 公司可以跟开源软件开发者建立合同关系,按照市场价的薪资支付,然后要求开发者保证项目的质量和漏洞问题。反过来,项目的维护者仍然可以自由地持续关注项目,优先考虑项目的长期健康状况,并满足公司对项目的要求。

这种流程和生态的建立需要一些时间,重点在于如何转变公司的态度 —— 公司,尤其是资本控制的上市企业,完全没有为大型产品、项目和服务核心的开源组件付费的热情,它们只会在开源许可证和法律底线的条件下做利益最大化的事情,而不是“公平交易”。而目前流行的一些许可证,像 Apache 、MIT,都是提供所有内容但要求的东西很少,更进一步满足了企业白嫖的需求。

目前世界 500 强企业所使用的许多重要的开源项目都由志愿者在下班后的业余时间维护,这些企业甚至连代码安全性都懒得审查和测试。开源维护者创造了大量价值,但几乎一无所获,这种开源文化是无法长久持续的,是时候做出一些改变了 —— 开源维护者这个角色应当成为一个真正的、有适当报酬的职业,而不是依赖寥寥无几的捐款的业余爱好者或者企业的免费劳动力。

3f2df539f63af233b09390ab429ee51b.png

题外话:

Log4j2 的开发者和维护者 Ralph Goers 在 GitHub 上仅有 3 名赞助者。

我是 Apache 软件基金会的成员,也是 Apache Commons、Apache Flume、Apache Logging Services 和 Apache Maven 的 PMC 成员。我创建了 Apache Log4j 2的初始版本,并继续将我的大部分精力放在提供支持和改进上,以使 Apache Log4j 2 成为目前从事软件架构师全职工作的 Java 开发人员的最佳日志记录框架。我在业余时间从事 Log4j 和其他开源项目,我通常从事我最感兴趣的那些问题。我一直梦想着全职从事开源工作,希望您的支持能实现这一梦想。

2eb5ba500c52b2178d49248a1f0193af.png
热门内容:
  • IDEA牛逼!900行"又臭又长"的类重构,几分钟搞定

  • 如何高效快速搞散一个团队?

  • Spring Boot 实现万能文件在线预览

  • 突发!Log4j 爆“核弹级”漏洞,Flink、Kafka等至少十多个项目受影响

  • 国内最牛逼的笔记,不接受反驳!!

5b63302ea416d656d30c7da9a2afe6c8.png

最近面试BAT,整理一份面试资料《Java面试BAT通关手册》,覆盖了Java核心技术、JVM、Java并发、SSM、微服务、数据库、数据结构等等。
获取方式:点“在看”,关注公众号并回复 666 领取,更多内容陆续奉上。

明天见(。・ω・。)ノ♡


http://lihuaxi.xjx100.cn/news/257922.html

相关文章

bzoj1079: [SCOI2008]着色方案(DP)

1079: [SCOI2008]着色方案 题目:传送门 题解: DP刚神多年前讲过的一道神题。 二话不说,上来就是一个六维数组:F[i][a][b][c][d][e]//表示上一次涂的颜色是还剩下i次可用的,a~e表示不同次数的颜色种数。 次数一样的颜色…

Datawhale厦门大学分享记录!

Datawhale线下 作者:李明夷,厦门大学 WISER CLUB2021 年 5 月 16 日下午,Datawhale 团队受邀来到厦门大学,同 WISER CLUB 在经济楼 N402 共同举办学习、竞赛及工作经验分享会,吸引了校内各学院的同学参加。本次活动由 …

Zookeeper源码分析:Follower角色初始化

参考资料 <<从PAXOS到ZOOKEEPER分布式一致性原理与实践>> zookeeper-3.0.0Follower角色初始化 本文主要简述一下Follower角色初始化的流程&#xff0c;并概述一下主要的操作。 Follower角色初始化流程 case FOLLOWING:try {LOG.info("FOLLOWING");se…

ECCV22 最新54篇论文分方向整理|包含Transformer、图像处理、人脸等(附下载)...

点击上方“视学算法”&#xff0c;选择加"星标"或“置顶”重磅干货&#xff0c;第一时间送达本文首发极市平台公众号&#xff0c;转载请获得授权并标明出处。导读 最近一周&#xff0c;ECCV2022陆续放出了更多和GAN&#xff0c;Transformers相关的论文&#xff0c;为…

使用深度学习阅读和分类扫描文档

作者|小白来源|小白学视觉收集数据首先&#xff0c;我们要做的第一件事是创建一个简单的数据集&#xff0c;这样我们就可以测试我们工作流程的每一部分。理想情况下&#xff0c;我们的数据集将包含各种易读性和时间段的扫描文档&#xff0c;以及每个文档所属的高级主题。我找不…

Matlab与线性代数 -- 寻找矩阵的非零元素

本微信图文详细介绍了Matlab中find函数的用法。

oracle中的sql%rowcount,sql%found、sql%notfound、sql%rowcount和sql%isopen

Oracle 存储过程 删除表记录时删除不存在的记录也是显示删除成功 create or replace procedure delDept(p_deptno in dept.deptno%type) is begindelete from dept where deptnop_deptno;dbms_output.put_line(部门删除成功...);exception when others thendbms_output.put_lin…

AJAX范例大搜罗(转载)

1&#xff0e;每天一个AJAX 该网站提供了很多非常酷的AJAX例子&#xff0c;号称是每天更新一个。 网址&#xff1a;http://www.ajaxcompilation.com/ 2&#xff0e;210个AJAX框架 一个不错的提供Ajax范例的网站&#xff0c;Ajax框架已更新至210个。 网址&#xff1a;http:…