开源是门艺术
2014-03-19赵艳秋
赵艳秋
开源技术正在成为云时代的重要力量,它的前世今生和商业逻辑是什么?
李华曾在全球最成功的开源软件企业红帽公司工作过6年多。2012年4月,因为看到云服务的未来机遇,他和同事一起出来创办了海云捷迅。他推崇红帽在开源世界开创的运营模式,也推崇开源技术。
红帽出来的创业者
“开源给了用户自由选择的权利。”李华说。原来,开源软件的开发类似今天互联网世界的众筹模式,成千上万不同背景的技术爱好者、不同企业的工程师聚集在一个“开源社区”中,一起贡献来创造一个他们热爱的产品。这个产品的代码、技术和文档都是公开的,人们可以自由使用它。
一开始,大家并没有在开源技术上找到商业模式。后来,红帽公司创造了一种“订阅”模式。它基于开源社区中的软件,经过更多的测试和验证,再发布更稳定、更易用的“企业版”,用户可以免费使用,但如果需要技术支持和咨询服务,就要付费“订阅”。同时,企业版所有源码也会回馈到社区,和社区形成良性循环。这一模式一经推出,就受到用户的欢迎,不仅推动了开源技术的企业级应用,还让红帽大获成功,开源企业纷纷效仿。
因为开源技术的“众筹基因”,李华体验到了它的独特之处。用户很容易被传统产品和平台锁定,但开源基本不会;同时,开源成本更低。“微软Windows 2008数据中心版本当年每CPU要2999美元。而红帽企业版Linux 5 没有软件授权费,服务订阅一年的费用大约是1万元。”李华举例说。开源还能快速搭建系统,证明或者实现一些业务思想或流程,适合初创企业。这些独特的优势也是互联网公司广泛使用开源技术的原因。
“开源产品质量也不差。虽然每个人都可以向开源社区贡献自己的代码,但开源项目接受不接受是由大家来审核的。社区有项目负责人,这些人是技术大牛,靠技术说话,你的代码质量差,就不会被整合到产品中去。”李华说。因此,开源世界涌现出一批经典之作,像Linux操作系统、MySQL数据库、Apache Web服务器等等。
不过,到目前为止,全球成功运营的开源软件企业并不多见,这更凸显了红帽的商业运营能力。李华观察,红帽之所以能够成功,首先是打造了一个稳定可靠的企业版产品,并全部回馈社区。“这让它在Linux社区有很高的声望”。
开源社区的运作也大有门道。“建立影响力而非控制力”是最关键的理念。微软等传统软件巨头在开源领域很难获得成功,因为他们总想着“控制”。但红帽在社区中尝试创建机制,让大家都可以参与决策。至今为止,虽然红帽对Linux内核代码的贡献最多,也不过占总代码的12%,这吸引了生态链更多企业的参与,社区人气很旺。最终,红帽利用社区机制带动业界巨头一起来做一个标准,IBM、Oracle、微软都参与进来。标准做成了,红帽也成功了。
在开源社区发展过程中,红帽把自己的商业价值锁定在服务能力上。“红帽中国曾经做过一个统计,在中国区只要客户的问题可以重现,100%都能得到了解决。”李华说,“这得益于红帽全球的服务支持网络和资源。在每个国家都会有本地的工程师提供L1/L2的本地化技术支持服务。如果问题在当地无法解决,会被升级到全球SEG团队来处理。也许白天在澳大利亚,晚上在美国,红帽确保为企业客户提供7x24小时服务。”为了构筑这样的服务体系,红帽也建设了强大的培训体系,可以让在校大学生通过系统的培训,也能好快的掌握好相关技术。
李华刚出来创业时,本想做一家开源公司,但他很快发现这很难盈利。红帽2012年做到了10亿美元,已是开源企业中最大的了,但与传统IT巨头相比并不算大。而且,在全球尤其是中国,大家还不太愿意为服务付费。在这种商业环境下,想通过开源的商业模式来养活公司比较困难。
“于是,我们改变了方向,像很多互联网公司一样,去利用开源技术,打造自己的商业产品。我们基于OpenStack开源技术打造公有云平台,去销售云计算资源,像云主机、云存储以及用户自定义网络。”李华说。
2013年,海云捷迅获得了宝德科技的战略性投资。宝德科技拥有服务器业务、数据中心业务以及在游戏产业的投资,双方下一步的合作将更为紧密。
开源社区并不是一切技术都提供。由于OpenStack前期还主要集中在私有云的构建上,在公有云所需的大规模部署、可扩展性、稳定性、计费、运营、SDN等方面功能较弱。李华他们重点投入资源开发了这些技术。今年晚些时候,这个公有云平台将会发布,初期主要针对游戏、电商和移动互联网开发者市场,提供富有弹性的资源池。
李华说,他会借鉴红帽的服务模式和培训体系,为企业客户不仅提供硬件资源服务,还将提供更多企业级软件和开源软件的技术支持和咨询服务。
开源与云
梁胜,思杰公司云平台部首席技术官在10多年前毕业找工作时就体验到了开源技术的好处。那时,很多同学对进入公司做什么项目并不清楚,但梁胜应聘的是Sun公司的Java核心开发团队。Java是一种开源产品,这让梁胜有机会在加入Sun之前就对产品做了一番研究。
“现在,计算机工业界对开源的理解要深入多了——根本上说,开源是‘社区比代码更重要。”梁胜说,“开源的好处不光是技术,而是可以创建一个社区对技术做推广。”
2008年,梁胜开始了云计算领域的创业,做云操作系统CloudStack。1年之后,他们对该技术做了开源。当时云计算还处于早期摸索中,技术一经开源,社区中就有一批技术爱好者抱有极大热情去推广。
“他们做的事情让我很感动。”梁胜说。在梁胜创业早期,社区中一位日本人愿意付费邀请梁胜去日本讲解CloudStack技术并接洽客户。到了日本梁胜发现,这位叫Arar的年轻人,家并不在东京,他来东京借住在朋友家,每天帮助梁胜推广CloudStack。“日本市场最早就是他这样推广起来的。”梁胜回忆说。两三年后,从其他人那梁胜才得知,当年的费用是Arar用私人积蓄提供的。而且,Arar只希望资助梁胜把云计算相关技术带到日本,并未抱着商业目的。前段时间在欧洲,梁胜也遇到了像Arar一样的人。“他们热衷技术,说话很公正,在社区中很有影响力”。
后来,CloudStack技术被思杰(Citrix)收购,思杰在2012年把这个项目贡献给Apache基金会,CloudStack所有的知识产权、代码、品牌都归属Apache基金会,这让用户可以更放心地使用。Apache基因会是15年前专门为开源软件项目创办的一个非营利性组织,在它下面有几百个开源项目。
在Apache 基金会,梁胜了解到Apache最厉害的,是有一个强大的用户社区,这对开源项目帮助很大。最近一次在荷兰举办的CloudStack国际会议上,有一张图展示着CloudStack的用户。“上面有几千个点。”梁胜印象很深,“一旦进了Apache,开源软件就被推广到世界各地。”
思杰对CloudStack采取的商业模式类似红帽,提供CloudStack商用版,可以免费使用,但如果用户需要技术支持,他们就要购买服务。
“实际上,我觉得,除了市场推广外,我们对CloudStack的运营与传统软件差别不大。”梁胜分析说,“这是因为云计算技术比较复杂,涉及到一个数据中心的建设。因此,在很多情况下,客户希望和厂商打交道。”为此,思杰也投资建立比较强大的技术支持和咨询服务团队。
梁胜举了一个例子,两年前中国电信要购买Citrix CloudStack服务。第一次和中国电信洽谈,梁胜的同事发现,中国电信对CloudStack很了解,采用CloudStack的云平台已经进行了测试,即将上线。可就在上线前,中国电信还是找到思杰建立商业关系,希望在一些细节技术和未来云技术的发展中得到专业厂商的支持。“这种例子很多,很多客户从开源开始,用好了才找到专业厂商建立合作。”梁胜说。目前思杰有200多个付费大客户,他们都利用CloudStack搭建了很大的云平台。
与CloudStack类似,另一种开源云操作系统OpenStack 最近两年非常火热。“在我看来,整个云计算产业都处于早期,大家要一起把云计算市场开发出来。OpenStack后面有一些大企业花大力量做推广,在这方面做了有益的事。”梁胜说。他同时也认为两种开源技术的发展路径不太一样。CloudStack早期把架构、功能已经定义好,比较成熟后再通过社区推广,这是一种比较好的方式。OpenStack相对而言早期没有那么成熟,社区控制力太小,发展速度不太快。
“不过,除了社区开发这块,开源技术归根结底还是要做好的软件。早年CloudStack、OpenStack和其他同期产品都犯过很多错误,最后起到非常大影响的还是软件的质量。”梁胜说,“开源很透明,大家对软件质量都看得很清楚,所以我们要像苹果一样做最好的产品,帮助用户解决问题。”
前几年,梁胜关注的是让CloudStack更易用,从而简化用户搭建云平台的复杂度。现在当很多用户在云平台搭建之后,有遇到了“大云”问题,对“大云”有了运维、快速更新等新需求。今年,梁胜将把精力集中在这些新需求上。
当开源遇到商用产品
在去年9月华为云计算大会上,华为发布了基于开源技术OpenStack的云操作系统,这是华为云平台的重要组成部分。在世博中心会场中,华为虚拟化产品总监张建华告诉记者,华为云平台团队已投入1000多人,这是华为最大的软件项目团队之一。
在华为10多年的工作中,张建华一直都在与开源技术打交道,无论是通信产品,还是云平台和大数据业务。“我们在大数据开源社区MapReduce的贡献度2012年就排在了全球前7位。”他说,“实际上,我们用开源由来已久,也很务实。”不像互联网企业对开源软件基本是自产自销,华为将开源用于商用产品。在这个过程中,张建华他们也慢慢形成了一套开源技术的商用逻辑。
“任何企业要做开源都要先回答3个问题:我的战略选择是什么?在这堆代码中,哪些是我的商业核心?我能为开源社区贡献什么?”张建华说道,“只有回答了这3个问题,企业才能在确保商业利益的前提下,跟着开源社区一起成长。”
之所以提出这几个问题,是因为这些年张建华发现了开源社区在一些方面的缺失。他看到,开源技术的众筹基因,使它在客户群选择上是没有战略的,更不会针对不同客户群做出不同的产品架构。与此同时,在开源社区中,工程师将绝大部分精力集中在产品功能的开发上,这造成产品在可靠性、稳定性和易用性上非常缺失。“OpenStack的界面当前还较为粗糙,仅能让人们知道它基本功能,但易用性对最终用户是极为重要的,而开源社区并不具备”。此外,开源技术还有一个发展“节奏”问题。它不可能与任何一家企业的商业诉求完全匹配。“尤其是当一个开源社区被某家商业公司得到,这个问题会凸显”。像Oracle收购Sun之后,开源数据库MySQL就没有以前那么火了。MySQL的更新会先保障商用版的价值,新技术不会一开始就放到社区中。
“如果企业使用开源,必须要解决这些问题”。社区在客户群上没有战略选择,企业要有。张建华以华为开发云平台为例,华为首选的客户群是运营商,其次是中国这样的新兴经济体,然后再扩展到欧美。“选定了客户群,我们就要分析他们共同需要的核心技术点。这些技术点并不完全构建在开源上,因为你有的别人也有,你不会成功”。华为最终锁定的技术控制点之一是虚拟化,这是华为的基因决定的。“过去20年华为在通信领域掌握了对底层资源的调度能力,这是华为的价值,也是我们做云的资格。”张建华说,“因为云计算的关键技术之一就是对服务器、存储和网络资源的调度能力。其中网络虚拟化、存储虚拟化是我们的核心。我们为此投入了三、四年时间,很扎实地把虚拟化能力构建了出来。” 在这样的开发过程中,张建华他们也分析出哪些技术是可以贡献给社区的。
张建华观察到OpenStack社区有几类角色。第一类是IBM、惠普、华为等基础设施供应商,他们要支持OpenStack,让自己的各类设备能被OpenStack管理起来。“很多人说这类角色不是核心,但我认为这些企业在过去30年控制着IT行业,是社区中关键的生态链。如果社区吸引了这些IT巨头,自然而然就有了成功的可能。”他说。
第二类是试图发布商用版本的企业,包括红帽和Ubuntu,他们最大的贡献是对开源代码的纠错,解决代码本身的问题。
第三类是OpenStack的发起厂家。他们是架构的决定者,是决定房屋结构的人。“我们感到,搭架构很有学问。架构要搭得便于大家去贡献,只有这样,社区才能吸引到人”。
最后一类是用开源去构筑完整解决方案的人,他们为开源技术贡献的是功能。
“华为涉及了第一、二、四这三类角色。这恰好也是我们对OpenStack贡献的节奏。两、三年前我们先让自己的设备能被OpenStack管理起来,接着是纠错,接下来我们会去补充功能,让开源技术更加丰满。”他说。
张建华强调了华为对开源的贡献。“首先是保障社区的生态链。如,2013年在香港召开的OpenStack Summit,华为参与了其中的众多环节,这也是向外界充分表明,华为对OpenStack的全面拥抱,以及在推动社区发展上的积极投入。”他说。华为也曾明确表示,今年对OpenStack社区的代码贡献要进入全球前十。“我们对开源社区的贡献也是让客户知道,我能驾驭这堆代码。”张建华说,“给客户传递这个信息很重要,这就是我们的影响力。”
在今年巴塞罗那世界移动通信大会期间,华为重点推广了FusionSphere 基础设施虚拟化解决方案。在今后的工作中,张建华会更加关注云平台周边的配套工具和上层应用生态链。“我们也期待挖掘更多的合作机会。”他说:预计中国云计算市场将在今年达到一个全新的高度。