最新的《自由与开源软件普查报告》(Census III of Free and Open Source Software)揭示了开源组件在现代应用开发中扮演的关键角色。这份由哈佛商学院、哈佛大学创新科学实验室(LISH)、Linux基金会研究部以及开源安全基金会(OpenSSF)联合推出的报告,为我们提供了对当今软件开发趋势的深刻洞察。
与前两次普查相比,此次研究不再局限于操作系统库,而是深入探索了构成现代软件基础的应用程序级组件。通过对超过1万家公司、涉及1200万条FOSS使用数据的分析,报告描绘了一幅开源软件使用的全面图景。哈佛大学与Linux基金会的研究团队与FOSSA、Snyk、Sonatype和Synopsis等软件成分分析(SCA)公司合作,整合了多个平台的匿名数据,确保了研究的全面性和准确性。
报告显示,开源组件在代码库中的普及程度令人瞩目,96%的代码库都包含开源组件,这进一步强调了开源软件在数字经济中的核心地位。然而,随着开源软件的广泛应用,一些潜在的安全风险也逐渐显现。
例如,一些行业仍然广泛使用已经过时的Python 2版本,占比甚至高达20-30%。报告还发现,40%的顶级开源项目仅由一两位开发者维护,这增加了项目受到社会工程学攻击的风险,如XZ Utils事件所揭示的那样。软件组件缺乏标准化命名也是一个不容忽视的安全隐患。
除了安全风险,报告还指出了软件开发模式的变化。云服务专用软件包的使用量显著增长,这表明软件开发正在从传统的“直接迁移”模式向“云原生开发”模式转变。OpenSSF的开源供应链安全总监David Wheeler认为,这一趋势反映了开发者正在为云环境和特定云服务构建应用,以适应日益增长的云原生需求。
为了应对这些挑战,OpenSSF正在积极采取措施强化构建和分发流程。通过SLSA和Sigstore等项目,OpenSSF致力于确保代码的安全性。同时,报告也为开发者提供了建议,包括简化版本更新流程、优先考虑向后兼容性等,以降低安全风险并提升软件质量。
总的来说,这份报告不仅揭示了开源软件在现代应用中的广泛应用和重要地位,还指出了软件开发过程中存在的安全风险和模式变化。对于开发者而言,这是一份不可多得的宝贵资源,有助于他们更好地理解和应对当前的软件开发环境。