开源商业模式受到攻击

导航至

几周前,我在专注于开源数据库的PerconaLive会议上发表了第二天的开幕演讲。我的演讲题目是《开源商业模式受到攻击》,讲述了开源数据库公司或任何开源软件基础设施所面临的来自像亚马逊云服务、谷歌云和微软Azure这样的云服务商的生存威胁。这次演讲基于我在过去三年半的时间里围绕InfluxDB和其他项目构建业务的经验。以下是演讲视频以及我的观点总结和会议参与者反馈后的想法。演讲中我提到了一些这里不会涉及的内容,并对一些供应商发表了一些激烈的言论,但您需要观看视频才能了解这些内容。

我在演讲中首先承认的是,开源不是一个商业模式,而是一种开发和交付软件的方式。我坚信,在所有方面,开源软件的发展都优于封闭源代码开发,唯一的例外是:赚钱(以及由此带来的继续投资于进一步开发的能力)。开源软件的开发总是受到补贴,无论是通过程序员的空闲时间、投资者的资金、捐赠,还是通过其他成功的业务,例如搜索广告业务。

作为试图将开源转变为可持续业务的开发者,我们必须回答的问题:我们的补贴将来自哪里?一些更常见的方法包括咨询和专业技术服务、支持与培训、生产工具与监控、开源核心和软件即服务(SaaS)。这些方法各自都存在问题。

咨询没有意义,因为最终许多顾问在编写开源软件时无法收费。在一家正常的咨询公司,你希望90%以上的时间都有人向客户收费。如果你有一半的开发者编写开源软件而不是收费,你所能期望的最佳利用率也只有50%。你最好围绕一个已经成功且规模较大的开源项目开始咨询服务。这样,你可以成为专家并收费,同时只需贡献直接由客户支付的补丁修复。这显然不是理想的,因为我们希望找到一种方法,让我们大部分时间都能直接编写开源软件。

支持难以维持,因为它不提供促使人们购买的动力。这正是我们与InfluxData的经历。我们提供了近一年的支持服务,然后转向开源核心,在那段时间里,我们只签约了几位客户。此外,支持会在你与你的社区和用户之间产生扭曲的激励。理想情况下,你的软件应该易于使用并在生产环境中运行。你希望全世界的人都能成为你项目的专家。然而,这两个目标都会使销售支持变得更加困难。最后,支持合同的续约率极低。几年后,你的客户将对项目达到一定程度的专家水平和舒适度,并开始质疑他们最初为什么要支付支持费。

我认为生产工具和监控是过去15年来大多数开源软件供应商所声称的商业模式。这种模式的问题在于,你现在正在与其他监控供应商竞争,更重要的是,你正在与那些提供托管你免费软件的云服务提供商竞争。以AWS托管Elastic为例。他们之间没有任何商业关系,对于在AWS上运行ElasticSearch的客户来说,他们没有理由从Elastic购买支持或监控软件。

这些动态促使我们去年选择了开源核心模型。也就是说,我们有一个开源项目作为核心,以及一个封闭源代码的商业分支,它增加了更多功能(在我们的案例中是高可用性、集群和高级安全)。几年前,开源核心的概念让我感到厌恶。这与我对开源软件的热爱相悖。自由代码,可以随意使用:建立业务、学习、添加和修改,以及在一般情况下不从头开始编写一切。这是一个艰难的决定,至今我仍在为此挣扎。直到现在,我们一直在公开开发所有内容,这使得决定更加困难,因为这意味着我们从社区中拿走了我们辛勤开发并拥抱的东西。

然而,在我们的决定转向开源核心之后,我们立即收到了商业兴趣的反馈。人们联系我们,愿意为我们的软件付费。去年这个时候对我们公司来说至关重要。促使我们更加积极地关注商业方面的一个动机是我知道我们几个月内必须筹集B轮融资。简单来说,我们需要有一个合理的计划来说明我们将如何将这个项目转变为一个可持续的业务,从而能够回报投资。尽管这是一个艰难的决定,但我确信,如果我们没有做出那个决定,我们今天就不会作为一家公司存在,从而不会贡献任何类型的开源软件。

我还没有讨论的最后一个模型是SaaS。我认为这是开源软件未来的所在。但是,如果想要成功,成功的SaaS模型更接近开源核心。以Databricks或Redis Labs为例。它们都对它们管理的SaaS平台中的闭源软件进行了大量投资。这些代表了真正的护城河和障碍,对于想要在云端托管Spark或Redis的潜在竞争对手来说。

云服务提供商的目标是让基础设施软件变得简单。最初,你不需要担心服务器和网络设备。然后,你不需要担心管理数据库或可扩展的对象存储。那些运行自己基础设施的公司时代正在结构性衰退,就像一百年前自己发电的建筑一样。随着云服务提供商的成熟,他们正变得更加横向和纵向。他们针对各种类型的基础设施软件,同时在协作、分析、监控等众多领域推出软件。他们使用开源作为构建块。

这意味着,试图在开源基础设施软件上建立生意的公司必须找到新的赚钱方法。支持和工具是不够的。咨询不是一个可投资的业务。开源核心和开源核心的SaaS版本是唯一可行的选择。更严格的许可证是一种选择,但这并不针对开源的理想:其他人可以自由修改和使用你的代码,不受限制。这种自由使用正是推动我们在云和基础设施软件中看到的创新的力量。二十年前,由于代码量和投资的巨大需求,没有一家供应商能够提供当前供应商支持的所有服务。开源的梦想是我们能够让他人和我们自己站在巨人的肩膀上,推动技术的进步。

请别误会,我并不讨厌云服务提供商。恰恰相反,我过去十年职业生涯中一直在云平台上构建。在那之前,我一直是微软阵营的忠实成员,在那时他们把开源视为危险的病毒。我很高兴在云平台上使用开源平台进行构建。但鉴于云服务提供商庞大的明显野心,试图建立长期可持续生意的开源开发者必须有一个明确的赚钱计划,同时继续投资开源软件。

我看到越来越多的公司选择开源核心和SaaS的道路。InfluxData、Mongo、DataStax、Elastic、Databricks、RedisLabs、Pivotal(Cloud Foundry)、Hashicorp、Docker等等。甚至Kafka背后的公司Confluent,在本周早些时候推出了他们的云服务(请点击此处查看详细信息)。这就是行业决定要走的方向。我们将继续努力解决的问题是划定界限。什么应该是开源和免费的,什么应该是封闭和商业的?在Influx,我们继续将超过75%的开发精力投入到开源软件中。我们大量投资开源,这继续是我们自己和整个公司的骄傲。上周,我们发布了Chronograf的第一个正式版本,这是一个完全开源的项目,是我们整个堆栈的UI(请点击此处查看详细信息)

在发表演讲后,我遇到了许多会议上的听众。我非常紧张地发表演讲,因为我知道在场的许多人已经花费了十多年的时间来构建开源项目和围绕它们的公司。来自不同项目的人们说,他们在开发过程中也遇到了相同的挑战。我与MySQL的开发者交谈过,其中一些人在那里工作了15年。他们说他们经历了每个阶段,甚至尝试了一些不成功的新想法(比如在文档页面上销售广告和销售品牌装备)。

很高兴听到我们不是唯一在解决这些问题的团队。从这次会议中,我比以往任何时候都更有活力,对开源软件的前景充满信心,尽管我的演讲标题听起来有些令人绝望。在InfluxData,我们将继续在开源上大量投资,同时确保我们的项目背后有一个真正的商业模式,以确保其长期发展。