首页 > 移动应用 > 正文

技术巨头们如何传播开源编程之精神

2016-01-25 13:23:00  来源:51CTO

摘要:以谷歌、Facebook以及爱立信为代表的行业巨头们已经解决了众多小型企业们目前所面临的大规模技术难题。
关键词: 编程
  “Go是由谷歌公司设计,用于帮助其自身解决实际问题的编程语言。”Go语言设计者之一Rob Pike表示。
 
  事实也许的确如此,不过目前该开源语言正越来越多地被世界各地的其它企业所使用,负责构建立足于大规模场景的应用程序。
\
  同样的情况也发生在Erlang方面。其最初是由瑞典电信企业爱立信开发的一种专有语言,旨在处理其硬件之上往来传输的大量电话交换数据。然而Erlang随后转化为开源项目,如今正快速成长为大规模应用程序开发领域的高人气选项。
 
  类似的情况还有很多。Facebook公司开发出了GraphQL与BigPipe技术,旨在解决其所运行的社交网络流程所面临的、由15亿活跃用户每天进行的数千亿次API调用操作引发的挑战。然而当下这些技术成果已经转为开源,并被Drupal等内容管理项目用于快速处理自己的移动网络页面负载。
 
  大家可以注意到了其中的共性:各类编程语言与技术方案都是由业务及互联网巨头所开发——专门用于解决其超大规模业务运作所面临的特殊挑战——而在开源化之后,如今其开始为众多常规规模企业的日常运营服务。
 
  造成这种情况的部分原因在于技术的天然涓滴效应,Gartner公司研究主管Mark Driver解释称。“如今的前沿高科技将成为明天的标准产品,”他表示。“另外,大型企业(例如谷歌与Facebook)对于开放计算以及互联网发展动力的协作特性拥有深刻理解。因此它们自然乐于分享这些技术成果,从而引导整个业界进一步以其为中心规划发展方向。”
 
  这对谷歌意味着什么?
 
  谷歌这类企业也有可能是出于利己主义思维才对自家技术成果进行共享。举例来说,去年11月谷歌公司对其TensorFlow人工智能与机器学习引擎进行了开源。很明显,这类技术成果需要获取大量数据才能切实起效。
 
  通过放开其TensorFlow技术,谷歌公司允许每位个人及每家企业通过这项技术获准,并对其代码做出一切改进。不过作为通过其中大量服务所收集到的数据的实际拥有者,谷歌自身同样处于受益者地位——而且其受益规模要远远超过与该技术相关的开源社区。
 
  将Go这样的语言推广给每个人也能够获得可观的市场回报,Driver解释称。“赞助Go这样的项目能够帮助谷歌公司招揽到更多工程技术人才,”他表示。“这可能会给创新工作带来理想的良性循环。”
 
  涓滴效应之所以如此重要,是因为谷歌、Facebook以及其它互联网巨头几年之前在构建超大规模应用程序以服务海量并行用户时所面临的难题,如今已经摆在无数需要以基于Web或者移动平台方式向大量客户交付应用程序的中等规模厂商与初创企业面前。
 
  这些企业赫然发现,自己所面临的问题事实上已经被行业巨头们所解决。
 
  Acquia就是这样一家公司。其利用Go语言构建自己的软件即服务产品,旨在为Drupal内容管理系统提供企业级服务。“正有越来越多的企业转型为数字化企业,即需要处理来自客户、移动设备以及其它来源的数据,”Acquia公司副总裁Christian Yates表示。
 
  “这恰恰是大型互联网厂商们以往曾经面对过的状况,它们也已经构建起软件方案加以应对。其高度关注并发性、延迟水平以及性能表现,而我们如今也有着同样的诉求。”
 
  他同时指出,他的公司对多种不同编程语言进行了测试,并发现Go的速度表现最为出色。事实上,其开源属性也使得编程团队得以参与到速度调整工作当中并实现快速创新,他补充道。
 

  “在市场上得到广泛采纳,拥有理想的源代码可视能力并了解其如何帮助开发人员不断提高生产效率,”Yates指出。“而我们也已经开始利用来自Etsy及其它互联网企业的工具帮助自身进行服务器管理。”
第三十届CIO班招生
法国布雷斯特商学院硕士班招生
北达软EXIN网络空间与IT安全基础认证培训
北达软EXIN DevOps Professional认证培训

责编:pingxiaoli