前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >0513-开源软件如何统治世界

0513-开源软件如何统治世界

作者头像
Fayson
发布2019-11-28 23:34:16
5640
发布2019-11-28 23:34:16
举报
文章被收录于专栏:Hadoop实操Hadoop实操Hadoop实操

作者:Mike Volpi

就在5年前,投资者对于开源软件这种商业模式依旧持怀疑态度。他们都认为Redhat就像一片雪花(意指看上去很美腻,但随时可能化为虚无),当时也没有其他开源公司在软件领域获得较为出彩的成绩。

时间快进到今天,我们在开源软件领域目睹了一件件令人兴奋的事件:IBM以320亿美元的价格收购了Redhat(是2014年市值的3倍);Mulesoft在上市后以65亿美金的价格被Salesforce收购;MongoDB现在市值超过40亿美元;Elastic则为60亿美元;并且,通过Cloudera和Hortonworks的合并,将出现一个市值超过40亿美元的新公司。 当然还有很多OSS(Open-source software)的公司在路上:Confluent, HashiCorp, DataBricks, Kong, Cockroach Labs等。相较5年前,华尔街和私人投资者对开源公司的态度明显发生了较大的变化。

那么为什么会出现这种情况呢?有许多原因成就了开源软件业务在如今市场中的地位。

1

从开源到开放核心再到SaaS

最初的开源软件项目并不是真正的企业,它们是针对闭源软件收费较高的一场革命。Microsoft, Oracle, SAP等老牌闭源公司正在为软件收取类似垄断的“租金”,当时一些顶级的程序猿并不认为应该是这样子的。因此,从最经常使用的软件组件开始 - 操作系统和数据库 - 开发人员通常以异步方式协同编写一些出色的软件。每个人不仅可以查看公开的软件,而且通过一种松散的治理模型,他们可以添加,改进和增强它。

这些软件起初由程序猿创建,但对于程序猿来说最开始是以实现功能为主,所以对于普通用户来说并没有那么易用。但是它具有高性能,鲁棒性和灵活的特点。这些优点逐渐渗透到软件世界中,十多年来,Linux成为第二个最受欢迎的服务器操作系统(仅次于Windows);MySQL则正在慢慢蚕食Oracle的地盘。

第一批创业公司开始尝试为这些软件发行版提供企业级支持,该支持以订阅的方式提供。Redhat成为Linux的胜出者,而数据库这边则是MySQL。这种商业模式有很明显的局限性 - 仅仅只是为软件提供支持服务就希望盈利,其实是没那么简单的。但操作系统和数据库的市场规模如此之大,以至于尽管有来自很多其他商业模式的挑战,订阅服务这种模式依旧撑起了像Redhat这种大公司。

Linux和MySQL的成功为第二代开源公司奠定了基础 - 比如Cloudera和Hortonworks。这些开源项目及其商业模式与第一代有根本的不同。首先,这些软件都是创建于公司内部,而不是开始就直接由社区发起或开发,比如Hadoop就是诞生于雅虎内部,所以它们从创建之初就证明了可以承载企业级应用。其次它的业务模式是整个项目中的部分软件是免费许可的,而有一些软件则是基于商业license并向客户收取一定的费用。商业部分是专门为企业生产使用而设计和开发的,因此更容易赚钱。因此,即使这些产品没有操作系统和数据库系统的市场大,这些公司也有能力获得更多收入。

但是,第二代开源业务模式也存在缺陷。首先,没有一家公司对软件拥有绝对的控制权或‘道德权威’(moral authority) - 因此对手经常通过免费提供软件来进行竞争。其次,这些公司将这些软件巴尔干化(balkanized)以此来区分自己。更麻烦的是,这些公司最初并没有考虑到云服务。因此,云提供商可以基于开源软件创建相同功能的SaaS服务。Amazon的EMR就是一个很好的例子。

balkanized:巴尔干化是一个常带有贬义的地缘政治学术语,其定义为:一个国家或政区分裂成多个互相敌对的国家或政区的过程。

当这些开源公司意识到前两代(Gen 1和Gen 2)商业模式存在的问题或挑战后,进行了两方面的调整。首先,开源软件现在也会主要在一个业务范围内进行开发,即不会太发散或者太开放,比如以企业级生产使用为目标。然后通常这些项目中超过90%的代码都是由这些商业公司的员工进行编写的。其次,这些公司很早就开始基于自己的软件提供云服务。从某种意义上说,这种开放核心+云服务的混合模式,有很多种方式来进行盈利。通过将产品作为SaaS提供,这些企业可以将开源软件与商业软件混合在一起,因此客户不再需要担心他们应该使用哪种许可证。比如像Elastic,Mongo和Confluent等公司提供的Elastic Cloud,Confluent Cloud和MongoDB Atlas这样的服务,就是第三代(Gen 3)开源模式的例子。这种进化代表着开源软件公司这种模式有机会成为软件基础设施的主要商业模式。

2

社区的作用

虽然第三代(Gen 3)开源公司对这些项目有更多的控制权,但开源社区仍然在开源项目的创建和开发中发挥着至关重要的作用。首先,社区依旧是发掘一些最具创新性和有价值的项目的地方。开发者或用户为Github上的项目加注星标,下载软件以进行尝试,并宣传他们认为比较好的项目,以便其他人可以从这些优秀的软件中受益。就像好的博客文章或推文传播一样,优秀的开源软件也是利用这种网络效应。社区是促进这种病毒式传播的源泉。

从某种意义上来说,社区就像这些项目的“产品经理”,比如它要求进行改进和提升;它也会指出软件的缺点。功能请求不在产品需求文档中,而是在Github,评论和一些IT新闻中。而且如果一个开源项目积极响应社区,它将会慢慢成为开发人员想要的样子,无论是特性还是功能。

社区还担任开源软件的QA部门。通过社区你可以了解软件的bugs和缺陷;或用于测试的0.x版本;并可以为开源公司提供功能能不能使用的反馈。同时社区还会奖励一些得到正面反馈的优秀软件,从而鼓励大家更广泛的使用这些软件。

然而与之前不一样的是,社区不会参与软件项目的实际代码编写,因为大部分是以商业公司为主。虽然相对于第1代(Gen 1)和第2代(Gen 2)公司而言这是一个缺点,但这也是开源不断发展的商业模式的必然选择之一。

Linus Torvalds是开源操作系统Linux的设计者

3

开发人员的崛起

了解开发人员对这些开源项目与日俱增的重要性也很重要。传统闭源软件‘走向市场‘的模式认为IT部门才是软件的买家。虽然IT部门依旧重要,但开源的真正客户是经常去发现和了解开源软件的开发人员,他们将其下载并集成到正在开发项目的原型版本中。一旦被开源软件“感染”,这些项目就会在企业的开发周期中发挥作用,从原型设计,到开发,到集成和测试,到升级,再到生产。当开源软件投入生产后,它们很少会被取代。从根本上说,该软件从未“出售”; 它被欣赏这些软件的开发人员所使用,因为他们可以很开放的查看软件源码并使用它,而不用受限于公司领导的采购决策。

换句话说,开源软件渗透到真正的技术大牛中,使选择过程比以往任何时候都更加偏向底层人员。开发人员基本上是用脚投票。这与传统销售软件的方式形成鲜明对比。

4

开源商业模式的优势

开源公司的商业模式与传统闭源的软件公司完全不同。首先,收益线(revenue line)是不同的,即闭源软件公司往往比开源公司每单位收取更高的费用。即便在今天,客户依旧会对理论上“免费”的软件每单位支付高价格觉得为难。但是,尽管开源软件的单位成本较低,但它通过利用弹性来弥补整个市场规模。在市场上,当某些东西较便宜时,更多的人会愿意购买它。这就是为什么开源公司在实现市场匹配(product-market fit)时会被如此大规模和快速的采用。

开源公司的另一个巨大优势是它们能更有效率和快速的进入市场(go-to-market)。第一个明显的好处是,很多客户在付费前很可能已经是其中一个免费开源软件的用户了。由于开源软件在最初被使用时往往来自开发人员自发的下载和使用,因此公司通常可以绕过市场和Poc的销售阶段。销售的套路一般是:“您已经在您的环境中使用了500个我们的软件实例,您不想升级到企业版并获得增值的附加功能吗?”这意味着更短的销售周期,每个销售需要更少的售前工程师,并且销售成本的回收期更快。实际上,在理想情况下,开源公司可以使用更为合理的销售和售前工程师的比例来运营,并且可以在一个季度内从一个销售机会(sales qualified lead,SQL)到关单。

从花钱的角度来看,这种“病毒式”传播使得开源软件比传统软件企业更有效。一些最好的开源公司甚至能够保证三位数的营收增长率,同时保持适度烧钱的速率。这一点对于传统软件公司是很难想象的。毋庸置疑,更少的现金消耗代表的是更少的创始人股份稀释。

5

从开源到免费增值

改变开源业务的最后一个方面,值得详细阐述的是从真正的开源到社区辅助的免费增值(community-assisted freemium)的逐步转变。如上所述,早期的开源项目利用社区作为软件库的主要贡献者。此外,软件的商业许可即使发生很细微的变化,也会面对来自社区很明显的阻碍。如今,社区和客户对开源的商业模式都非常了解,并且对开源公司应该收费以便他们能开发出更好的产品并维持创新是表示理解的。

事实上,从客户的角度来看,开源软件的两个价值主张是:a)阅读代码; b)将其视为免费增值。免费增值的概念是,你可以基本上免费使用它,直到它在生产中部署或者达到一定规模。像Elastic和Cockroach Labs这样的公司实际上差不多开放了所有软件代码,商业许可证主要是针对部分软件组件。无论软件是开源还是闭源,其实真正的企业客户都会付费,但如果他们真的能够阅读代码,会更愿意使用商业软件即付费。实际上有一个风险是,有人能读懂代码,然后进行简单的修改,然后再单独fork出一个版本。但在发达经济体中,一般不太会出现这种纯抄袭的公司。

关键的因素在于公司最初选择或者最终迁移到更适合当下的软件许可证模式。Mongo的新许可证,以及Elastic和Cockroach的许可证都是很好的例子。与Apache许可(十年前通常是开源项目的起点)不同的是,这类许可证更适合商业化,大多数开源企业正在采用它们。

6

关于未来

我们4年前写过一篇关于开源的文章,希望可以看到一些标志性的开源公司的诞生。当时虽然只有Redhat,但我们还是相信未来会有更多。到今天,我们看到一群健康的开源企业,这是令人非常兴奋的。我相信,我们对这些标志性公司的分析还浮于表面,我们将看到这些公司从开源基因库中脱颖而出。从另一个角度来看,如今存在这么多个价值数十亿美元的开源公司也证明了开源模式的能力。显而易见的是,开源不再处在软件行业的边缘。当全球顶尖公司接受调查时,他们都愿意使用开源软件来服务核心软件系统。如果Fortune 5000将他们在闭源软件上的开支转移到开源,我们将看到开源软件公司的全新面貌,这个新群体的领导者会价值数百亿美元。

显然,那一天还没这么快。这些开源公司在未来十年还需要继续发展壮大自己,然后贡献出越来越成熟的产品。但这个趋势是不能避免的,我们将会很荣幸能早一点看到这一天的到来。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-01-15,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Hadoop实操 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云数据库 SQL Server
腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档