当前位置: 首页 > 后端技术 > Java

Log4j2维护者直言:没有工资,还挨骂!!(我真的醉了!)

时间:2023-04-02 00:28:40 Java

text|洛琪琪\出品|OSC开源社区(ID:oschina2013)基于Java的日志记录工具ApacheLog4j2近期出现高危漏洞,攻击者可以利用其JNDI注入漏洞远程执行代码,该漏洞涉及面广,以至于个人或国内外企业用户对此高度关注,在漏洞曝光后Log4j2开发团队及时发布了ApacheLog4j2.16.0维护版本,并默认禁用JNDI,使得该漏洞得到控制。但是我在学习(mo)学习(yu)的时候,发现Log4j2的维护者之一@VolkanYaz?c?在推特上抱怨道:Log4j2的维护者寥寥无几,自愿工作,没有报酬。没有人提交代码修复问题,出了问题一堆人在仓库留言骂。Log4j维护人员一直在为缓解措施而失眠:修复、文档、CVE、对查询的回复等。但是,没有什么能阻止人们为这项无偿工作而向我们灌输。事实上,我们都不喜欢这个由于向后兼容问题而需要保留的特性(简称JNDI)。这是一个非常现实的问题,让我们称这个问题为“开源可持续性问题”。一般来说,对于一个开源项目,要么反响平平,无法形成生态,导致开发者积极性逐渐降低,逐渐停止;或者这个项目很受欢迎,很多个人和公司都在使用它,但是——问问的时候,几乎没有人会为开发者提供资金支持或贡献代码修复。使用免费资源且从不回馈社区的公司对开源软件的利用一直是开源项目维护者的痛处。他们使用开源项目来最小化企业成本并最大化利润。但是,这些利润与开发商无关。甚至有公司出现问题,迅速责怪开源作者。比如前段时间,curl的作者就吐槽苹果是一个FreeToolMan:“想象一下,一家市值万亿美元的公司,将各种开源组件集成到产品中,每年赚取数十亿的利润。当这家公司的用户要求公司帮忙的时候,公司把用户推给了一个开源项目。开源项目是由志愿者运行和维护的,公司从来没有捐过一分钱。”这已经持续了相当长的一段时间,但现在有人在思考这个问题并给出了一些权衡的建议。上周六,谷歌密码学家、Go语言安全负责人FilippoValsorda在个人博客上呼吁:开源项目维护者应该更专业地与使用软件的公司进行沟通,以获得有偿支持,让开源更具可持续性。Filippo指出了一个问题:如今大多数开源项目的维护者都属于两类之一:志愿者或大公司的员工,有时两者兼而有之,但这两种模式实际上都不健康。一个成功项目的普通维护者,其实也有资格成为高级软件工程师。这些人一年可以轻松赚到15W-300W+美元的年薪,但现在他们开源项目的收入来源只有GitHubSponsors和Patreon(一个筹款网站),这是两个不正经且不稳定的薪资来源。被大厂聘为全职开源员工并不是上策。当你踏入公司的第一步,你就成为资本的一部分。正如主管和表演组问“如何证明你的工作和薪水匹配?”开始背诵各种KPI,无论是主动还是被动,花越来越多的时间去尝试证明自己的工作和价值是很重要的——在这种压力下,大部分开发者会逐渐失去对开源项目的兴趣,这就发挥出了一遍又一遍地跨越多个公司和生态系统。基于目前的情况,Filippo提出了一个新的观点:既然大公司需要项目供应链的安全和质量达到标准,那么他们就必须为他们使用的开源项目付费——公司可以建立合同与开源软件开发者的关系,工资按市场价支付,然后要求开发者保证项目的质量和bug。反过来,项目的维护者可以自由地继续关注项目,优先考虑项目的长期健康,并满足项目的公司要求。这种流程和生态的建立需要一定的时间,关键是如何转变企业的态度——企业,尤其是资本控股的上市公司,没有积极性为大产品的核心开源组件买单,项目和服务。在开源许可和合法底线的条件下做利益最大化的事情,而不是“公平交易”。目前比较流行的一些license,比如Apache和MIT,提供所有的内容但需要的很少,进一步满足了企业免费卖淫的需求。很多世界500强企业目前使用的重要开源项目都是由志愿者在下班后的业余时间维护的,这些企业甚至懒得去审查和测试代码安全性。开源维护者创造了很多价值,但几乎一无所获。这种开源文化不可能长久。是时候做出一些改变了——开源维护者的角色应该成为一个真正的、有适当报酬的职业,而不是业余爱好者或依赖微薄捐赠的企业的免费劳动力。题外话:Log4j2的开发者和维护者RalphGoers在GitHub上只有3个赞助者。我是Apache软件基金会的成员,也是ApacheCommons、ApacheFlume、ApacheLoggingServices和ApacheMaven的PMC成员。我创建了ApacheLog4j2的初始版本,并继续投入大部分精力来提供支持和改进它,因此ApacheLog4j2是目前作为软件架构师全职工作的Java开发人员的最佳日志记录框架。我在业余时间从事Log4j和其他开源项目,通常是我最感兴趣的问题。全职从事开源工作一直是我的梦想,希望您的支持能让我的梦想成真。近期热点文章推荐:1.1000+Java面试题及答案(2021最新版)2.厉害了!Java协程来了。..3.玩大!Log4j2.x再次爆发。..4、SpringBoot2.6正式发布,一大波新特性。.5.《Java开发手册(嵩山版)》最新发布,赶快下载吧!感觉不错,别忘了点赞+转发!