写点什么

Sonatype 报告称对开源组件的主动管理能够带来可衡量的改进

  • 2017-08-14
  • 本文字数:1310 字

    阅读完需:约 4 分钟

Sonatype 在七月份发布了第三份年度软件供应链状态报告。报告指出,当组织主动管理软件应用中开源组件的质量时,能够提升开发人员28% 的生产力(通过减少人工治理的方式),减少30% 的总体开发成本以及提升48% 的应用质量(应用程序漏洞被尽早移除,从而减少了在产品中的发生率)。分析还显示,那些采用自动化治理工具的团队所开发的应用程序将缺陷组件的占比降低了63%。

Derek Weeks 是 Sonatype 的 VP 和 DevOps 倡导者。他告诉 InfoQ:

数据来自许多不同的源头。历史经验数据从 Maven Central (Java)评估得来。同时,Sonatype 已经分别为 NPMJS.org (Javascript)、 NuGet Gallery (.Net)和 PyPi.org (Python)建立了索引库。我们一整年都在研究并持续密切关注市场的新闻动态,包括开源软件组件、质量、实践和规约。

该报告还强调了软件开发中开源组件的消费增长。Java 组件的年度下载量同比增长了 68%(2016 年为 520 亿),JavaScript 下载量增长了 262%(2016 年为 590 亿),而对 Docker 组件的需求预计在未来 12 个月将增长 100%(即 120 亿次下载)。

Weeks 说道:

创新为王,速度至关重要,开源则是核心。 由于速度至关重要,不论是开发人员、CIO 还是 CEO 都会说,如果需要花费 15 分钟的事情可以用 1 秒钟解决的话,有什么理由不选择后者呢? 这解释了为什么人们选择从互联网下载,而非从头开始构建。

报告指出,使用开源组件的组织面临的挑战之一是开源软件(OSS)项目平均需要 233 天时间才能修复已知的漏洞。其中只有 15.8%的 OSS 项目能够主动修复漏洞。

Weeks 说道:

大多数开源项目或许并不知道有这些漏洞。也许安全研究人员无法有效地将其发现与项目联系起来。又或许没有足够的人来了解项目本身的安全编码实践,以便评估和修复漏洞。这仅仅是个人推测。

Sonatype 声称,高功能(high-functioning)的 DevOps 组织正在利用机器自动化来控制流经其软件供应链的开源组件的质量,从而提高软件健康度。

Weeks 说道:

人们需要对软件开发中采用的开源组件了解得一清二楚。意识改变行为。现在就为你的软件列出所需组件的清单吧。一旦有了这份清单,您就可以进行更好的评估。我们比以往更需要这种意识。如果想了解所采用的组件状态是否良好,那么越早建立清单越好。如果您将这一信息提供给开发者的话,他们就可以在编码周期早期做出选择并执行安全编码实践。

我们问 Weeks 是否存在安全技术人才短缺的问题。他说道:

既对也不对。IT 行业的每一个新动向总伴有技术人才的短缺。但 IT 行业不断发展的方式是通过寻找工具和解决方案来进行自动化。当我们说应用程序缺少安全方面的技术人才的时候,无异于说我们通过手工的方式来评估应用程序的安全性。如果将分析或安全这部分工作进行自动化,那会怎样呢?我们会因此在组织中更富有成效地工作。技术和自动化可以解决技能短缺的问题。我们通过创新来寻找出路。

查看英文原文 Active Management of Open Source Components Delivers Measurable Improvements Claims Sonatype Report


感谢薛命灯对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ @丁晓昀),微信(微信号: InfoQChina )关注我们。

2017-08-14 19:001138

评论

发布
暂无评论
发现更多内容

利用这份文档,我成功定位阿里P6,却拿着P7的工资

Java 程序员 后端

字节Android Native Crash治理之Memory Corruption工具原理与实践

字节跳动终端技术

字节跳动 Android; 火山引擎

可观测性架构实践

郑印

语聊房高质量音乐伴奏的实现

融云 RongCloud

语聊房 音乐播放

GaussDB (for Cassandra) 数据库治理:大key与热key问题的检测与解决

华为云开发者联盟

数据库 分布式数据库 key GaussDB (for Cassandra) 数据库治理

FabEdge 和 SuperEdge 联合在边缘 K8s 集群支持原生 Service 云边互访和 PodIP 直通

BoCloud博云

云原生 边缘计算 superedge FabEdge

判断对象是否已死分析总结——JVM系列,让人茅塞顿开

Java 程序员 后端

利用多condition动态管理池化的异步资源背景

Java 后端

别看是Java基础,很多人已入坑,java技术栈

Java 程序员 后端

工具:Juypter Notebook

正向成长

Jupyter Notebook

10月书讯 | 跟着泰拉去冒险

图灵教育

编程 程序员 书单

揭秘 MatrixDB 数据库内核技术,可编程的数据库!

YMatrix 超融合数据库

数据库 时序数据库 分布式时序数据库 MatrixDB 超融合时序数据库

AI 算法在视频可分级编码中的应用

融云 RongCloud

人工智能 音视频 编解码

如何 30 分钟搭建一个语聊房

融云 RongCloud

【架构设计总结】

Ryoma

浅谈微信朋友圈架构设计

张平

架构实战营

利用碎片化的时间逆袭进百度,我的面试经历你敢听吗?

Java 程序员 后端

JavaScript 解构赋值 5 个常见场景和实例

devpoint

JavaScript 大前端 ES6 11月日更

到了2020年,技术水平到底需要达到怎样的程度才能成为顶级的阿里P8架构师

Java 程序员 后端

ironSource现已支持自定义广告网络

【Quarkus技术系列】「云原生架构体系」打造基于Quarkus的云原生微服务框架实践

码界西柚

云原生 Quarkus 原生云 11月日更

DDD战术设计实践

郑印

DDD

糟糕程序员的20个坏习惯

Kaito

架构 程序人生 后端 编程修养

优先队列一些记录以及解题思路

数据结构 Go 语言 优先队列

BoCloud博云完成 E 轮融资

BoCloud博云

云计算 云原生 博云

活动日程首公布|Apache ShardingSphere Dev Meetup 亮点新揭秘

SphereEx

ShardingJDBC ShardingSphere 技术沙龙 SphereEx

彻底理解 AQS我是懂了,你呢?

何小事儿

Java 多线程 并发

双11大促 | 消息推送资源包6折购!一键集成华为、小米等多厂商推送通道

蚂蚁集团移动开发平台 mPaaS

消息推送 push mPaaS 双11 促销

Hudi 在字节实践记录

Clarke

crm软件有哪些比较好?国内目前好用的crm系统推荐!

低代码小观

CRM 管理系统 企业管理系统 CRM系统 客户关系管理系统

hadoop nameNode/datanode 稳定性&性能改进点

Clarke

Sonatype报告称对开源组件的主动管理能够带来可衡量的改进_开源_Helen Beal_InfoQ精选文章