时间:2015-06-13 18:02:22 来源: 复制分享
最近,我参加了在旧金山举行的Facebook F8开发者大会,在那里我得到了一点启示:从长远角度看,如果不深入贯彻开源技术,软件供应商就不可能获得成功。我聆听了许多特别引人入胜的演讲,对Facebook关于内部开发软件的解释非常着迷。我对这家公司居然可以如此迅速地将这么重要的IP回馈到社区之中留下了深刻的印象。
可以肯定的是,许多主要的Web公司,如谷歌和雅虎,也一直在积极地利用开源动态回馈社区。我的目的不是说要单独拎出Facebook,但由于F8大会期间我有机会去思考Facebook行动背后的驱动程序,所以会以Facebook为例,并且其他技术供应商或许可以从中学习一二。
下面是我列举的开源软件之所以能够成为基础设施和app平台公司必需品的十大理由:
1、利用现有资源,不需要再发明一次轮子
最显而易见的原因就是使用开源软件,就像是站在巨人的肩膀上,能让你更快更有效地构建软件。处于行业领先地位的公司必须先发制人,抓住已经过锤炼的生态系统,并在此基础之上添加自己的创新。如果凡事都慢人一步,都不是最优的,那你终将会被时代的浪潮甩在后面。
2、定制
处于行业金字塔顶端位置的公司,如作为一个有着14亿用户的社交网络,可用的开源软件通常只是高质量解决方案的起点。软件通常需要被定制之后才能广为流传。将自定义回馈给开源,就能够站在你的利益角度审查和改善开源。
3、积极进取的团队
除了优渥的薪水和支持性的工作环境,那或许大概就只有同行认可、社区认同以及有成名机会才能推动开发人员趋向于高质量的工作。将开源软件回馈给社区,让开发人员能够得到他们同龄人的认同和赞扬,是团队前进强大的动力,也是留住人才的重要工具。
4、吸引顶尖人才
高科技企业需要争夺人才,以建立自己的优秀团队。可能对有些人来说,在开发者社区的高曝光度(或者在同行中有着如雷贯耳的声誉),或许比优渥的薪资更重要。不愿意回馈开源给社区会在潜移默化中缩小高科技供应商的人才流向。
5、标准化实践的效率
采用开源解决方案意味着使用标准化的解决方案。这种标准化的使用和工作模式,可以促使执行一系列标准化的组织实践,而这将惠及其他公司的许多工程师。这种标准化的方式可产生更优化的组织,直指目标,避免更多的时间浪费。换言之,开源带来的标准化组织实践,有助于避免不必要的试验。
6、业务加速
即使是在技术供应商专注于向市场提供解决方案作为中心业务计划的情况下,开源也正在势不可挡地逐步取代专有的IP基础设施和应用平台技术。新建一个创造性的解决方案,并开源发布,能让你用最少的销售、市场营销和专业服务队伍投资,达到更广泛的技术采用。
7、提升影响力
创建开源软件能让创作者磨练自己的技能,在众多竞争者中领先一步。这场百舸争流的游戏有助于保持技术的进步。开源或许无法提供专有软件的版权保护,但在开源环境中运行所必须的持续创新和发展,却要求我们能够快速培育创新,而这一点现在已经成为业务成功必不可少的要素。此外,源代码的可见性还可以进一步扩大创新方面的影响力。
8、清理软件
创建开源软件也意味着工程师们必须得在白天进行操作,这可以让他们避免掉入剽窃软件的陷阱,因为通常会留下清晰的专利痕迹。许多专有的软件公司很难将他们庞大的代码库放到开源社区中,因为需要大量大量的时间用于软件整理进程。基于IP的开源企业从一开始就可以避免这一问题。
9、战略安全
基于开源软件的新产品对说服那些可能会担心供应商对技术的财力支持和战略承诺的顾客很有帮助。曾经IT企业习惯于向从大型的、稳固的高科技公司购买重要的(专有的)软件。开源使得规模较小的厂商通过开源这个竞争武器来化解战略安全问题,提供可行的解决方案。正是由于源是开放的,在理论上(通常仅限于理论上),如果当小厂商消失或失去兴趣的话,IT组织还可以匹配技能来支持技术。
10、客户商誉
最后,开源能让高科技供应商累积良好的声誉。比如说Facebook,这家在规范社会交往和隐私方面饱受争议的公司,通过回馈开源软件到大型社区,来一步步弥补对声誉的负面影响。