Log4j2 维护者吐槽没工资还要挨骂,维护者哭着表示可能会放弃维护


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

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

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

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

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

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

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

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

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

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

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

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

题外话:

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

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


相關推薦

2022-03-10

们只能考虑缩减成本,而在成本之中占比最大的部分就是工资。除了降薪,公司在其他地方没有办法省出太多钱。因此在今年年初,经过讨论大家同意降薪 5%。 按照原计划,他们本应在 2 月初再次召开会议,重新审视一下

2023-10-09

写 TypeScript 都有大牛。 刘勇:笑~ 平时可没少见有同学吐槽,好好的 TypeScript 项目,被人提交了一堆 Any。也见过很多吐槽接手了一个 TypeScript 仓库,要硬着头皮看一大堆类型定义,搞清楚这些奇奇怪怪的类型是如何工作的。

2024-04-26

金钱,并且遇到了一些不愉快的经历。他认为开源项目的维护者也应该得到应有的回报,而不应该被指责为追求金钱。他还表示,他将继续维护nut.js,但会对新功能和更新进行延迟发布,并且决定对部分功能进行收费。 以下为

2022-12-17

了一些事情,但也没有明确承诺会去做。 所以这个问题可能会持续数周甚至更长时间。 而会议上提到的 Jiri 更是在回复邮件中直言"建议放弃 x86_32 架构”: 正如我在电子邮件中明确写道,我从未打算维护 ix86。 我还询

2023-08-03

nux 最高产打包者已决定辞去职务,并离开该项目。 这名维护者名叫 psykose,她在过去一年中提交了 13,894 次 commit。相比之下,第二高产的软件包维护者只有 2,053 次提交,而去年全年总提交次数是 26.8k。 几天前,她最近提交

2023-03-17

一直在维护 ipmitool,他在 ipmitool 的旧 SourceForge 页面表示: 很抱歉,但在 3 月 1 日,在没有任何事先通知或任何解释的情况下。GitHub 已经暂停了我的个人账户,并使我拥有/维护的所有项目成为“孤儿”。 这包括 ipmitool

2021-11-19

curl 创始人兼首席开发者 Daniel Stenberg 昨日发表了一篇吐槽苹果的博客,原因是当用户向苹果寻求帮助时,苹果直接回复用户让他自行联系 curl,然后提供了 curl 的帮助页面地址。 Daniel 说道:“想象一下,一家价值万亿美

2023-02-16

的雇主:有些公司非常支持开源项目,并且可能会给予你工资,让你可以继续全职参与开源项目。 吸引赞助商:如果你的项目获得了很多用户和关注度,那么你可能会吸引一些赞助商的注意,他们可能会为你提供赞助或者与你

2022-12-08

系统。Twitter 前开源负责人 Will Norris 在接受 ZDNet 采访时表示,他曾与当时的 Twitter 首席执行官 Parag Agrawal 详细讨论过关于改进 Twitter 对关键开源项目的投资事项。 当我加入时,已经有许多大型的现代化工作正在进行中,其中

2022-04-03

Danielle(即以 elementary, LLC. 公司的名义向 Danielle 全额支付工资); 2018 年,他们将 elementary, LLC. 重组为 elementary, Inc.,Cassidy 和 Danielle 是新公司的联合创始人,平等拥有这家公司; 2018 年 8 月,Cassidy 离开 System76,全职加入 element

2023-04-29

多活动,但近日 Linux 内核出现了一个新的 Firewire 子系统维护者,他打算在未来六年内继续维护这个板块的驱动代码。 FireWire(火线)连接是以苹果公司开发的技术为基础发展而来的一种高速I/O技术,它可连接外围设备与计算

2023-10-11

等问题,维护人员的工作量也越来越大。 稳定版内核维护者 Greg Kroah-Hartman 近日的回应再度印证上述原因——没人用 LTS 内核。 对于 Linux 基金会减少对内核开发的批评,Greg 表示基金会对内核社区的投入和支持一直在增加。

2023-11-21

ax Woolf 经历了一场关于自己的工作的 “存在危机”。 他表示自己对 AI 的负面抵制情绪日益强烈,以及 AI 行业进展神速,Max 发现自己无法跟上进度,陷入了对开源工作的质疑。在此期间,他暂停了 GitHub 上自己开源项目的开发

2023-03-17

清,缺少许多重要的细节,一时间给广大开源项目社区的维护者带来了恐慌和疑虑。 稍微总结一下几个要点: 在“订阅”列中被标记为“Docker Free Team”的组织将受到影响。 即使用户的某些组织受到影响,个人 Docker 帐