史诗级漏洞爆发,Log4j 背后的开源人何去何从?_log4j-core 开源团队

img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上C C++开发知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

如果你需要这些资料,可以戳这里获取

所幸,截至发稿,项目赞助者已增至 63 人

二、被“白嫖”的项目比比皆是

除了 Apache Log4j2,还有许多开源项目也陷于类似处境。

  • Babel

Babel 是一个用于 JavaScript 的通用多用途编译器,开发者通过 Babel 可以使用(或创建)下一代的 JavaScript 以及 JavaScript 工具,许多主要框架(React,Vue,Ember,Polymer)以及著名公司(Facebook,Netflix,Airbnb)都是 Babel 的用户

可就是这样一个影响深远的开源项目,却依旧陷入了财务危机:今年 5 月 Babel 宣布,由于花钱速度持续高于获取捐赠的速度,Babel 已经陷入了财务困境,当前剩余的资金将很快被用完,该项目储备资金目前只够维持到 2021 年底

  • Curl

今年 11 月,有用户向苹果请求更新 macOS 12 中与 Curl 有关的信息,结果苹果直接回复用户让他自行联系 Curl,并提供了 Curl 的帮助页面地址。

此事引发开源项目 Curl 创始人 Daniel Stenberg 极度不满,直接怼了一通:“想象一下,一家市值万亿美元的公司将各种开源组件组合在一起,每年可从中获利数十亿美元。当用户就其提供的产品寻求帮助的时候,这家公司反而将用户推给开源项目。这个开源项目是志愿者运营和维护的,而这家公司(苹果)从没有赞助过一分钱。”

需要明确的是,Daniel Stenberg 只是针对苹果利用 Curl 获利并将用户需求推给 Curl 的做法感到不满,他选择将 Curl 免费开源时也并非是为了挣钱,而是“曾在开源中受益匪浅,因此想通过开源的方式回馈给开源世界,让世界变得越来越美好。”

三、“这就是开源丑陋的一面”

由 Apache Log4j2 揭示的开源项目维护者艰难处境的问题,在网络上引起了轩然大波。

有人怀疑这只是项目维护者推脱的理由

“如果他们得到报酬,他们会写出更好的代码吗?荒谬!”

也有人为项目维护者打抱不平

“也许不会,但至少有一些补偿可以让他们忍受那些免费使用他们的软件并在软件损坏时受到无尽抱怨的吃力不讨好。要知道,自由软件的全部意义在于您拥有源代码并且可以自由地自行修复它。”

也有人感慨这就是开源的现状

“不幸的是,这就是开源丑陋的一面。当项目顺利进行时,一切都很好。但是当项目出问题了,每个人都会抱怨。可笑的是,通常抱怨最多的人贡献最少,这就导致那些拥有一些世界上最常用项目的才华横溢的开发人员,几乎没有得到认可。”

四、专家:安全漏洞无法避免

针对这场争议,CSDN 也向几位开源领域的专家询问了对此事的看法。

开源社理事长庄表伟指出,软件出现 Bug、漏洞或者安全风险,本质上是一个技术问题,无法避免,只能尽快修复。而随着软件世界使用的开源软件越来越多,引入的风险就会不断增加,同时一款开源软件被使用的范围越来越广,这款开源软件出现漏洞所造成的损失也会不断增大。

基于此,构成了对“开源供应链风险趋势”的基本判断或出发点,即提升风险应对能力,识别潜在风险源头和预防风险发生

1、提升风险应对能力,首先是企业的责任(不能假设自己下载回来的开源软件,就是安全的,自己要有风险意识,要能应对各种突发状况。)
2、识别潜在风险源头,这个是整个开源生态的责任,最好的做法是类似于OpenSSF的组织,开展系统性的工作。(这方面刚刚起步,但是未来应该是开源领域的重要趋势)
3、预防风险发生(当然还包括及时修复 Bug),这个是开源社区(开发团队)的工作,大家可以帮助他们改进,但是本质上还是要靠他们自己。

庄表伟认为需要明确的一点是:遇到大型开源漏洞事件,就去讨论“该不该给开源软件捐钱”,有些本末倒置

Apache 软件基金会董事、Apache SkyWalking 创始人吴晟则指出,Apache Log4j2 等部分底层技术的开源项目无法直接进行商业相关活动,因此很难长时间收到大量的捐款及资助,这也是开源软件的性质使然。但需要注意的是,这与漏洞本身并没有逻辑上的关系:“心情可以理解,但确实不是这个道理。”

他表示,此次 Apache Log4j2 的 Bug 是一个很明显的安全漏洞,但也是多维度原因造成的,包括 log4j 2 默认打开了JNDI,以及 JVM 是否也打开了JNDI 参数等。而安全漏洞其实每天都有很多,这次是因为 Apache Log4j 2 的适用范围广、漏洞注入简单才有了广泛的报道,因为即便是强大的操作系统如 Linux、甚至是商业项目 Windows 都被发现有很多安全漏洞。吴晟补充道:“Apache Log4j 建于 2003 年,一个快 20 年、几乎和 Apache 基金会同岁的项目,其持续性和持续参与都是已经被时间证明过的。我觉得大家更多应该思考怎么看待开源,怎么去 Follow 开源社区以及参与开源。”

SphereEx CEO、Apache ShardingSphere PMC Chair 张亮认为,能够长久坚持的开源项目维护者大多有开源情怀,和赞助人多少没有直接关系。而开源项目由于源码公开,难免会存在安全漏洞,此时那些所谓“白嫖”的公司有责任修复他们自己的业务代码,没有为 log4j2 社区负责的责任,但同样地,他们也无权向 log4j2 社区追责。如果要追责,此次用非合规手段爆出安全漏洞的公司和团队,应负有不可推卸的责任。

对于如何加强开源项目的可持续性,张亮认为有商业公司兜底和提供服务的开源项目,在连续性上会比较占优。目前有一些使用开源项目创业的公司,这些公司确实能为开源项目维护者提供全职化的可能。在使用开源的公司,还是在全职化的开源产品维护公司工作,是开发者自由的选择。专业化和全职化开源项目,不是必须的,但确实是能为开源项目提供更好保障的方案之一。

白鲸开源联合创始人、Apache DolphinScheduler PMC Chair、Apache 孵化器导师代立冬:“很多开源项目都是靠爱发电的,开源并没有大家看起来的那么光鲜,其实是非常辛苦的。”他表示,在公司预算和允许的情况下,给予必要的赞助是非常值得鼓励的行为,这样才能使开源维护者们持续有动力维护迭代开源项目。

但他也补充道,开源要找到一个正确的商业模式将开源和商业有机结合起来,才可以让一个项目长期繁荣,靠爱发电不是长久之计。项目要有一个很好的产品调性,有商业上的刚需和痛点才有机会做全职;其次需要有繁荣的开源社区,这样社区里就会有愿意付费的潜客和合作伙伴

对此,你认为要如何加强开源项目的可持续性呢?

img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上C C++开发知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

如果你需要这些资料,可以戳这里获取

来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新**

如果你需要这些资料,可以戳这里获取

  • 10
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值