开源软件开发导论 第1次作业

开源软件开发导论 第1次作业

这是开源软件开发导论课程的第1次作业,作业原文内容详见这里


在阅读了《中国开源发展蓝皮书》、CSDN几篇关于开源的文章以及几篇开源相关的新闻后,我对开源仍然存在的几个问题:

1、开源软件漏洞

在开源开发中,开发者如何保证代码质量,减少代码中漏洞的出现?使用者如何减少、或避免这些漏洞带来风险。

开源软件漏洞数量保持高位,且影响范围巨大,同时需要探索如何确保上游组件的快速修复、大规模、全覆盖地推送到下游依赖环节。据奇安信代码安全实验室《2021中国软件供应链安全分析报告》显示,截至2020年底,CVE/NVD、CNNVD、CNVD等公开漏洞库中共收录开源软件相关漏洞41342个,其中5366个为2020年度新增漏洞。而在该实验室审计的2557个国内企业软件项目中,存在已知开源软件漏洞的项目有2280个,占比高达89.2%;存在已知高危开源软件漏洞的项目有2062个,占比为80.6%;存在已知超危开源软件漏洞的项目有1802个,占比为70.5%。

2022中国开源发展蓝皮书(简体中文版本)P17 链接

2、开源许可证

作为开源项目开发者,在开源项目开发时,如何选择合适的开源许可证?如何避免开源项目被以超出开源许可证的授权的方式使用?在开源项目被以超出开源许可证的授权的方式使用时,如何进行维权?

作为开源项目的使用者,如何才能更好地安全合规的使用开源项目?

开源许可协议是指开源社区为了维护作者和贡献者的合法权利,保证软件不被一些商业机构或个人窃取,影响软件的发展而开发的协议。开源协议规定了用户在使用开源软件时的权利和责任,虽然不一定具备法律效力,但是当涉及软件版权纠纷时,也是非常重要的证据之一。

开源软件许可证有哪些? 链接

3、软件维护困境

如何解决开源软件的维护困境?如何在开源软件无法得到必要维护时减少受到的负面影响?

(本人就曾在学习期间,尝试使用缺乏维护而被弃用的依赖包,途中发现该包被弃用后,被迫重写代码)

据统计,很大一部分开源软件在开发出来之后得不到必要的维护。

2013 年,著名 Ruby 代码开发托管平台 RubyGems.org 被爆出一个非常严重的安全漏洞,但问题爆出后长时间未被修复,后发现开源平台 RubyGems.org 没有自己专职的技术人员,完全是由志愿者开发并维护的,因此出现问题后没人去及时处理。结果导致一些黑客发现了这个安全漏洞,并利用这个漏洞攻击了 RubyGem.org 的服务器。
————————————————
版权声明:本文为CSDN博主「CSDN资讯」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/csdnnews/article/details/88754146

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

Log4j2 维护者吐槽没工资还要挨骂 链接

4、软件供应链攻击

开源软件的供应链日趋复杂,如何减少和避免开源软件供应链攻击?在开源软件供应链受到攻击时,如何减少其负面影响。

最常见的供应链攻击有两种形式,一是:起一个跟依赖库或域名很容易混淆的名字;二是:向依赖库注入恶意代码。

这次通过 node-ipc 向 npm 当中注入恶意代码,就属于软件供应链攻击的行为,典型的就是投毒,使用 npm 和依赖 node-ipc 的项目都受到了影响。

不仅仅前端有这种问题,去年,本质上来说,也有类似现象,比如:

log4j2 开源项目出现重大漏洞,遭遇攻击的事件,导致很多使用 log4j2 包的 Java 项目都受到了影响。

炸了,以反战为名,前端开源圈被“投毒” 链接

5、开源软件开发协作

开源软件开发如何实现和谐协作?如何进行代码的质量控制?如何实现长期的维护?

在Linux社区,质量控制的核心在于“代码合入”(Git Merge)这一动作,这是属于“看门人”的唯一权力。合入是一个重要的门槛和分水岭。在合入之前,看门人有是否接受、何时合入的决断权,以及在此基础上衍生的关于补丁实现原则/方案的建议权。此时看门人的权威一面,想必给贡献者们留下了深刻印象。可是在合入之后,强势的看门人,随即变身为苦命的维护者,这是因为开源社区有一个基本假设:在开源市集里,贡献者们进进出出,随时可能走掉,不再响应。这意味着合入代码所增加的系统复杂性,其长期维护责任,要由社区与维护者来兜底。
————————————————
版权声明:本文为CSDN博主「《新程序员》编辑部」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/programmer_editor/article/details/125798041

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值