评估开源:并非如此简单

开源软件打破了传统的软件评估标准。以下是你要寻找的,以及公司期望你做出的贡献。

选择开源软件比选择传统软件更复杂。您的IT部门是否准备向社区贡献代码修复?

当西德克萨斯农工大学(West Texas A&M University)希望为8,000名学生开发一个单一登录门户网站,将其Web应用程序、学生资源和社交网络服务统一起来时,一个指导委员会提出了一份清单,其中包括评估可用软件的六项标准。他们将比较软件系统的特性、移动性、单点登录功能、外观和灵活性,以及它们与现有Web应用程序集成的能力。

但这并不是一个苹果对苹果的比较。首席信息官詹姆斯·韦伯(James Webb)提出了两个开源项目,与商业软件包一起考虑。虽然在许多标准上比较系统很容易(开源两家在所有六个类别中都获得了胜利),但委员会必须增加另一个问题:开源用户社区有多强大,它能帮助学校实现目标吗?答案是肯定的,这所位于德克萨斯州峡谷的学校选择了两种开源工具:uPortal,一种基于Java和XML的架构,还包括对移动设备的支持,以及Jasig的中央认证服务(CAS),用于其单点登录服务。

“我们采用uPortal开源解决方案的一个主要原因是,耶鲁大学、罗格斯大学和威斯康星大学麦迪逊分校是主要的开发人员。所以我猜你可以说它是由高等教育为高等教育而建立的,”韦伯说。“我们知道,我们有一个由优秀大学组成的生态系统,它们都在为开源计划做出贡献,支持它,并提供额外的功能,以保持这个产品的创新。”

开源是软件选择中的新X因素。根据2012年由26家开源公司联合发布的对740家企业的调查,到2017年,超过50%的软件购买将是开源的。这一发现标志着开源软件在企业和非技术领域(如汽车、医疗保健和金融服务行业)应用的一个转折点。

选择正确的开源产品对组织的成功至关重要。但是,与选择传统软件相比,评估一个开源项目有更多的警告和陷阱。IT部门必须考虑开源社区的文化、发布的质量和及时性、项目的治理模型和支持的可用性。他们还必须考虑是否,以及在何种程度上,他们愿意向社区贡献代码和修复。

在这里,已经成功采用了开源系统的组织分享了他们用来评估项目的标准和他们回馈开源社区的哲学。

“项目”vs。“产品”

许多IT部门评估开源系统的方式与评估商业产品的方式相同。他们寻找能够提供高级功能和较低维护和支持成本的工具。许多人还转向开源,以摆脱供应商锁定,促进IT基础设施内的可持续性,并刺激IT运营中的创新。

但是在查看开源系统时还需要考虑其他事情,比如社区的文化、产品质量的一致性,以及社区在需要安全修复和补丁时的反应速度。

埃森哲(Accenture)开源项目高级总监兼全球主管托马斯•奈斯特罗姆(Tomas Nystrom)表示:“重要的是,要对规模较小的开源项目进行不同的评估,而不是企业赞助的大型开源产品。”

有成千上万的小型开源项目或库,如NAS和Spring,它们严重依赖于用户社区。此外还有一些开源产品,如红帽Linux,它们是由从事软件销售的公司管理和拥有的。

Sprint Nextel决定,当它小心翼翼地进入开源领域时,一个成熟的产品最能满足它的需求。它已经厌倦了支付供应商数百万美元的Web和应用服务器软件维护费,即使对支持的需求下降了。

Sprint的企业应用集成主管Alan Krause回忆道:“我们已经建立了一个内部团队,负责网络和应用服务器,我们相信我们可以转向开源产品,并且仍然取得成功。”但是,对于CIO和副总裁来说,单干是一个可怕的提议,他们都希望在出现问题时有一个供应商可以依靠。

克劳斯回忆说:“当时确实有些不安。因此,该组织选择JBoss企业应用平台作为其新的中间件,Red Hat企业Linux作为其新的操作系统。它还使用了Red Hat的咨询团队来帮助实现,并让Red Hat的关系经理充当与开源社区的联络人。

Krause说:“我们正在尝试开源。”“我们仍在为它支付一些维护费用,但这比我们以前支付的费用便宜多了。”

Nystrom说,像红帽这样的开源产品的选择标准与那些适用于商业软件的标准没有什么不同。“他们被认为是提供相对便宜的高质量产品的普通供应商。”

奈斯特罗姆表示,随着开源产品在Sprint Nextel等公司获得越来越多的关注,IT部门将更愿意转向小型的开源项目,以促进创新。他说道:“如果你正在构建一些自定义的内容,那么在开发过程中你通常会在某个地方使用[开源]。“如果你想构建一个非常现代的应用程序,不使用它几乎是不可能的。”

在这种情况下,Nystrom推荐一种自下而上的方法来选择开源项目。

Nystrom说:“开发人员和架构师知道社区是什么样子的,以及哪些是当今使用最广泛的图书馆。”“他们对我们应该为何种目的使用哪个库,或者我们应该在这里使用某种类型的持久API的哪个版本,或者什么是最好的登录库有更清晰的看法。因此,您可以非常迅速地缩小与企业相关的库的数量——从几十万个到可能不到100个,这取决于您想要构建什么。”他补充说,从那以后,很快就会有一些“通常的嫌疑人”。

西德克萨斯农工大学选择CAS项目作为它的单点登录系统,因为CAS已经在德州农工大学的学院站成功部署,“而且参考资料是可靠的,”韦伯说。作为决策过程的一部分,他的团队还参加了与CAS相关的用户活动和高等教育会议。

下一页继续讲述主要故事

社区参与

开源的回报

一些非营利性的开源组织现在帮助公司回馈社区,为他们的程序员提供志愿贡献时间和才华的机会,以造福社会事业。

通过Benetech、FrontlineSMS、the Guardian Project、Mozilla Webmaker和Wikimedia Foundation等非营利组织的工作,所谓的人道主义免费和开源软件已经成为应对公民参与、救灾、教育、医疗和人权等全球社会挑战的重要工具。

一些科技公司已经将他们的技术人员联系起来,让他们有机会为造福社会的项目贡献自己的技能,比如VMware就通过其#ContributingCode倡议。但任何公司都可以参与到这样的活动中来。关于这些努力的一个信息来源是SocialCoding4Good该公司正在与几个非营利组织开展一个试点项目,开发人道主义免费和开源软件。

企业和员工通过回馈能得到什么?根据几个非营利组织的说法,很多。这些组织的开源项目旨在改善全世界人民的生活。

“它为员工创造了巨大的职业发展机会,”Benetech的工程副总裁Gerardo Capiel说,该公司赞助有利于扫盲和教育、环境保护和人权的开源项目。一些项目利用他们公司现有的技术,可以影响他们如何影响世界。另一些则让程序员从非营利组织列表中选择自己的事业。

促进社会变革也会对员工产生影响。当程序员Abhi Mahule得知Benetech公司想要为视障人士开发一款基于android系统的电子书阅读器时,他想把自己的技能和时间奉献给一项事业。Mahule使用了一个现有的开源电子书阅读器,并对其进行了改进,使之适用于安卓系统,可以像音频一样大声“读”书。他建造了一个原型,Benetech从美国教育部获得了资金,将其推向市场。卡佩尔说,如今,成千上万的人在使用这款应用。

Mahule说,这个项目“帮助我磨练了我的技术技能”,但他补充说,无形的利益更重要。他说:“这是一种快乐和美好的感觉,因为你能以一种小小的方式做出贡献。”“你应该永远追求更伟大的事业,追求更伟大的利益。这是一个绝佳的机会。”

-史黛西Collett

这需要一个村庄

对于许多开源项目来说,开发人员社区是软件的命脉,那些刚接触开源的人应该知道这些社区的运作方式各不相同。

例如,成熟的Linux社区从一开始就在创始人莱纳斯•托瓦尔兹(Linus Torvalds)的“仁慈独裁”下运作。但是新项目的开发者也经常对他们的社区保持严格的控制。

WibiData是一家基于hadoop的用户分析公司,帮助组织构建大数据应用程序,它提供了部分开源软件堆栈,让开发者更容易在HBase NoSQL数据库上构建大数据应用程序。

WibiData的首席架构师Aaron Kimball说:“现在,99.5%的软件是由我们自己的团队编写的。”“让人们使用它需要相当长的时间,每50个人使用它,就有一个人可能开始帮助做出贡献。”

然后是激进的民主模式。开发人员Apache软件基金会捐赠的产品,例如,必须与社区达成“懒惰的共识”,这意味着“你需要一些个人给你的想法竖起大拇指,没人给它一个明确的反对,如果他们这样做,他们有义务和你一起工作的变化,“金博尔说。“它的设计目的是在某种程度上放慢速度,这样所有用户都可以投入其中,并通过共识达成最佳解决方案。”他补充说,尽管最积极参与编写源代码的开发人员应该是最先听取意见的人。

施比受好吗?

IT部门可能认为,当他们购买开源软件时,他们还必须积极参与社区,以确保社区的生存。但情况并非总是如此。

有了像Red Hat这样广泛使用的开源产品,“(供应商)对社区的控制非常大,”Nystrom说。他补充说,虽然他们确实从社区中获取了利益,但“他们仍然控制着产品”。“他们并不依赖社区来保证产品的稳定和发展。”

Sprint Nextel目前依靠红帽顾问作为其与开源社区的联系,但克劳斯认为,随着时间的推移,该公司将需要更少的手拉手。“我们最终将不再把红帽作为我们的支持系统,而是直接与开源社区合作,”他说。

对于小型开源库或项目的用户来说,社区要重要得多。

奈斯特罗姆说:“这只是一群人拼凑起来的,背后可能没有商业实体。”在这些情况下,期望开发人员做出贡献,但如果他们拒绝呢?

一位开源用户说,如果产品是特定行业的,就很难做出贡献或“回报”。

伊利诺斯州内珀维尔(Naperville)的贺曼服务公司(Hallmark Services Corp., HSC)。该公司购买了Healthation的开源代码许可证,这是一个用于管理医疗业务交易的商用现成系统。

根据首席信息官兼金融服务副总裁Neal Kaderabek的说法,采用开源方法减少了完成项目所需的劳动力,使HSC提前9个月完成项目,节省了480万美元的劳动力成本。HSC与伊利诺伊州莱尔(Lisle)共同开发了该软件。-based Healthation, and it has the right to exclusive use of functionality that it developed -- it doesn't have to make it available as open source.

Kaderabek说:“我们很少检查任何东西,我们只是把它拿出来,修改它,让它成为我们业务的独特之处。”他补充说,HSC与社区共享的开发成果不到一半。“坦率地说,我们认为这让我们有别于竞争对手,所以我们为什么要让全世界分享它呢?”

他承认,《健康》对HSC没有为其开源社区做出贡献感到失望。“他们认为,这是他们的产品对行业更具吸引力的原因。但在这种情况下,我只是觉得这是我们的秘方,”他说。

12 第1页
第1页共2页
SD-WAN买家指南:向供应商(和您自己)提出的关键问题