平时不接触代码的人可能没听过,但在全世界的程序员大圈子里,log4j作为java生态的基础组件,几乎是人人皆知。
就像《英雄联盟》玩家离不开LOL盒子,还有玩FPS游戏离不开准星。
而Log4j也不是啥复杂的程序,说简单了说,它只是一个开源的Java日志框架。
众所周知啊,搞开发是一个与代码疯狂对线的过程,在一个能正常使用的软件面世之前,势必要经过无数次测试。
一次测试跑不通,就得重新查看代码,看看哪里出了问题。
文章插图
这图可以说是很贴切了
但运行代码跟平常打游戏不一样,它不能实时回放运行过程发生了啥。
如果真遇上运行崩溃了,程序员只能等代码跑完,再去后台查看错误日志。
像前段时间MIUI的bug很多,开发人员就会让用户反馈bug的时候带上一份日志,这样他们才能精准定位问题所在。
文章插图
至于记录日志,其实是需要一个通用框架去实现的。
毕竟程序员不可能每次开发软件,都额外再搞一个日志记录器吧。
So,借助现成的日志记录框架来做开发,是十分省事省力的方法,也符合程序员“不重复造轮子”的理念。
在Java这边,Log4j就是最出名且使用最广泛的开源日志记录框架。
小到个人开发,大到苹果谷歌微软,在做Java开发时都会用上Log4j。
没办法,虽然人家功能齐全,查起错误来够方便呢。
但是越多人用,Log4Shell漏洞的危害就越大,大伙看完下面这张图估计就懂了。
国内外的互联网大厂所开发的软件,底层都保留了开源的Log4j框架,如果哪天这个框架出了问题,整个软件都会随之坍塌。
这就很好解释了,为啥大厂们遇到这事儿都慌得一批。
文章插图
Log4Shell漏洞能如此变态,并不是因为漏洞本身足够复杂,让安全保护机制一头雾水。
相反,它实在TM太容易被触发了,适用范围还贼广,任何软件都可以将其嵌入到底层使用。
不过小雷也确实纳闷,这么开源框架可是全世界都在用的,为啥安全性不搞好点呢?
仔细想想,开发和安全性其实是两回事儿。
作为开源项目,开发和维护Log4j框架压根就不赚钱,开发者都是在工作之余花时间去维护。
有时候甚至穷得要在推特上找用户掏钱赞助。
文章插图
虽然漏洞被曝出来后,Log4j的几位开发者已经在尽力修复,并推出了最新的修复版本。
但比起大厂们当天就能修复的神级速度,作为官方维护者的它们,速度还算是慢的。
一方面是因为维护人力确实有限,另一方面则是财力上的巨大差距。
文章插图
世界上所有伟大的商业软件,都离不开开源软件的支持,就像安卓离不开Linux,iOS离不开FreeBSD。
但回过头来,开源项目也因为没有足够的人力物力,导致使用起来难用和稳定性差。
大厂们虽然也会派员工去参与代码维护,但大多数情况下都是能白嫖就白嫖,反正以大厂的反应能力,出了问题也能光速修复。
商业软件享受了开源代码带来的好处,但出现问题带来的损失和谩骂,几乎是开源项目的维护者在承受。
文章插图
再聊回阿里云这次做得不对的地方。
- 产业|打造世界级产业地标 中国声谷冲刺5000亿产值
- 酷睿处理器|关键数据出炉,京东比阿里差远了
- 物联网|据说,物联网也可以称之为“一张想想的网络”,物联网世界是梦
- 我们的生活|社交正在推动“孤独生意”多元化发展,天聊将重塑用户精神世界!
- 入场券|元宇宙世界的“入场券”?市场规模将达2700亿元!这类人才太紧缺→
- 宋嘉吉|元宇宙世界的“入场券”?市场规模将达2700亿元!这类人才太紧缺
- CPU|阿里反贪第一人蒋芳,入职23年将7名高层送入狱,连马云都可以查
- 图灵奖|中国科技团队创历史,360打破行业垄断,登顶世界最强人工智能榜
- 图灵奖|“世界最强”人工智能榜单,“中国代表队”力压群雄登顶榜首
- 一晚上偷来50辆世界顶级豪车,没有比这更牛了!