提交 0f540b80 编写于 作者: 历史上的今天's avatar 历史上的今天

Update 第九章_中国开源发展的机遇和挑战.md

上级 2dd6e802
......@@ -169,7 +169,7 @@
**(1)关键开源组件的可持续维护挑战**
开源软件的长期义务维护可能会导致一系列不公平的现象,例如商业公司通过开源软件赚取了丰厚利润,但并没有给维护者任何回馈,甚至会刻意回避谈及对开源软件的使用,由此引起开源维护者的反感甚至一些过激行为。2022年3月发生的faker.js与colors.js开源库遭作者Marak恶意破坏的事件就是典型的例子。faker.js与colors.js使用范围较广,faker.js在npm上的每周下载量接近250万、colors.js 达到约2240万,属于较为关键的开源软件供应链上游节点。faker.js使用的是十分宽松的MIT开源许可协议,因此许多商业公司并没有为使用此项目支付任何费用。作为fake数据领域最优秀的开源项目之一,faker.js和colors.js庞大的工作量却主要由其作者Marak一人完成,并且没有从商业公司得到相应的支持和回报。长期累积的恶性循环终于爆发,作者通过向两个包提交恶意代码进行供应链投毒,并发布到GitHub和npm包管理器中,之后又将项目仓库所有代码清空,完全停止维护,从而使依赖于这两个库的数千个项目无法运行。
开源软件的长期义务维护可能会导致一系列不公平的现象,例如商业公司通过开源软件赚取了丰厚利润,但并没有给维护者任何回馈,甚至会刻意回避谈及对开源软件的使用,由此引起开源维护者的反感甚至一些过激行为。2022年3月发生的faker.js与colors.js开源库遭作者Marak恶意破坏的事件就是典型的例子。faker.js与colors.js使用范围较广,faker.js在npm上的每周下载量接近250万、colors.js达到约2240万,属于较为关键的开源软件供应链上游节点。faker.js使用的是十分宽松的MIT开源许可协议,因此许多商业公司并没有为使用此项目支付任何费用。作为fake数据领域最优秀的开源项目之一,faker.js和colors.js庞大的工作量却主要由其作者Marak一人完成,并且没有从商业公司得到相应的支持和回报。长期累积的恶性循环终于爆发,作者通过向两个包提交恶意代码进行供应链投毒,并发布到GitHub和npm包管理器中,之后又将项目仓库所有代码清空,完全停止维护,从而使依赖于这两个库的数千个项目无法运行。
其实早在2014年HeartBleed漏洞爆发时,人们已经发现出现问题的OpenSSL库只有两位兼职人员在义务维护。同样,前面提到的Log4j2也仅有几位兼职社区开源爱好者在维护。可想而知,这些软件包在出现漏洞后,修复的及时程度和全面程度必然会受到影响。
......@@ -208,7 +208,6 @@ Synopsys公司将“为消费者提供SBOM”是关键的供应链安全实践
2022年下半年美国和欧盟都发布了新的供应链安全相关要求法案或草案,要求厂商评估供应链数字化产品的安全性,此举旨在保护供应链安全,防止SolarWinds等安全事件的再次发生。2022年9月美国《通过安全的软件开发实践增强软件供应链的安全性》备忘录主要针对联邦政府的供应商,要求供应商对产品进行安全自证,如果为联邦政府重点关注的产品,则需要第三方评估。其中有一点要求:如果为联邦政府重点关注的产品,软件开发者需提供详尽的SBOM。同样,欧盟则在2022年9月15日发布了题为《网络弹性法案》(Cyber Resilience Act)的草案,预计在2024年生效,旨在为联网设备制定通用网络安全标准。法案要求所有出口欧洲的数字化产品都必须提供安全保障、软件物料清单SBOM、漏洞报告机制,以及提供安全补丁和更新等。违反规定的公司将面临最高1500万欧元或全球营收2.5%的罚款。其中针对出口到欧盟的数字化产品,带有软件的产品制造商有一点要求:提供至少需包括产品的顶层依赖关系的软件物料清单SBOM。
为了更加准确的建立SBOM,以及根据SBOM判断一个复杂的开源软件的供应链安全状况,还需要建设开源软件供应链基础设施平台,形成开源软件采集存储、开发测试、集成发布、运维升级等一体化设施,打造服务中国乃至全球的开源代码知识图谱和开源软件供应链体系。以中国科学院软件研究所为例,从2019年起在中科院先导专项的支持下开始建设开源软件供应链管理平台,目前已完成设施原型开发以及可视化展示。平台累计完成超过662万款开源软件的采集及对应知识图谱构建,是当前已知最大规模源代码知识图谱:代码量超过100亿行,软件图谱实体数量超过1300万个,节点属性超过781种,关系数量超过1.8亿条,涵盖操作系统、数据库、人工智能等主要供应链。基于知识图谱技术,设施对数百万开源软件属性特征和结构特征进行了分析,结合重要性算法、流行度算法、安全性算法、风险预警算法及软件健康度评判机制,实现了对于开源软件供应链关键节点的识别与验证。此外,实时监控开源软件漏洞事件舆情,做到早发现、早评估、早修复,保证关键节点的安全可靠。在开源人才培养方面,中科院软件所于2020年发起了“开源软件供应链点亮计划”,包含“开源之夏”、开源维护人员招募计划等系列活动,旨在搭建高校开发者与开源社区的沟通桥梁,吸引高校开发者参与开源社区贡献。
### 9.2.4 开源面临平台垄断和生态风险
......@@ -230,15 +229,15 @@ Synopsys公司将“为消费者提供SBOM”是关键的供应链安全实践
为应对风险挑战,需要在三方面推进我国开源生态建设。
(1)多种方式推动开源应用推广
**(1)多种方式推动开源应用推广**
发展开源具有重要社会效益和经济效益,我国应运用多种方式推动开源方案应用推广。一是加快研究开源知识产权认定法律法规,解决著作权归属、流入代码知识产权等共性法律问题,为未来应对国际开源知识产权纠纷做好准备。二是通过政府采购推动开源方案应用实践。三是强对开源技术、开源理念和开源文化的教育和宣传,为开源方案或混合方案的使用提供指导和实践指南。四是鼓励将开放性、公益性研发项目开源,逐步形成制度性要求,以提高全社会的开源意识。
(2)完善相关开源社团自治组织和基金会的资金组织制度
**(2)完善相关开源社团自治组织和基金会的资金组织制度**
我国已经出现支持开源创新的基础平台,但持续发展缺少有效机制和制度保证。一是应通过开源基金会模式,鼓励社会力量与政府共建公益性开源创新生态环境。二是积极学习借鉴Linux基金会、Apache基金会等国外成功开源社区的基金会运行模式。三是建立更完善非盈利性的基金会组织机制和法律制度,有效汇聚社会力量,提供持续的开源创新服务。
(3)构建开源生态基础设施和配套环境
**(3)构建开源生态基础设施和配套环境**
一是大力支持开源模式探索,加强开源生态机理、方法和技术的研究。二是构建开源软件生态核心资产库,推动政府、大型科技企业、中小创业企业、高校科研机构等多主体参与开源建设。三是建设公共开源支撑平台,推动构建适合中国软件开发者群体特点、协作习惯的开源工具和社区机制。四是支持建立若干中文开源社区,为开源生态建设提供持续技术支持。五是加强开源软件人才培养,调动广大科研人员参与开源热情,打破企业和科研机构的界限,建立产学研协作的开源实践平台。
......@@ -246,7 +245,7 @@ Synopsys公司将“为消费者提供SBOM”是关键的供应链安全实践
**(1)人才供需对接的效率低**
据GitHub《2021年度Octoverse报告》统计,中国开发者人数占比排名第二,有755万+。按照中国数字经济转型发展的要求,2022年中国有1200万的人才需求缺口。
据GitHub《2021年度Octoverse报告》统计,中国开发者人数占比排名第二,数量超过755万。按照中国数字经济转型发展的要求,2022年中国有1200万的人才需求缺口。
**(2)高技能人才匮乏,结构性供给不足尤为突出,顶尖开源人才更难寻**
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册