DD正在掘金打榜,老规矩!最后奖品都会给分给读者

你不来支持一下?投票入口: 点击参与活动

作者 | 罗奇奇

来源 | OSC开源社区(ID:oschina2013)

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

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

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

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

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

如果您正在学习Spring Boot,那么推荐一个连载多年还在继续更新的免费教程:http://blog.didispace.com/spring-boot-learning-2x/

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

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

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

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

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

加入我们的高质量技术交流群:与优秀的人在一起,自己也会优秀起来!

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

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

最近我还整理了一批包括C++、java、Python、JavaScript等各种语言,还有操作系统、数据结构、设计、网络等各方面的学习资料,大家可以关注公众号TJ君,回复武功秘籍领取。

题外话:

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

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

往期推荐

Log4j2 消停了,Logback 开始塌房了?

来来来!DD带大家一起赢台MacBook Pro回家过年!

西安一码通“崩”出一高密度人才业主群,这Bug分析可以让你学到很多!

前瞻:Spring 6.0将停止支持Freemarker和JSP

Log4j2又爆雷!2.16.0存在DOS攻击风险,升级到2.17.0可解决!

技术交流群

最近有很多人问,有没有读者交流群,想知道怎么加入。加入方式很简单,有兴趣的同学,只需要点击下方卡片,回复“加群“,即可免费加入我们的高质量技术交流群!

点击阅读原文,送你免费Spring Boot教程!

Log4j2维护者吐槽没工资还要挨骂!!!相关推荐

  1. Log4j2维护者吐槽没工资还要挨骂,GO安全负责人建议开源作者向公司收费

    文 | 罗奇奇 出品 | OSC开源社区(ID:oschina2013) 基于 Java 的日志记录工具 Apache Log4j2 近日出现了一个高危漏洞,攻击者可以利用其 JNDI 注入漏洞远程执 ...

  2. Log4j2 维护者:没工资还挨骂;阿里每周可选一天灵活办公;亚马逊 CTO 预测 2022 年五大技术趋势;苹果正式推出“数字遗产”...

    简介:大家好,我是枫哥,

  3. 别吵吵内卷了,看看人家虚拟人:连续直播70天都没工资

    小冰 发自 凹非寺 量子位 报道 | 公众号 QbitAI 虚拟人界有多卷? 近几年国内外火山喷发般的虚拟人可以说明这一点. 上个月,扎克伯格挑战光剑变身,右手藏剑,左手亮剑: 这是Meta一直在开展 ...

  4. 外贸三个月不出单就没工资,手里都是长线客户,是离职还是熬

    公司规定的三个月不出单就没有工资了,建议滚蛋. 上半年还好,我几乎隔一个月出一个一万多美金的单.但从 7 月份开始到现在就没出单,老板已经给财务下通知了,严格遵守发工资的规定. 也就是说我这个月开始已 ...

  5. 用Python掷骰子——打麻将没骰子还要出去买?

    这里的代码,源码来自于<python编程:从入门到实践>,在学习的基础上,我想起了在寒假的时候想要打麻将,把麻将牌找出来之后发现里面没有骰子,然后用微信的小程序掷的骰子,现在自己编写了一个 ...

  6. 厌倦了 VMware,试试更轻量级的虚拟机!

    与优秀的人在一起,自己也会优秀起来,点击加群 说起虚拟机工具大家最熟悉的自然是 VMware,功能很多很强大,最让我认可的地方就是可以非常方便的修改虚拟机的配置,让虚拟机达到自己想要的性能-- 可是 ...

  7. 中国工商银行的 Service Mesh 探索与实践

    作者:顾欣 微服务架构是当今互联网和金融机构渐趋主流的系统架构模式,其核心是集成服务通信.服务治理功能的服务框架,微服务框架在持续演进同时,服务网格(Service Mesh)作为一种新型的微服务架构 ...

  8. 源三:聊聊注册中心在蚂蚁集团的降本提效之路

    文|林育智(花名:源三 ) 蚂蚁集团高级专家 专注微服务/服务发现相关领域 校对|李旭东 本文 8624 字 阅读 18 分钟 |引 言| 服务发现是构建分布式系统的最重要的依赖之一, 在蚂蚁集团承担 ...

  9. 这款开源终端工具逼格更高!比 Xshell 好用

    点击关注公众号,回复"1024"获取2TB学习资源! 作为一个常常与 Linux 系统打交道的程序员,使用 SSH 终端工具进行远程管理(之前也分享过:还在付费使用 XShell? ...

最新文章

  1. authc过滤器 shiro_shrio 权限管理filterChainDefinitions过滤器配置
  2. type和object
  3. 【罗马数字转整数】算法优化笔记
  4. 【Session】Tomcat中Session持久化到文件系统或数据库
  5. 网管笔记(1)8.22
  6. jmeter实现翻页功能_JMeter定制功能实现
  7. openssh-在win7上的搭建
  8. 苹果CMS v10一键采集芒果tv官方直链地址插件
  9. mysql 修改max_allowed_packet
  10. selenium测试(Java)-- 显式等待(九)
  11. 服务器系统小米随身wifi,win10系统小米随身wifi不能使用详细教程
  12. 不同类别游戏音效的特点
  13. iOS打包导出时出现Missing iOS Distribution signing identity问题
  14. java coroutine / xiecheng / java Qursar /
  15. 名帖176 苏轼 行书《杜甫堂成诗卷》
  16. Jeecgboot报错Failed to configure a DataSource: ‘unl‘ attribute is not specified and no embedded dataso
  17. iOS系统日历多了莫名其妙的事项
  18. ICC II 4 timing setup(MCMM的设置)
  19. 3年土木工程转行,自学Java8个多月,终于获得一份15K的薪资!
  20. Axios封装及使用

热门文章

  1. 阿里云ECS服务器安装mysql8
  2. Nginx服务器支持.htaccess的方法
  3. 复旦大学2015--2016学年第二学期高等代数II期末考试情况分析
  4. 在Windows系统中安装CentOS系统和gcc
  5. 使用 Scrapy + Selenium 爬取动态渲染的页面
  6. 技术杂谈-再谈软硬SDN(1)
  7. 尚医通 (三十六) --------- 微信支付
  8. 使用git push推送时出现错误error: failed to push some refs to ‘https://gitee.com/yang-yimu/vue_shop.git‘
  9. 如何扩展计算机c盘的控件,win7怎么增加C盘容量_win7扩大C盘容量的方法
  10. MATLAB 动态规划