企业选择开源不容忽视的五个方面

开源
据开源管理工具提供商Black Duck 软件公司指出,目前业界存在着一百多万个不同的开源项目,且开源项目的数目还在持续增长,Black Duck软件公司拥有全球最大的Ohloh开源软件目录。但是,不同的开源项目,其活跃的程度也是千差万别的。

如今,企业的打印机和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带来阴影。就我们公司本身的业务来讲,我们一般会给个人开发者一定的自由和灵活性,但对于项目的需求,以及我们的架构团队参与的项目会帮助我们企业在选择软件时形成一个我们自身企业需要的标准方法。”

社区

任何开源项目的成功或失败很大程度上取决于围绕着它的社区,这一社区包括贡献代码的开发者、测试人员、文档撰写人员、网上论坛上回答问题的人,以及终端用户。

这里有几种方法去评估一个开源项目社区的规模和活跃等级,这些方法中有Ohloh提供的一个工具。其中一个常见的方法就是去开源项目的主页或网站上查看代码提交的历史,以及其讨论区是否活跃。

GitHub负责业务开发和策略的高管Tim Clem说:“如果项目恰好在GitHub上,你可以到公司的网站上查看这些项目的活跃程度。比如在jQuery中,有一个关于公开漏洞和特征要求的清单,而且在这里人们通常会围绕这一变化的优点进行讨论。如果最后一个话题是在六个月前就开放的,且没有任何人回应的话,那么这个社区就被认为是非常不活跃的。”

GitHub为私有项目和开源软件项目提供虚拟主机服务,它内部也使用开源软件。当涉及一个关乎公司成败的项目时,如Git版本控制技术,GitHub通常会雇佣一些核心的开发者来帮助开发这一软件。Clem说:“这不仅让我们对一些特殊的开源项目的理解更加深刻,同时我们也引领了Git技术的发展。”

另一个方法是直接联系开源软件开发者本人。

Web应用开发商Caxy的首席执行官兼创始人Michael LaVista说:“我们非常幸运能够接触到一些重要的开发者,并向他们讨教一些问题。如果开源项目中遇到什么问题时,你发电子邮件联系开发者询问,而这些开发者能够在一天之内答复你,那么这对于一个开源项目来说是一个好兆头。如果他们从不回应,那么也就证明这个项目的社区其实并不活跃。”

拥有大量开发者的支持也很重要,LaVista说:“假如一个德国的开发者编写了一个内容管理系统,他用的语言其他人根本不懂,那么如果这个开发者走了,也就意味着这个项目的终结。”

美国医疗设备制造商——Olympus医疗系统集团市场策略和分析经理Ross Nunamaker说:“对于开源项目,对于开源项目,我曾经就有过一些非常不好的经历,这些项目要么没有一个强大的社区支持,要么就是利用这个开源软件做得产品特别差。”

该集团想要更新其网站,该网站于1999年创建,出现过各种各样的问题,包括导航不通、多个拥有者,及其他问题。最初,Olympus医疗系统集团想要选择一个专门的平台,但是最终该集团却选择了Drupal——一个开源的内容管理系统,许多大企业都在使用这一系统。

Nunamaker:“Drupal社区的成长速度非常迅猛,在这个社区中有低价格的或者免费的培训课程,同时还有很多使用这一平台的提供商。而Olympus医疗系统集团之所以使用Drupal,也是由于Drupal社区中的另一用户促成的。”

Nunamaker还表示:“经常会有客户问我,开源项目是免费的,所以你们的产品应该更便宜点,或者在这个开源社区中有那么多人在使用这个Drupal开源平台,该如何保证安全?。”白宫也在使用这个开源软件,这对于那些仍然担心这个项目安全问题的人来说很有说服力。

同时,今年,在Olympus医疗系统集团开始使用这个平台之后,美国辉瑞制药公司(Pfizer)和强生公司(Johnson & Johnson)也都使用了Drupal平台。这一领域的许多企业都开始放弃他们原来旧的平台,开始使用新平台,而且这两家大企业步调一致,都选择了这一平台,这也说明了Drupal对于企业来说,是一个不错的选择。

供应商支持

同企业许多流行的开源项目一样,Drupal也同样有一个主要的提供商——Acquia掌舵。

Nunamaker表示,实际上Olympus医疗系统集团选择了另一家不同的企业来创建这一网站,但是他们会让Acquia公司确认他们选择的这家提供商有没有以一种最佳的实践模式来创建这个网站。而且,在紧急情况下,大的供应商可以提供24/7服务(7天24小时全天候服务)。

据W3Techs调查显示,Drupal开源平台在内容管理系统领域所占的市场份额为5.4%,在这一领域中排名第三,Wordpress排名第一,其市场份额为60%,其次是Joomla,市场份额为8.8%。然而,网站技术信息查询和分析工具——BuiltWith.com(BuiltWith.com只专注于一百万个最大的网站)却将Drupal排到了第二位,市场份额为14.5%,这意味着Drupal在规模较大的企业部署方案中更受欢迎。

非营利组织Open Source Matters的总裁Paul Orwig 表示:“内容管理系统Joomla无论其是好是坏,关键是它没有一个领先的商业机构帮助推动其发展。Joomla在全球范围内有一个志愿者社区,我们很爱那个社区,但是比起那些得到商业支持的项目,它的信任度相对较低。” Open Source Matters主要负责对Joomla项目提供组织和法律支持。

另一个主要的开源平台的例子是同样由领先的供应商支持的Linux,除了Red Hat,SUSE Linux和Ubuntu的Canonical公司都在引领着其各自的分发版的发展。

例如,SUSE并不仅仅为其Linux提供支持,SUSE Linux企业服务器(SUSE Linux Enterprise Server)中有大约2000个其他的开源软件包是由SUSE公司支持的。

在选择工具时,SUSE能够代表其客户来决定选择哪种软件。

SUSE Linux企业高级产品经理Matthias Eckermann表示,在选择开源项目时,他主要看中三点因素。Eckerman说:“第一是,我们支持和提供给客户的开源软件是否是活跃的,且是否受到良好的维护;第二是,是否是基于安全的理念创建的;第三是,它的适应性如何,文档是否完好,以及这款开源软件是否能够被用户接受,或者获得好评。”

Eckermann表示,由于SUSE本身就是一个开源企业,并已深入到开源社区中,所以该公司在选择项目时会有一定的优势。

和Red Hat一样,SUSE的员工都热衷于开发创建LibreOffice管理软件套装,Eckermann表示:“我们的开发者是某些社区的重要组成部分。”

授权许可

选择一个开源项目最棘手的问题之一是选择合适的许可证,因为终端用户和开发者往往对某个特定的开源项目缺少一定的约束力,而这也是法律和监管部门需要介入的领域。

比如,一些软件仅仅被授权为非商业用途,而且许多软件包是在一个许可证下分发的,这一授权要求所有的衍生品都是开源的。有时候,一些开源软件或项目根本没有一个明确的授权许可。

专注Hadoop开发和支持的Hortonworks公司的企业策略副总裁Shaun Connolly说:“在Hadoop社区中有大量的开源项目,但是对于这些开源项目选择了什么样的授权并没有人会特别关注这一点。”

授权对于美国支付解决方案提供商LoopPay来说至关重要,该公司的软件工程副总裁David Meyer说:“我们需要确定我们在产品环境中能够使用一个开源项目,当我们转售产品或在别的地方重新部署产品的话,我们不想受到来自许可证的限制。”

Meyer表示,最重要的是最终决定购买开源软件的那个人要有良好的技术基础,或者有一个技术专家能够帮助他做决定,而不是这个决策人仅仅依靠一个开发者的推荐就购买了某个开源软件。

Meyer说:“之前我们曾经请一些低级别的、经验并不丰富的工程师帮助我们寻找开源项目,他们对这些开源项目非常狂热,极力推荐我们去使用,但是后来这些开源项目两年都没有活跃起来。如果你因为一时兴起而使用类似的这些开源项目,那么最终你会发现你所有的产品所依赖的这些开源组件并没有人维护和支持,最终你的项目注定会失败。”(王旋编译)

责任编辑:黄丹 来源: 网界网
相关推荐

2023-04-14 12:01:47

智能建筑物联网传感器

2015-12-16 10:06:19

2011-07-29 12:25:36

2017-02-15 09:04:10

大数据技术Hadoop

2013-01-04 14:55:10

Windows Ser微软云平台

2023-07-19 07:51:10

文档对象模型DOM

2016-10-28 16:38:27

IT

2013-11-19 16:55:35

2019-12-18 07:52:02

数据泄露漏洞信息安全

2013-01-04 14:35:27

Windows Ser

2011-05-07 16:31:16

照片打印机

2015-10-14 11:29:17

数据中心细节

2013-08-26 10:23:47

2022-04-17 14:59:43

云成本FinOps云成本优化

2016-02-24 15:02:07

数据安全/数据泄漏

2011-04-01 11:12:11

2018-04-08 16:00:34

私有云虚拟化网络架构

2011-05-13 14:12:00

2016-07-21 10:25:54

2011-09-21 14:06:16

数据库MongoDB
点赞
收藏

51CTO技术栈公众号