软件和互联网应用有什么区别?

我一直认为IT世界里,除了硬件就是软件,比如微软、甲骨文、金山,这些都是软件公司,他们的产品Windows、数据库、办公软件,都是软件。

后来有了互联网,出现了搜索引擎、门户网站,他们被称为互联网应用,百度、新浪、搜狐被称为互联网公司,这时候有一个问题,他们还是软件公司么?他们的产品和软件公司有一个很大的不同——不用安装,通过浏览器登录网站即可,前提是要有网。淘宝、QQ也是那个时候有的,淘宝更像互联网公司,QQ更像软件公司,因为很多人还是会下载一个QQ软件,但他们的共同点是——没有网没法用。

所以,区分软件和互联网应用,可能有两种方式:一、需不需要提前安装在电脑上,二、是不是依赖网络

再后来有了移动互联网,迅速所有的东西都变成APP,叫做手机应用了,手机应用都是需要提前下载安装的,如果按照第一种区分方式,那么所有手机上的应用都应该是同一类的,事实上不是,手机上有些应用,比如银行的APP、比如12306买火车票的APP,这些与微信、抖音应该不是一类。

那是不是依赖网络是一个区分的重要判据呢?我认为也不是,迅雷作为一个下载工具,非常依赖网络,那它是一个软件,还是一个互联网应用呢?我觉得它还是一个软件吧,毕竟与微信、淘宝、视频等典型互联网应用还是不大一样。

好,两种可能的方式都被否了,那如何区分软件和互联网应用呢?有人说软件是工具,互联网应用不是。那游戏,尤其单机游戏,显然不是工具,但也很少被认为是互联网应用。微信是互联网应用,但微信不也是通信工具么?

为了搞清楚这个事,我看看互联网应用都是什么?基本集中在电商、生活服务、社交、搜索、新闻、视频、游戏等领域,对应着人们的消费、娱乐、社交和求知需求。那软件都是什么呢?操作系统、数据库、办公、中间件、开发、模拟仿真等,除了上面提到的单机游戏,基本对应着人们的工作或者解决问题的需求。那解决问题的需求和满足消费、娱乐、社交、求知需求有什么不同,他们都是为达到、完成或促进某一事物的手段。从这个意义上来说他们都是工具,但不同在于:所谓的“某一事务(即目标)”与“手段”之间是否同一。对于软件来说,确实更类似于工具,就像我们使用扳手修理汽车,对扳手本身我们不感兴趣,而是对它产生影响的汽车感兴趣。对于互联网应用来说,目标与手段是同一的,电商应用本身就是商场,用户感兴趣的就是逛商场;微信本身是交流工具,而用户感兴趣的就是交流。视频网站、新闻聚合类网站都是如此。

所以说,目标与手段具有同一性的,是互联网应用;目标与手段具有分离性的,是软件。

那么,搞清楚这个有什么意义呢?我认为对于投资来说很有意义:目标与手段相分离的工具,人们希望操作这个工具的效率越高越好,也就是时间越短越好,那就不要妄想它成为平台或者具有所谓的生态网络,而要关注用户体验,用起来是不是顺手、方便、高效。目标与手段相同一的工具,人们乐在其中,操作工具的时间越长越好,这个时候用户体验的关键就不是顺手不顺手,而是有没有足够多吸引用户的“内容”,这个内容可能是商品、可能是影视剧、可能是新闻消息,只有形成平台和网络效应的工具才是好工具。

又有人说,可不可以按照to B和to C来分,软件是to B,互联网是to C。我觉得这样有些武断,Office是 to B还是to C呢?很多软件提供个人版和企业版。还有很多开源软件,个人可以免费下载,企业用户就需要付费。另外像迅雷,我认为它更偏传统软件而非互联网应用,但它是to C的,所以不能按照to B/to C来区分软件和互联网应用。

开源软件怎么赚钱?



说实话,即使从全球的角度来看,商业上成功的开源项目也不是特别多。首先,开源本身并不是商业模式,就像所谓的互联网模式,用户免费下载和使用服务并不是商业模式,从广告主、卖家收取佣金才是商业模式。开源也是快速获取用户的方式,只不过用户的类别有所差异,开源项目大多数是功能软件,其用户也大多是B端企业类用户(工作需要),而非C端消费类用户。由于开源项目早在PC时代就诞生了,而互联网模式是移动时代的产物,但他们的本质是一样的(如何快速获取用户),应该说开源是互联网模式的鼻祖。
虽说开源项目赚钱并获取商业上的成功不容易,但还是有的,比如耳熟能详的Red Hat、MySQL,也有小而美的Mirantis、Cloudera、MongoDB,他们的成功有一些共性。

  • 从项目开始的时候就对商业模式问题有考虑。这不是废话么,做项目怎么能不考虑赚钱,但很多人起码在项目最初期是没有想过的,直到项目开始被大量下载,才琢磨是不是能从项目上赚点钱。其实开源项目典型的收费模式就那几个,一个常见的是向大B企业卖企业版软件,大B客户有很多的预算,不像中小企业在IT上的预算很少,而企业版软件往往在安全性和管理功能方面更加完备。另外一种常见的收费方式是提供SaaS服务,我认为此类模式是瞄着中小企业而非大B企业,因为SaaS的稳定性和服务等级还是不满足大B客户需求的。

举个例子,红帽公司从一开始就对商业模式有清晰的思考,他们一开始即在书中夹带Linux安装盘促进社区用户的发展,也在推动出售企业版软件的业务。公司管理层在这两者之间划了清晰的边界,社区免费版叫Fedora,企业版叫RHEL(Red Hat Enterprise Linux)。他们敏锐的体察到大企业的CIO们更在乎软件的稳定性而非功能性,他们需要企业级产品来支撑核心Linux应用。红帽公司一方面积极维护社区版Fedora,每六个月升级一次并时不时增加新功能,一方面积极推销基于标准Intel架构的企业版产品。公司在创造10亿营收的同时,也推动Linux成为服务器端统治地位的操作系统。

另外一个具有商业前瞻性的开源公司是Cloudera,基于开源项目Hadoop提供大数据软件产品。和红帽一样,他也把一些安全、性能优化和商业分析方面的功能打包在一起形成企业版产品——Enterprise Data Hub。可以对照的是,Cloudera的竞品之一Hortonworks,则采取技术支持付费的方式,这种方式要更艰难一些。为什么更艰难?可以拿服务器软件Apache来说明,很多供应商基于它给大B客户提供技术服务,大B客户往往担心基于开源软件的产品不够稳定,愿意在交付初期支付技术服务费,就像买保险一样,但一段时间过后,客户逐渐对软件使用习惯,技术服务的价值很难体现,客户也就停止付费了。因此从长期看,技术支持的商业模式缺乏可持续性。

  • 选择适合的开源协议以配合你的商业模式。别人基于你的开源项目所打造的产品属于谁,这是开源协议决定的。有些开源协议很松(比如Apache),无论谁都可以基于你的项目打造自己的闭源产品,有的开源协议比较严格(比如GPL),只有开源项目的拥有者才能进行商业化运作。

更松的协议当然会吸引更多人参与到开源项目中,方便你的项目被其他开源项目引用或集成,更有利于生态系统的建立和项目的普及,产品功能的迭代也更依赖群众的力量而非单个弱小的创业公司,客户也会觉得更放心。然而,无论谁都可以在你的项目上加些功能就往外卖,会让你自己的商业化之路非常困难,因为很难在竞争中保持产品的差异化,也会让市场非常的碎片化。比如云计算非常流行的OpenStack,这个项目由OpenStack基金会运营,早期很多硬件大厂比如Intel、HP、Dell、Juniper都参与进来,PayPal、沃尔玛、Symantec这样的大客户也因为这些大厂才敢于试用。但是随后问题出现了,这些硬件大厂都有自己的算盘,相互之间竞争,导致产品之间不兼容,此时红帽和Mirantis站出来宣称自己是中立的,创造了一点生存空间。

MongoDB尽管采用AGPL紧协议,仍然非常流行,很大程度上还是产品确实过硬,很多开发者发现这款文档型数据库非常简单灵活,比传统关系型数据库好用很多。不到两年的时间,MongoDB就积累了几百万的下载量,现在用户几千万。可以说,如果你对自己的产品足够有信心,不需要依托其他项目,那采用严格的开源协议更利于商业拓展,不过在早期需要投入比较大的精力来经营社区。

  • 技术支持服务是必要的,但不要指着它实现收入。开源软件确实在企业IT架构中颠覆了很多传统软件,比如MongoDB和Cassandra对Oracle,OpenStack和Docker对VMware,Linux对Solaris和Windows Server,然而驱使它们成功的并不是技术支持和在站服务。当然,一开始确实需要软件提供商手把手教客户如何部署产品,尤其是如何将新系统与旧系统适配,无论Hadoop、OpenStack还是Cloud Foundry,这些开源项目早期都依赖专业团队为他们的标杆客户提供技术支持。

但如果把商业模式建立在技术咨询或在站支持就比较麻烦了,首先这种模式的毛利非常低,只有20~30%,而卖产品的毛利一般能达到90%,而且这种模式的持续性差。即便你非常成功,有几百万用户,充其量也只能服务几百家。并且,卖服务还可能会与埃森哲、IBM这样的IT咨询巨头竞争,他们本来可以成为你的合作伙伴,为你带来客户。所以,好的、可持续的商业模式应当是对核心产品的订阅,技术支持服务是用来确保用户、和合作伙伴能用好你的产品,而不是收入的来源。事实上,我们应该不断得改善产品的易用性,培训合作伙伴,削减自己的技术支持团队,尽量让别人来接手。

  • 关注已有客户满意度远比开发新客户重要。开源软件的销售周期与传统企业软件非常不同,传统2B软件说服客户使用产品和说服他们付费往往是一个连贯过程。开源软件的这两个过程是分离的,说服客户使用你的产品不难,毕竟免费,但说服他们付费是一个完全不同的过程。对习惯了销售传统软件的人而言,做开源软件销售可能会比较迷茫,因为他们花很大精力说服客户使用软件之后,并不会马上带来销售业绩。对于一个早期公司来说这不是什么问题,因为扩大用户基数是最重要的,但随着公司进入成长期,开始关注业绩数据。这个时候你就要提醒销售,不要急着寻觅新客户,而要持续关注并改善现有客户的满意度,他们才是收入大户,满意的客户会买更多,会买更贵的产品,这才能有健康的收入保障研发,这与传统企业软件的销售是不一样的,传统销售的工作就是不断寻觅新客户。

销售人员应该根据订阅收入来评价业绩,同时应该另有一个团队专注于开源社区的维护和用户的增长,这很可能是两类不同的人。开源软件的销售不一定要精通软件,MongoDB有非常成功销售以前是开运动服装店的,也有以前是清理排水沟的,他们的共同点是对提升客户满意度非常执着。

开源软件是能即吸引用户又赚钱的,要点是:1.在一开始就规划合适的协议,2.选择合适的服务/产品模式,3.建立合适的销售团队。

本文翻译自TechCrunch 2016年的文章《The Money In Open-Source Software》,作者Max Schireson和Dharmesh Thakker,前者曾是MongoDB的CEO,后者曾任Intel Capital执行总监,目前都在Battery Venture。