供应链与断供

隐喻会帮助人,也会误导人。

当我们谈到“供应链”时,会产生哪些联想?环环相扣?缺一不可?掉链子?当我们这样去思考软件供应链,或者开源软件供应链时,同样的“意象”也会出现在我们的脑海里。

一条从不知名的远处延伸到我们面前的链条,这个链条的最后一环,是一款我们看得见、用得上的软件。

这个链条当中,有很多环节都是别人(美国)提供的。也许有一天,美国(人)一旦决定,拿回他的那一环。我们就断供了,延伸到我们面前的链条就断掉了,我们手中正在使用的软件,就消失了。

这就被称为————“断供”。

物质断供

当一个链条是由物质构成的时候,这个“意象”并不是幻想,而是实实在在的现实。比如:芯片断供,手机缺货。GPU断供,显卡涨价。

当我们想要把这个情况,引申到软件、甚至开源软件领域的时候,我们必须重新定义“断供”。

这就带来了各种“乱象”。

开源软件断供:分类

  • 无法下载

从中国,无法下载到美国(Github)上的开源代码。或者无法及时下载到最新的源代码

  • 无法参与上游

一个开源社区,用规则或潜规则,拒绝中国开发者,导致中国开发者被排除在外。我们的开发者被禁止向上游提交代码,无法参与、回馈社区

  • 修改License之一:闭源

在某个版本之后,该软件不再提供开源代码

  • 修改License之二:排除特定类型用户

基于某种License(不允许商业使用、不允许邪恶用途、不允许特定国家使用)

  • 生态限制

开源本身不断供,但是开源所依赖的服务,无法使用

  • 代码托管平台断供

整个Github不允许你使用

  • 开源软件安全风险

具体某一款开源软件的某一个版本,存在安全漏洞,需要修复(或替换)

  • 项目缺少投入,无法继续发展(感谢 @Donald@CNCF@LFAPAC 的补充)

一款无人维护的开源软件(维护不及时,不到位),比如曾经的OpenSSL,就是一种值得关注的风险

《技术的本质》与其不足之处

首先推荐一本非常了不起的著作《技术的本质》(布莱恩·阿瑟),在这本书中,布莱恩提出了一些极其深刻的洞见。例如:技术的本质是对现象的驾驭。以及:技术是组合与递归的。

我想继续引申这个观点。类似于我们在做软件开发时,通常会定义的一个依赖文件。一款软件,会依赖一组其他软件(包),而这些软件(包)又会进一步的依赖某些其他的软件(包)。但是,随着包依赖描述的不断改进,我们会区分:开发期(Dev)依赖与执行期(Running)依赖。

在更加广泛的技术领域,我们也会发现类似的现象。我们发明一种新技术时(开发期),会依赖一组其他已有的技术。但是,当我们基于这个新技术,生产某一个产品时,会依赖另外一组技术(编译期),当我们的产品被实际使用时,还会依赖其他一些技术(执行期)。

当我们泛泛的分析技术时,可以发现其中的组合与递归结构。而当我们更加深入的分析技术的依赖关系时,会发现不同的依赖与递归结构。

依赖与风险

《技术的本质》告诉我们,依赖一定存在,而且无穷无尽。但是:依赖不能简单的等同于风险,至少不能等于同样大小的风险。

当我们对于开源软件,做供应链风险分析的时候。泛泛的树立一个假想敌,然后一概以风险视之,不但将风险不断放大,也将防范风险手段无限提升。

我认为:这并非一种理性的应对风险的策略。

换一种隐喻

如果我们将“链条”的隐喻,换成“生态圈”的隐喻,来看待软件、以及开源软件所面临问题。也许会更加有利于我们朝向正确的方向前进。

空气、水、土壤与风,是环境的一部分。温度、湿度、海拔也是环境一部分。对于一个生态圈来说,我们虽然也提“食物链”,但是很难想象:一个单一物种的缺失,会导致整个食物链的断裂,以及食物链上端的物种全部灭绝。所以:事实上现在描述生态系统时,常用的概念是“食物网”而非“食物链”。

作为软件行业的从业者,我们应该关注整个生态的健康程度,以及预防可能存在的“污染”和“破坏”。甚至,考虑到生态多样性,我们也的确应该支持更多类似的软件,甚至竞争性的平台。

但是:这并非一场“为了防止我的链条断掉”,而发起的一场“伟大战斗”。这是一场“建设更加丰富、繁荣的软件生态的运动”。

所以,我的提议是:不再提“开源供应链安全”,而是提“开源生态建设”。

与诸君探讨。


http://www.taodudu.cc/news/show-4929467.html

相关文章:

  • 图像分类相关优质开源数据集汇总(附下载链接)
  • 目标检测算法——图像分类开源数据集汇总(附下载链接)
  • BIT 1063 食物链
  • window.open(ulr)被浏览器拦截解决
  • Python+Vue计算机毕业设计网上图书商城q3ulr(源码+程序+LW+部署)
  • FastAdmin ULR取别名,重写名别。
  • IE浏览器请求ulr中有中文会报错
  • js 获取ulr问号后参数,返回Object对象
  • python中ulr关键词的转换,“E5 82”怎么转换成中文
  • 服务器发送携带ULR的短信到手机
  • 案例: 场景:比如 在项目中显示所有项目/某用户的所有项目Controller中 ulr对应的名字是一致
  • 解决 shopnc b2b2c 版权问题 修改路经ULR及目录文件夹思路及教程
  • http直接访问含有中文的ulr失败
  • thinkphp里分页类中前后台ulr不统一的问题
  • js文件中发送ajax请求,ulr路径不起作用的解决办法
  • 正则表达式 判断 是不是 包不包含 ulr
  • python不间断获取指定ulr的ip
  • Django 中的根ulr与APP的url关联的思考
  • ULR Web 三种路径
  • django ulr中配置name的作用
  • springboot毕设项目网上图书商城q3ulr(java+VUE+Mybatis+Maven+Mysql)
  • 提交输入框的值使用js把值与百度ULR进行拼接然后搜索
  • springboot毕设项目:网上图书商城q3ulr(java+VUE+Mybatis+Maven+Mysql)
  • 【ULR #2】Picks loves segment tree IX
  • Cookie存储url防止转义,后台解析url执行ulr重定向,跳转指定的url
  • HTTP学习笔记(1)ULR语法
  • ulr实现web资源下载
  • 对Django Web开发中路由(ulr)配置 '^static/(?Plt;pathgt;.*)' 的理解
  • python---FlaskAPI基本用法
  • 关于解决SpringBoot中使用redirect重定向后,页面跳转后ulr地址后面出现jsessionid=xxxxxxx的问题

我所理解的开源软件供应链安全相关推荐

  1. 再谈“开源软件供应链安全”

    缘起 之前写过一篇文章<我所理解的开源软件供应链安全>,当时的情况,还没有出现一些值得探讨的,堪称紧迫的热点事件,所以我也仅仅是泛泛而谈,到最后留了一句话:「我的提议是:不再提" ...

  2. Node-ipc 热门包作者投毒“社死‘’,谁来保护开源软件供应链安全?

     聚焦源代码安全,网罗国内外最新资讯! 专栏·供应链安全 数字化时代,软件无处不在.软件如同社会中的"虚拟人",已经成为支撑社会正常运转的最基本元素之一,软件的安全性问题也正在成为 ...

  3. Linux 基金会发布《开源软件供应链安全报告》

     聚焦源代码安全,网罗国内外最新资讯! 编译:奇安信代码卫士团队 近期,Linux 基金会发布<开源软件供应链安全报告>,探索当前影响软件供应链的安全性和可靠性问题,并找到从何处着手以及如 ...

  4. 阿里云原生开源大家族加入中科院软件所开源软件供应链点亮计 - 暑期 2021

    来源 | 阿里巴巴云原生公众号 2021 年,由中国开源软件推进联盟 COPU 牵头发布了<2021 中国开源发展蓝皮书>,涵盖当今全球开源的总体情况分析.开发者分析.项目分析.领域案例, ...

  5. NPM 修复两个严重漏洞但无法确认是否已遭在野利用,可触发开源软件供应链攻击...

     聚焦源代码安全,网罗国内外最新资讯! 编译:代码卫士 专栏·供应链安全 数字化时代,软件无处不在.软件如同社会中的"虚拟人",已经成为支撑社会正常运转的最基本元素之一,软件的安全 ...

  6. 刚刚GitHub 收购 npm,旨在提升开源软件供应链安全

     聚焦源代码安全,网罗国内外最新资讯! 编译:奇安信代码卫士团队 刚刚,GitHub 在官网上宣布GitHub 已签署收购 npm 的协议.全文编译如下: 我很高兴地宣布,GitHub 已签署npm ...

  7. 重磅|棱镜七彩同CNCERT联合发布开源软件供应链安全风险研究报告了!!

    (如需报告原文PDF版,请关注微信公众号"棱镜七彩",回复"报告"获取原文下载方式) 近日,棱镜七彩同CNCERT再次合作并发布了开源软件供应链安全风险研究报告 ...

  8. OSCS开源软件供应链安全社区上线,携手开源社区共同提升开源安全质量

    现如今,开发者们使用开源代码来构建软件几乎不可避免.但所有这些外部引入的依赖都可能带来额外的软件安全风险. 调研报告显示,84% 代码库至少存在一个开源组件安全漏洞,其中平均每个代码库存在 158 个 ...

  9. 大咖说开源|谭中意:如何构建高效/安全/合规的开源软件供应链和国际开源合规标准?...

    点击上方"开源社"关注我们 | 作者:叶雨秋 | 编辑:沈于蓝 | 设计:宋传琪.朱亿钦 开源供应链点亮计划 - 暑期系列是由中科院软件所和 openEuler 社区共同举办的一项 ...

最新文章

  1. PhpStorm+PhpStudy开发环境的配置
  2. 邪恶改装2:用单片机实现一次简单的wifi密码欺骗
  3. PHP学习笔记--011 PHP文件处理
  4. always on sql 收缩日志_SQL Server AlwaysOn日志收缩
  5. [git] 如何处理push失败的commit
  6. 问题小结(二)——maven的核心功能、面向对象编程和面向接口编程的区别、抽象类和接口的区别等
  7. 【机器学习】逻辑回归代码练习
  8. px、dp和sp,这些单位有什么区别?
  9. 三种方法求最长子序列问题
  10. mysql 修改数据库的数据库_如何更改MySQL数据库的数据库名
  11. TokenInsight:反映区块链行业整体表现的TI指数较昨日同期上涨0.41%
  12. opencv源代码之中的一个:cvboost.cpp
  13. Xcode XIB中突然变卡顿的原因
  14. PHP如何把三张图片均匀分布,C++ uniform_real_distribution连续均匀分布类模板用法详解...
  15. 文心一言——何妨吟啸且徐行
  16. java开发一年的心得体会
  17. 海康sdk项目部署Linux系统时出现java.lang.UnstisfiedLinkError:jnidispatch(xxx)not found in resource path错误
  18. 图解iPhone开发入门教程
  19. 基恩士MC协议 虚拟服务器,C#读写基恩士PLC 使用TCP/IP 协议 MC协议
  20. 金相图像处理 matlab,MATLAB图像处理在铸铁材料金相分析中的应用

热门文章

  1. 2022年一级建造师建设工程项目管理考试模拟试题卷及答案
  2. Goby在护网中的应用
  3. linux 磁盘头损坏 pv不见了,文件系统损坏的修复过程
  4. XDS100V3连接Pandaboard ES OMAP4460开发板
  5. 数据库系统原理与应用教程(008)—— 数据库相关概念练习题
  6. ZYNQ进阶之PS-PL项目
  7. 拒绝流氓广告,捆绑插件,轻松下载各种官方正版软件,纯净版Windows系统
  8. 洛谷-P1010-幂次方-普及(摁写+递归/二进制+递归)
  9. 阿里云centos环境之linux上redis安装及踩过的坑(七)
  10. phpstudy创建网站hosts同步失败