Sonatype 公司, Maven 项目的主要推动者,最近发布了一款名为 Sonatype Insight 的工具集,意在帮助企业理解和评估开源软件在企业中的使用情况。目前提供此类服务的公司正呈现不断增长之势。
该工具集包含三个组件——管理评估工具(Management Insight)、应用评估工具(Application Insight)和开发评估工具(Development Insight)。使用该工具集可以分析出企业中正在使用的软件中所包含的开源组件的类别、来源及应遵守的开源协议等。此外,Sonatype 工具集还提供了可视化视图,该视图可显示出与服务器上已安装软件有冲突的开源组件,从而起到降低系统安全隐患以及减少商业损失的效果。
此外,该工具集还是与工具无关的,支持 Maven、Ant、Eclipse、Jenkins、Hudson 及其他工具。该工具集依赖于 Maven 的中央版本库,自 2007 年以来,该中央版本库一直由 Sonatype 公司负责维护和资助。现在,加上厂商发布的一些新特性,Maven 中央版本库已包含超过 30 万个 Java 组件(在 Java 项目中的占有率已接近 90%),每月被 4200 家开发组织所使用,超过半数的全球 2000 公司也在其中。
介于对中央版本库的这种依赖,版本库的完整性就显得极为重要。“我们有多重的安全体系来保障中央版本库的完整性”,Sonatype 执行副总裁(EVP,Executive Vice President)Larry Roshfeld 这样告诉我们:
这其中包括对组件贡献者的管理、对提交到中央版本库中组件的验证、中央版本库服务器的物理层安全机制以及保证使用数字签名来保证使用的组件是未经修改的。考虑到中央版本库在一些企业软件开发过程中的举足轻重的地位,公司的安全策略也要求我们不许公开讨论关于安全细节的话题。
开源组件已被企业所普遍采用。据 Gartner“首席信息官眼中的开源软件”的报告所示,截止到 2016 年,全球 2000 的企业中,将开源组件作为关键应用组件的使用覆盖率,将从 2010 年的 75% 上升到 2016 年的 99%。
业界一些分析公司也在不断强调开源软件所面临的风险问题。Gratner 研究部主管 Laurie Wurster 在 2008 年的演讲中提到:
免费的东西并不意味着没有成本。企业需要有相关的取得开源软件(Open Source Software)的策略,用来决定在哪些应用中使用开源软件做支撑,并且有效识别出在使用开源软件过程中有可能带来的知识产权风险以及可接受的风险。只有确立了相关的策略,在治理过程中执行才变得有据可依。
Gartner 研发副总裁 Mark Driver,也与上述报告中的 CIO 持类似观点:
如果没有相应的治理程序和管理策略,IT 组织就无法具备管理、审计和跟踪企业内外开源资产的能力,从而也无法衡量 IT 资产是否被合理使用。最多,也只能在风险(如灾难性的技术失败)发生后进行简单的响应。
Linux 基金会与一些其他组织和软件公司一起,正致力于制订一项机器可读的软件打包许可标准的工作,称之为 SPDX (编写本文时该域名还处在维护状态),该标准可帮助识别不同软件包中包含哪些许可以及软件组件。此标准目前已经被很多的代码扫描(code-scanning)公司所推崇,例如 Black Duck 和 Protecode 这两家公司,他们开发的软件可以帮助开发商在软件上线阶段对代码进行扫描,以保证交付给终端用户的产品是有授权保障的。Sonatype 也会对此标准提供支持,Roshfeld 对 InfoQ 如是说,但是:
在我们所跟踪的 30 多万个开源组件中,该标准还没有被广泛实现。因此,我们通过若干不同的技术来识别组件的授权情况,其中扫描基于 Maven 项目的对象模型(POM,Project Object Model)以及扫描所有项目源代码等。
与大多数代码扫描工具不同的是,Insight 要达到集成到软件开发流程中的各个阶段的目的。Roshfeld 告诉我们:
像 Black Duck 这种扫描工具在软件开发周期的最后阶段,通常是迫于法律法规等因素被购进的。他们的运行时间往往会很长,除生成大量的信息以外,要想知道代码中是否真正遇到了问题,还需要花费更多的时间通过手工工作才能分辨出来。一旦问题被识别出来,就需要开发部门付出艰辛的工作,不仅增加了项目成本而且还会影响到发布日程。相比之下,Insight 专为开发人员和开发管理者设计,它快速和精准并且可以在整个过程中发挥作用并找出缺陷。我们的客户中有很多都同时使用了 Insight 和代码扫描工具。
更重要的一点在于,我们是中央版本库的管理者,该版本库正在为大多数的开发者提供开源组件的支持。这个有力条件使得我们更加具备消费意识和更新意识,我们可以帮助开发者更准确的得知正在下载组件的信息,以及一个组件更新的时间和原因。
管理评估工具(Management Insight)和开发评估工具(Development Insight)都是基于用户数收取费用的。应用分析工具(Application Insight)的费用则基于被分析和监控应用的数量。据 Sonatype 所述,一个典型客户的年度订阅费用不足 2 万美元。
查看英文原文: Sonatype Offers Insight Into Enterprise Open Source Usage
评论