您的位置: 网界网 > 周报全文 > 正文

[周报全文]开源需避免的五个陷阱

2014年06月12日 16:46:36 | 作者:CNW.com.cn | 来源:网界网 | 查看本文手机版

摘要:目前,开源技术的发展异常繁荣,开源软件和开源项目随处可见。但是对于很多企业或者个人来说,对开源软件的应用还缺乏必要的理解和认识。本文就列举了使用开源技术需要注意的五点内容,以帮助企业更好地发展产品和业务,避免项...

标签
开源
陷阱

目前,开源技术的发展异常繁荣,开源软件和开源项目随处可见。但是对于很多企业或者个人来说,对开源软件的应用还缺乏必要的理解和认识。本文就列举了使用开源技术需要注意的五点内容,以帮助企业更好地发展产品和业务,避免项目失败。

如今,企业的打印机和web服务器上运行着Linux系统、企业员工使用着火狐浏览器、各种各样的移动设备上运行着安卓操作系统,在这样的环境下,可能很难找到有哪家企业没有使用过开源软件。

据开源管理工具提供商Black Duck 软件公司提供的数据,目前业界存在着一百多万个不同的开源项目,且开源项目的数目还在持续增长,而Black Duck软件公司就拥有全球最大的Ohloh开源软件目录。同时,根据SAP发布的研究报告显示,开源项目的数量平均每14个月会翻一倍。

但是,不同的开源项目其活跃程度也是千差万别的。Ohloh指出,在开源软件目录中的100375个可查询活跃信息的开源项目中,有80%的开源项目分别处于低活跃度、非常低的活跃度和完全不活跃的状态。

这对于那些在个别开源项目上下大赌注的企业来说,无疑是一个坏消息。这些企业旨在利用这些开源项目作为其重要业务系统的一部分。同时,据Gartner调查的数据显示,几乎所有的受访者都表示,到2016年,全球2000多家企业中有99%的企业都将开源软件应用于其关键的系统软件产品线中。

如果企业选择一个毫无前途的开源项目,那就意味着企业选择了一个很少更新或完全没有更新,以及没有安全补丁的项目,而且这个项目也很少会得到社区的支持。

此外,选择一个不好的开源项目的影响远远不止在开发层面。比如,开源代码是通过各种各样不同的授权许可证分发的,而某些许可证可能与某个企业的一些产品或发展计划并不兼容。此外,非托管的开源软件还会带来安全风险、稽查和规范等问题。

采购过程中的漏洞

开发者和终端用户往往愿意去升级开源软件,因为它是免费的。而且升级方法很简单,并能够提供开发者和终端用户所需的功能。最重要的是没有任何采购过程带来的麻烦,而这种做法最终导致许多企业根本不清楚自己的员工使用的开源软件到底有多少。

一些开源软件供应商甚至利用这一点作为其销售的策略。法国开源业务流程管理软件公司Bonitasoft的首席策略官Jean-Luc Solans说:“因为开源软件的销售可以直接对接到个人,因此我们可以采用常规软件的决策和销售流程,一旦开源软件的销售数量达到一定规模,它就会成为一种约定俗成的标准被企业采纳。通常我们从用户(通常是企业的首席技术官)那里听到最多的是:我真的没有想过要和你们达成一种合作关系,但你们却通过另外的途径了实现了这一点。”

但是,对于终端用户或个人开发者来说,他们使用这些开源软件也并不是完全兼顾企业需求和长期发展目标的。

2013年,Sonatype公司针对3500名从事IT工作的人员进行过一项调查,该调查显示,有60%的开发者并没有把安全视为是头等重要的。因为大多数人并没有多余的资源去使用那些成本较高的开源软件,此外还有人认为安全并不属于他们该负责的问题。

同时,软件管理提供商White Source的一项研究发现,23%的含有开源组件的软件项目都存在着安全风险,而且85%的开源软件项目使用的是已经过时的开源库。

此外,社区支持也往往会导致开源项目出现各种各样的问题。因此一些大企业更愿意选择专业的开源软件提供商提供的一些重要功能和支持。但是,Black Duck公司指出,45%的开发者和IT专家们在选择软件时更看重技术的性能和产品特色,而只有12%的人会将商业化供应商的支持作为他们选择和决策的重要参考标准。

个人用户和开发者在选择开源软件时,他们可能不会考虑公司的其他部门是否在使用一个不同的或不兼容的工具,也不会考虑这个开源软件是否有可行的许可证,甚至不会关心在必要时这个软件是否能够扩展。最终,如果这个工具用一种只有某个开发者熟悉的代码写成的话,而公司的其他人都不会使用这一工具,一旦这个开发者离开,那么公司可能会面临一些麻烦。

选择与管理

Sonatype公司指出,目前57%的企业对于开源软件的使用没有明确的规范或政策。

一个好的开源管理政策需要能够为开发者或终端用户提供指导,告诉他们开源软件使用的时机和场合,需要什么样的许可证,以及什么时候需要投入管理。

如果这个开源软件足够重要的话,那么在选择开源软件时可以通过正规的选择流程,且选择开源软件的过程和选择一个专有软件的流程有很多共同之处。

Red Hat首席信息官[注]Lee Congdon说:“当我们选择一个大规模的平台时,比如开源电话系统,我们的产品选择流程跟专有软件的选择流程是一样的,包括成本、特性、功能、开发路线、供应商的稳定性,以及是否能够达到既定目标等。这些因素与评估专门的解决方案的要素是一样的。”

但是开源软件的选择流程和专有软件的选择也有两大不同点。其一是开源软件供应商不同于传统的商业供应商;其二是开源软件的选择还需要看这个项目的社区情况。

Congdon表示:“这并不意味着每一个开源软件的选择过程中,企业管理层都要插一手。如果过度控制开源软件的选择,很可能会扼杀企业IT的创新,甚至会给企业IT带来阴影。就公司本身的业务来讲,我们一般会给个人开发者一定的自由和灵活性,但对于项目的需求,以及我们的架构团队参与的项目,会帮助我们企业在选择软件时形成一个我们自身企业需要的标准方法。”

12

参考资料

1.CIO:(Chief Information Officer),首席信息官,亦可称之为信息主管、信息总监等,是企业中信息化建设“统筹”人,是企业中不可或缺的高级主管职位之一,主要负责企业内部信息...详情>>

[责任编辑:孙可 sun_ke@cnw.com.cn]