当开发者想到开源时,他们只会联想到“免费”,而不会想到其他的方面了。因为一般情况下,人们不会太关注那些能够让他们免费使用且几乎没有任何许可限制的技术。
当开发者想到开源时,他们只会联想到“免费”,而不会想到其他的方面了。因为一般情况下,人们不会太关注那些能够让他们免费使用且几乎没有任何许可限制的技术。
如今,当中小企业想到开源时,他们会立刻想到“业务灵活性”。面对当今瞬息万变的市场,中小企业越来越重视“业务灵活性”,并将其放在中小企业发展的首位。
相关IT业界人士表示,利用开源技术,能够快速、有效地开发出新的应用,同时还能节省成本,这使得许多大大小小的中小企业都开始拥抱开源技术,并不断地将开源技术应用到一些规模更大的项目中。
这就是开源技术迅速普及和流行的原因。Forrester研究公司专注应用开发和交付的分析师Jeffrey Hammond在Forrester发布的一篇题为“2013年的开发环境(Development Landscape: 2013)”的报告中指出,76%的开发者都不同程度地使用过开源技术。
为什么很多中小企业,无论其规模大小都非常重视开源技术呢?对此,本文总结了4点理由。
开源可以控制成本支出
节省成本是中小企业重视开源技术的原因之一,也是一个非常重要的原因。无论是大中小企业还是小中小企业,成本都是它们要考虑的一个重要问题。比如,美国流媒体播放公司Netflix每个月的服务支出费用最少可达8美元,这是怎么做到的呢?对此,Hommond解释说:“因为Netflix公司所有的东西都创建在了开源软件上,这样的话,该公司只要集中精力做内容就可以了,而不用费心思去建立运营系统或者测试架构。”
“Netflix通常使用Spring、JBoss或Drupal等开源软件对其内容进行管理。”Hammond表示,一些中小企业能够免费使用“Lego blocks”,所以他们能够将他们的时间和资源更多地投入到他们想要做的事情上去。过去,中小企业通常采用定制的软件套装,如ERP应用,而如今,有了开源技术,定制软件的成本也降低了。
尽管近日来许多开发者和越来越多的中小企业都看好开源技术的发展,但并不是所有人都这么认为。
据Forrester 2011年第四季度的调查发现,那些从不使用开源工具,尤其是开源集成工具的开发者们对开源退避三舍的主要原因是,他们对技术支持(其中有71%的受访者对此表示担忧)和缺乏管理开源项目的技能(42%的受访者对此表示担忧)表示担忧。同时,受访者还担心安全和授权限制范围等问题。
在某些情况下,开源的确促进了应用定制开发的发展。在过去十年里,应用定制开发在市场上逐渐失宠,这导致了商用级的应用和软件即服务(SaaS)产品获得广泛使用。
应用的定制开发可以节省成本,这一点吸引了锐珂医疗公司(Carestream Health)。锐珂医疗总部位于美国纽约罗彻斯特,是一家总资产约25亿美元的牙科、医疗成像系统和医疗保健IT解决方案供应商,该公司现有8000名员工。锐珂医疗想要将其在世界各地工厂中的医疗设备上的数据信息整合到单一产品生命周期管理应用(Product Life-cycle Management, PLM)中,通过有效的信息管理,以减少新产品的研发和生产时间。
“我们想要对全球范围内的产品相关信息实现统一的管理”,锐珂医疗全球研发和IT工程部门主管David G. Sherburne说:“未来随着现代化平台的产生,我们希望通过采用有效的解决方案,同时减少人工操作步骤,将我们的生产力提高5%。”
所以,锐珂医疗选择了Aras公司。Aras公司是一家总部位于美国马萨诸塞州安多佛的解决方案供应商,为全球中小企业提供一系列完整的PLM解决方案,该公司利用一个开源模型鼓励其用户开发新的组件并与其它中小企业分享组件。“Aras公司解决方案的性能是最好的,而且价格合理”,Sherburne说:“但是Aras的解决方案并不能满足我们的全部需求,因此我们还需要做一些额外的应用开发,完成之后,我们会基于固定成本的出发点将其部署我们在全球的各个工厂中。”
由于没有前期资本许可证的费用,这促进了锐珂医疗一直向前发展,而没有采购和库存许可的后顾之忧。“软件定制模式允许我们进入到PLM项目,并进行合理的实施部署”,Sherburne 说:“它能够提供一个固定成本平台,该平台可以随着时间的推移而逐渐增强,也可以逐渐扩大以允许更多的协作访问,同时中小企业不需要支付额外的费用。”
像预期的一样,锐珂医疗在开源应用中取得了成效,其中小企业中部署的软件服务了1500个用户(包括1000名内部用户和500名供货商),而且其价格还不到百万,这与预付费用有几百万美元(其中还不包含随之而来的维护费用)的应用组件形成了鲜明的对比。
然而,大中小企业并不是唯一从开源的成本构成中获益的组织。从经济学的角度来讲,对细分市场软件有需求的小型中小企业也可以从这种质优价廉的软件组件中得到他们所需要的东西。
Development Is Child's Play的所有人Teri Wiss最近几年一直在寻找一个合适的应用,可以让她轻松管理她的16名员工(包括全职和兼职),并利用这个应用来给他们计算工资。 Development Is Child's Play是位于美国加利福尼亚州库比蒂诺的一家专业儿童治疗中心。
在过去几年中,Wiss评价了各种各样的医疗软件组件,但这些组件中没有一个能够提供她想要的功能。Wiss表示,由于其所从事的领域的专业性和独特性,几乎没有哪个SaaS产品或应用能够满足她的需求,而那些能够满足她的需求的应用又贵得离谱。
最终Wiss决定找一个专注开源技术的开发人员来帮她定制一款符合她需求的应用软件,这种基于开源技术定制的应用,其服务价格只相当于Wiss之前关注的SaaS产品一年的使用费,而且应用交付时,只需一次性付费即可,不存在其他额外的高额费用。Wiss说:“一开始我很担心因为对IT技术懂得不多,怕开发人员不能明白我到底想要一个什么样的东西。但是后来谈到合作的时候,这名开发者让我忘掉他要做的工作,只管向他介绍我自己的工作方式就可以了。”(有关这一案例的细节可以阅读附图“开源助小中小企业摆脱困境”)
开源能够提高软件开发的质量
支持开源技术的人一直认为通过开源技术能够开发出更好地软件。他们认为:在开源社区中,如果代码有误的话,那么开发者们会很快发现这一问题,并及时将其解决。而程序员自己通常很难发现这一问题,至少短时间内不会发现。
美国银行(Bank of America)就看重了开源技术的这一优点。“当提到高质量软件时,我们的选择范围很广”,美国银行负责全球银行业务的总经理Peter Richards说:“开源技术可以让我们无论是在可靠性还是金融方面,都会获得一些好处。”
Richards表示,通常情况下,银行会把开源组件整合到定制开发应用中,但这些开源组件必须是经过认证的。他说:“我们会仔细检查每一步,以确保这些开源组件能够在银行的开发环境中得到有效利用。”
像美国银行这么大的公司在使用开源技术,一些人不免会有些惊讶,对此,Richards引用Linux在商业环境中获得广泛应用的例子来回应他们。他说:“最初,中小企业也比较担心,害怕Linux只是一个业余爱好者开发的操作系统,并不专业,恐怕无法胜任中小企业环境。但是,很多年之后,那些支持Linux的人将Linux打造成一个能够出色地在中小企业环境中应用的操作系统。”
开源的应用开发代码之所以能够提高软件的质量,是因为有一部分开发者在贡献、检查和测试开源代码,也就是说这些开源代码都是非常可靠的。同时,该发展结构也关系到了成本问题,如果自己做的话,那么最后你可能会付出一大笔费用,因为你需要自己测试并检查代码。Richards说:“以合理的成本提供高质量的服务,这就是开源最大的优点之一。”
开源可促进业务敏捷性
不要把业务敏捷性和敏捷开发的概念混淆,业务敏捷性是指中小企业能够迅速应对市场需求的一种能力。通过加快软件开发的速度,开源不仅赋予了开发者敏捷性,同时也赋予了中小企业业务的敏捷性。
Ron Pitt是与Development Is Child's Play所有人Wiss合作的开发者,同时也是位于美国加利福尼亚州波威市的LevelHead Solutions公司的软件顾问。如果Ron Pitt在做这个项目时需要新代码的话,他只需花几分钟直接从开源社区下载就可以,而不用自己重新开发。Pitt说:“当然,其中的一些代码会有漏洞,但是我宁愿花上15分钟去修复这些漏洞,也不愿意花15个小时重新写一个代码。”
中小企业也同样受益于开源技术所提供的功能,能够让他们快速对市场做出反应。值得一提的是,那些使用开源软件代码的中小企业根本不需要按照供应商给你限期进行其商业应用的升级。“如果你要是等供应商来帮你做升级的话,那么这会影响到你公司创新和生产的速度”,位于加拿大渥太华的Eclipse的执行董事Mike Milinkovich说。Eclipse最初是由IBM公司开发的替代商业软件Visual Age for Java的下一代IDE开发环境。
Kaiser Permanente公司副总裁Madhu Nutakki也认为开源能够在敏捷性方面为中小企业带来价值,Kaiser Permanente是位于美国加利福尼州西部城市奥克兰的一家医疗服务机构。
自2011年起,Kaiser Permanente公司就一直用GitHub源代码控制公司内部系统。Nutakki说:“GitHub是由开发者创建的,能够以最快的方式发布代码。它为我们更快速、频繁的发布更新提供了便利。”同时,GitHub中也能够使用专有的开发工具,Kaiser Permanente公司主要利用它来做开源部署。
Nutakki解释说:“我们使用GitHub主要是因为我们编程范式需要一个更加快速的发布模式。” Kaiser Permanente公司大举进军移动领域,这意味着该公司将面临一些对频繁更新有着更高期待的客户。“我们之前平均以每六个月一次的发布周期创建一个大的应用,而在过去两年里,我们逐渐缩短了发布周期,改成每季度、每月甚至更快。利用GitHub我们只需一个小时就能创建一个应用,如果用其他产品的话,则需要花上很长时间。”
Forrester分析师Hammond也认为,开源技术敏捷的优势是其能够迅速在中小企业IT部署中走红的原因。“如果你问一个开发者怎样做好一个特殊的项目,他们会告诉你他们不会去购买任何硬件设备,因为他们可以将这个项目运行在Linux上。他们可以利用一个开源开发架构,同时还可以帮助任何人开发他们想要的应用。”
开源同时也为软件开发过程中产生的新资源带来很大的“弹性”。Hammond说:“你无须担心‘我有没有许可’、‘我是否要去购买更多的软件’等问题。”这就是基于云的软件和开源软件高度关联的原因,他指出,这两者为中小企业提供了前所未有的可扩展性和灵活性。
开源能够缓解业务风险
利用开源技术的另一个好处(也许往往被人们忽略)就是减少中小企业对单个或多个供应商的依赖,从而降低业务风险。Milinkovich指出当中小企业开发的TOPCASED(一种嵌入式系统开发工具)被收购时,开发者可以立即停止他们在TOPCASED上所做的工作。而那些曾经使用过、青睐该工具的中小企业,比如Aibus(空中客车公司,欧洲一家民航飞机制造公司)又将它进行重组,并且寻找其他开发者继续支持这一工具。
供应商不断更替,商业等级也在不断改变,而唯一不变的是开源社区。Milinkovich说:“开源技术的开放和透明缓解了许多风险。只要还有利可图,或者你继续访问源代码和资源库,那么无论中小企业的规模是大是小,它都不会放弃开发代码的。如果你能拥有一个根据自己编写的充满活力的代码社区,那么它将比任何一个死板的中小企业更具有弹性。”
位于德国纽伦堡的SUSE公司的产品主管Gerald Pfeiffer认为,正是基于这些原因,开源技术才会蓬勃发展,SUSE主要提供中小企业级的Linux操作系统的发行版。
人们利用开源技术节省了成本,从中获得了好处,但这并不是开源最大的优点。开源还提供避免锁定和定制等功能,它是所有这些功能的集合。Pfeiffer说:“你和其他人共同承担开发的成本,所以在开源社区里,你能够获得比供应商提供给你的更大的多样性和独立性。”
网友评论