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

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

上级 2dd6e802
...@@ -169,7 +169,7 @@ ...@@ -169,7 +169,7 @@
**(1)关键开源组件的可持续维护挑战** **(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也仅有几位兼职社区开源爱好者在维护。可想而知,这些软件包在出现漏洞后,修复的及时程度和全面程度必然会受到影响。 其实早在2014年HeartBleed漏洞爆发时,人们已经发现出现问题的OpenSSL库只有两位兼职人员在义务维护。同样,前面提到的Log4j2也仅有几位兼职社区开源爱好者在维护。可想而知,这些软件包在出现漏洞后,修复的及时程度和全面程度必然会受到影响。
...@@ -209,7 +209,6 @@ Synopsys公司将“为消费者提供SBOM”是关键的供应链安全实践 ...@@ -209,7 +209,6 @@ Synopsys公司将“为消费者提供SBOM”是关键的供应链安全实践
为了更加准确的建立SBOM,以及根据SBOM判断一个复杂的开源软件的供应链安全状况,还需要建设开源软件供应链基础设施平台,形成开源软件采集存储、开发测试、集成发布、运维升级等一体化设施,打造服务中国乃至全球的开源代码知识图谱和开源软件供应链体系。以中国科学院软件研究所为例,从2019年起在中科院先导专项的支持下开始建设开源软件供应链管理平台,目前已完成设施原型开发以及可视化展示。平台累计完成超过662万款开源软件的采集及对应知识图谱构建,是当前已知最大规模源代码知识图谱:代码量超过100亿行,软件图谱实体数量超过1300万个,节点属性超过781种,关系数量超过1.8亿条,涵盖操作系统、数据库、人工智能等主要供应链。基于知识图谱技术,设施对数百万开源软件属性特征和结构特征进行了分析,结合重要性算法、流行度算法、安全性算法、风险预警算法及软件健康度评判机制,实现了对于开源软件供应链关键节点的识别与验证。此外,实时监控开源软件漏洞事件舆情,做到早发现、早评估、早修复,保证关键节点的安全可靠。在开源人才培养方面,中科院软件所于2020年发起了“开源软件供应链点亮计划”,包含“开源之夏”、开源维护人员招募计划等系列活动,旨在搭建高校开发者与开源社区的沟通桥梁,吸引高校开发者参与开源社区贡献。 为了更加准确的建立SBOM,以及根据SBOM判断一个复杂的开源软件的供应链安全状况,还需要建设开源软件供应链基础设施平台,形成开源软件采集存储、开发测试、集成发布、运维升级等一体化设施,打造服务中国乃至全球的开源代码知识图谱和开源软件供应链体系。以中国科学院软件研究所为例,从2019年起在中科院先导专项的支持下开始建设开源软件供应链管理平台,目前已完成设施原型开发以及可视化展示。平台累计完成超过662万款开源软件的采集及对应知识图谱构建,是当前已知最大规模源代码知识图谱:代码量超过100亿行,软件图谱实体数量超过1300万个,节点属性超过781种,关系数量超过1.8亿条,涵盖操作系统、数据库、人工智能等主要供应链。基于知识图谱技术,设施对数百万开源软件属性特征和结构特征进行了分析,结合重要性算法、流行度算法、安全性算法、风险预警算法及软件健康度评判机制,实现了对于开源软件供应链关键节点的识别与验证。此外,实时监控开源软件漏洞事件舆情,做到早发现、早评估、早修复,保证关键节点的安全可靠。在开源人才培养方面,中科院软件所于2020年发起了“开源软件供应链点亮计划”,包含“开源之夏”、开源维护人员招募计划等系列活动,旨在搭建高校开发者与开源社区的沟通桥梁,吸引高校开发者参与开源社区贡献。
### 9.2.4 开源面临平台垄断和生态风险 ### 9.2.4 开源面临平台垄断和生态风险
开源是建立在开发者不应受制于特定平台的理念之上的。与其他类型的开发者相比,开源开发者似乎更应该不受平台效应的影响。在GitHub之前有整整两代自由和开源的开发者,他们使用的工具在没有GitHub的情况下也能正常工作,而且有技术娴熟的用户,他们对便符解决案有很高的容忍能力。开源代码托管平台作为开源开发协作中降低创新成本的基础设施,是开源生态发展中的路和桥 开源是建立在开发者不应受制于特定平台的理念之上的。与其他类型的开发者相比,开源开发者似乎更应该不受平台效应的影响。在GitHub之前有整整两代自由和开源的开发者,他们使用的工具在没有GitHub的情况下也能正常工作,而且有技术娴熟的用户,他们对便符解决案有很高的容忍能力。开源代码托管平台作为开源开发协作中降低创新成本的基础设施,是开源生态发展中的路和桥
...@@ -230,15 +229,15 @@ Synopsys公司将“为消费者提供SBOM”是关键的供应链安全实践 ...@@ -230,15 +229,15 @@ Synopsys公司将“为消费者提供SBOM”是关键的供应链安全实践
为应对风险挑战,需要在三方面推进我国开源生态建设。 为应对风险挑战,需要在三方面推进我国开源生态建设。
(1)多种方式推动开源应用推广 **(1)多种方式推动开源应用推广**
发展开源具有重要社会效益和经济效益,我国应运用多种方式推动开源方案应用推广。一是加快研究开源知识产权认定法律法规,解决著作权归属、流入代码知识产权等共性法律问题,为未来应对国际开源知识产权纠纷做好准备。二是通过政府采购推动开源方案应用实践。三是强对开源技术、开源理念和开源文化的教育和宣传,为开源方案或混合方案的使用提供指导和实践指南。四是鼓励将开放性、公益性研发项目开源,逐步形成制度性要求,以提高全社会的开源意识。 发展开源具有重要社会效益和经济效益,我国应运用多种方式推动开源方案应用推广。一是加快研究开源知识产权认定法律法规,解决著作权归属、流入代码知识产权等共性法律问题,为未来应对国际开源知识产权纠纷做好准备。二是通过政府采购推动开源方案应用实践。三是强对开源技术、开源理念和开源文化的教育和宣传,为开源方案或混合方案的使用提供指导和实践指南。四是鼓励将开放性、公益性研发项目开源,逐步形成制度性要求,以提高全社会的开源意识。
(2)完善相关开源社团自治组织和基金会的资金组织制度 **(2)完善相关开源社团自治组织和基金会的资金组织制度**
我国已经出现支持开源创新的基础平台,但持续发展缺少有效机制和制度保证。一是应通过开源基金会模式,鼓励社会力量与政府共建公益性开源创新生态环境。二是积极学习借鉴Linux基金会、Apache基金会等国外成功开源社区的基金会运行模式。三是建立更完善非盈利性的基金会组织机制和法律制度,有效汇聚社会力量,提供持续的开源创新服务。 我国已经出现支持开源创新的基础平台,但持续发展缺少有效机制和制度保证。一是应通过开源基金会模式,鼓励社会力量与政府共建公益性开源创新生态环境。二是积极学习借鉴Linux基金会、Apache基金会等国外成功开源社区的基金会运行模式。三是建立更完善非盈利性的基金会组织机制和法律制度,有效汇聚社会力量,提供持续的开源创新服务。
(3)构建开源生态基础设施和配套环境 **(3)构建开源生态基础设施和配套环境**
一是大力支持开源模式探索,加强开源生态机理、方法和技术的研究。二是构建开源软件生态核心资产库,推动政府、大型科技企业、中小创业企业、高校科研机构等多主体参与开源建设。三是建设公共开源支撑平台,推动构建适合中国软件开发者群体特点、协作习惯的开源工具和社区机制。四是支持建立若干中文开源社区,为开源生态建设提供持续技术支持。五是加强开源软件人才培养,调动广大科研人员参与开源热情,打破企业和科研机构的界限,建立产学研协作的开源实践平台。 一是大力支持开源模式探索,加强开源生态机理、方法和技术的研究。二是构建开源软件生态核心资产库,推动政府、大型科技企业、中小创业企业、高校科研机构等多主体参与开源建设。三是建设公共开源支撑平台,推动构建适合中国软件开发者群体特点、协作习惯的开源工具和社区机制。四是支持建立若干中文开源社区,为开源生态建设提供持续技术支持。五是加强开源软件人才培养,调动广大科研人员参与开源热情,打破企业和科研机构的界限,建立产学研协作的开源实践平台。
...@@ -246,7 +245,7 @@ Synopsys公司将“为消费者提供SBOM”是关键的供应链安全实践 ...@@ -246,7 +245,7 @@ Synopsys公司将“为消费者提供SBOM”是关键的供应链安全实践
**(1)人才供需对接的效率低** **(1)人才供需对接的效率低**
据GitHub《2021年度Octoverse报告》统计,中国开发者人数占比排名第二,有755万+。按照中国数字经济转型发展的要求,2022年中国有1200万的人才需求缺口。 据GitHub《2021年度Octoverse报告》统计,中国开发者人数占比排名第二,数量超过755万。按照中国数字经济转型发展的要求,2022年中国有1200万的人才需求缺口。
**(2)高技能人才匮乏,结构性供给不足尤为突出,顶尖开源人才更难寻** **(2)高技能人才匮乏,结构性供给不足尤为突出,顶尖开源人才更难寻**
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册