大多数公司通过使用开源软件获得了很多竞争上的优势,这一点毋庸置疑。但另一边呢,公司可以从对开源贡献上获得什么好处呢?
虽然通用创建利他主义而获得了一些“回馈”,但是企业所需要的是必须以这种方式得到更多的回馈和利益。像Google或Facebook那样贡献数百万行代码开源的积极性背后,其经济动机又是什么呢?下面我们来看看,企业贡献开源项目背后隐藏着哪些重大战略动机?
1. 建立标准
2010年,NASA 和Rackspace 在Apache 2.0许可协议的基础上发布了自己的云计算平台。从那时起,Openstack项目就已经成为开放云计算的行业标准。Rackspace无疑是坐享其成,因为他们胜过竞争对手,让其产品成为开源标准,并培养了一个热情的围绕其代码转悠的社区。
Rackspace CEO Lanham Napier说:“我们相信Openstack将会迅速成为云计算的开源标准,当我们推出OpenStack云的时候,我们就已经是存在的最大的OpenStack云了。这创造了一个自然的机会:帮助我们销售OpenStack云服务。”
2. 吸引并留住顶尖人才
相当明显的,在招聘市场找到高质量的开发人员比在街上找到独角兽的几率大得多。很多公司使用开源战略从OSS社区获得一流的开发人员。事实上,在过去的两年里, The Future of Open Source Survey调查结果显示:公司吸引和留住开发者精英的最关键手段就是和开源社区保持特殊的关系。
另一方面,在开源上做的较少的公司其流失人才的几率也会大很多。Register最近的一份报告表明,Amazon正在遭遇这样的困境。
公司被描述成一个“黑洞”,因为开源软件的使用、改进和修复全都是暗地里进行的,今天的一些最有才华的技术人员几乎没有哪个是想在一个将他们和广泛技术社区隔离开来的公司做事的。
一般情况下,开源贡献能够帮助公司的开发者做这些事情:
获得社会认可和开源“信誉”。
进一步发展和提高他们的技术技能。
提高他们的士气,让他们在工作中找到更多的自豪感。
和广泛的社区保持坚固的联系。
3. 创建更好的代码
贡献开源,则能以下面的几种方式大大提高代码质量。
开发人员编写代码是给公众看的,一般不需要用多少捷径。他们常常因为对社区做出贡献而深感自豪,这可以激励他们将代码写的更好。
你周围的社区可以早期发现可能存在的问题,他们就是免费的可用性和安全测试的测试人员。
社区可以自我认定项目能力的下一步需求,并且增加更多的高质量功能,而这些之前可能并没有被考虑进来。
为开源项目编写代码的好处就是不会轻易的出现“踢皮球”现象,即:在同一个组织内不同的团队并不知道其他团队所写的代码是干嘛用的。
4. 扩展公司的技术团队
当你有一个强大的技术社区围绕你的项目转的话,你应该珍惜这个社区的存在,他们基本上可以作为你的开发团队的一个智囊团。一旦将项目向社区开放的时候,你就进入了一个精英开发者全局池,这些开发者自我培养,围绕你的技术将自己的代码贡献出来。这可以帮助你减少培训成本。此外,开发人员还可以在贵公司获得更好的在职培训。社区所能提供的文档和支持可以进一步帮助公司员工的发展。
5. 减少成本
除了免费的开源软件以外,改进后的代码质量有助于降低整体成本。Computer Weekly报告总结出Facebook开源其Open Compute项目所获得的优势。
Facebook已经减少了24%的成本,提高能源效率38%,因为它开始在其数据中心使用开源硬件系统,开源系统是基于Open Compute项目的,这是在2011年4月由一小群Facebook工程师发起的项目。
6. 增加平台采用率
到2008年年底,Apple在智能手机游戏领域已经成为无与伦比的大猩猩了,在它的视线内没的拿得出手的竞争者。然而,在4年的跨度里,Google可以说成为全球最大的智能手机平台,原因在于它使用Android的开源特性。像Samsung、HTC、Motorola 和 LG这样的大玩家也快速的在这个平台上站住了脚。而Google通过保持Android开源这一方式照样在智能手机市场上进行扩展和控制。
7. 影响对手的摇钱树
说 IBM 和 Microsoft在历史上是一对宿敌一点也不为过。Microsoft 最初设计 DOS 的目的是为 IBM PC服务的,同时也是想要克隆IBM PC。早20世纪80年代的时候他们还在OS/2上有合作,直到Microsoft 发展的太大为止,IBM丢失了在PC和OS游戏领域的阵地。然而,十年前IBM 通过支持Linux重返游戏行业,IBM大力支持推动Linux服务器(这无疑影响了Windows服务器的销售额)。因此。企业可以战略性的使用开源来重创对手。
8. 建立产品的配套服务
像Red Hat、Oracle 和 IBM这样的公司主要通过围绕开源组件构建服务的途径来赚钱。在过去十年里,我们见证了从软件到服务的一次巨大转变,一些有影响力的科技巨头已不再局限为软件公司了。这种趋势必将加速通过下一个十年。当你通过销售你所创建的开源组件的相关服务而获得高利润的时候,开源才更有意义。
写在最后
对开源项目做出贡献所带来的益处远大于你在开源社区所获得的声誉。营利性组织可以战略性的使用开源贡献来制定行业标准、雇用顶尖人才、尽早发现正在进行的项目中所存在的问题。
原文链接:http://code.csdn.net/news/2820015