开源社区是由各种各样的个人和组织组成的多元且易分裂的集合。在初期,在许多方面,它可以比作 60 年代的嬉皮士运动:充满激情、充满乐趣、充满怪异,但缺乏组织。在过去的十年左右,它已经发展成为一支受人尊敬的软件开发力量,依靠其成员的支持。
随着开源社区在过去十年中的发展和多样化,它变得更加主流,因为现在有许多不同的参与者正在基于开源原则赚取相当多的钱。它拥有更高的声望和更多的尊重。正如他们所说,金钱改变一切。
这就是我在 TechCrunch 上阅读 Max Schireson 的文章《开源软件中的金钱》时所想的:开源社区的事物发生了多大的变化,以及有多少事物保持不变。这篇文章分解了如何为一家基于开源软件的盈利公司制定计划。它提供了很多常识性的观点:制定并坚持商业计划,选择一个有意义的许可模式,并保持客户满意度。这些都不是特别惊天动地的想法。
但我对这篇文章有点困惑。让我印象深刻的是,这些观点实际上只适用于一家软件公司(开源与否)。一旦你开始以这种方式将你的软件货币化,那你就是:一家传统的软件公司。
重要的是要注意“开源”公司和“开放核心”公司之间的区别。开源开发模式在开源许可下提供完整版本的软件,而不会保留功能。开放核心模式可以与“共享软件”模式相比较——你在开源许可下获得软件的阉割版本,但一些最关键和有用的功能被保留,并且仅在商业许可下可用,通常通过订阅。开放核心软件是一种“诱饵和转换”的方法,其中利用开源社区的声誉来推动采用。一旦企业承诺使用特定的软件,他们就很难摆脱它。他们被束缚在所选的软件上,并且必须为任何需要的、专门为企业版本开发的功能或特性付费。
开放核心模式被开源人群负面看待(这种观点在许多文章中显而易见,例如 Red Hat 的这篇文章,或者 InfoWorld 的这篇文章),因为它损害了开源本应实现的价值。开源希望通过允许完全的软件访问来促进创新——不仅是为了客户,也是为了开发者,以便他们可以添加新功能和创新。开源开发背后的理念是开放访问模式——如果外部方开发了执行所需或需求功能的代码,则可以将其添加并提供给整个社区。开放核心模式严格控制社区版本中可用的功能以及企业版本中可用的功能。
开放核心模式将企业引向“供应商锁定”的道路,订阅价格不断上涨,并且真正找到针对任何特定技术问题的最佳解决方案的机会有限。这是在保护软件公司的最佳利益,而不是客户的利益。
我提出所有这些的唯一原因是为了审查文章中关于如何将你的开源业务货币化的另外两个观点:不要将你的业务建立在销售支持和服务的基础上。在这些观点上,我不同意。开放核心软件公司使用传统的收入模式,迫使公司致力于软件战略(最终限制其选择),而开源公司则培养创新和质量的社区,为客户提供最佳解决方案。
作为一位成功运营开源公司近十年的人,我相信有一种通过支持和服务来发展开源业务的方法——而且不是通过促进供应商锁定。相反,它要求你秉持与开源社区相同的理想,并用你的行动来支持这些理想。
为了成功地向开源社区销售服务,你需要表明客户的需求是你的首要任务。换句话说,你必须能够查看所有软件选项并推荐最佳解决方案——无论它是否是你的解决方案。通过展示你对客户福祉的承诺,你可以建立持久的关系,从而转化为长期收入。
在过去的九年多里,Percona 成功地做到了这一点。我们的收入来自支持和服务。我们通过全心全意地拥抱开源社区原则来运营和维护公司。当人们向我们寻求建议时,他们知道他们将获得关于最佳解决方案的直接答案。
这之所以奏效,是因为我们被视为解决方案中值得信赖的合作伙伴。我们为客户提供最符合他们需求的建议和支持,而不是我们的软件。我们不打算推销特定的平台——我们为任何情况提供解决方案。这是向开源客户销售服务和支持的秘诀。
多年来,我注意到很少有公司依赖单一供应商来运营他们的公司,无论我们讨论的是哪个技术领域。在数据库管理领域(我们的专业领域),没有一个适用于所有环境的“完美”平台。当我们调查客户的数据库时,我们收到了许多关于软件的不同回复:Oracle MySQL、Percona Server、MongoDB、CassandraDB 等。
一些公司使用多个数据库,因为坦率地说,不同的工作负载通常需要不同的解决方案。我们的软件是开源的事实意味着我们可以与任何这些平台合作,或建议使用其中任何一个,而不会影响我们的底线。通过我们平台无关的立场,我们帮助我们的客户免受供应商锁定的影响。我们的客户信任我们,为他们提供满足其需求的正确解决方案。这是一个优势。
Tokutek 是一个很好的例子。当他们将 TokuDB 作为完全开源的产品发布时,他们发现他们的续订率没有发生实质性变化。相反,通过提供完全可用的开源解决方案,他们提高了采用率,并且没有失去以前的合同。
当 Percona 最近收购 Tokutek 时,Percona 的高管人员反复讨论如何处理 Tokutek 的产品。我们最终决定以我们其余的软件为榜样来塑造它们的未来——使它们开源且完全可用。我认为我们做出了正确的决定,因为最终它保持了我们作为值得信赖的、公正的顾问的地位。
作为一家开源公司,我们正在以与任何开放核心公司相同或更高的速度维护我们的客户群和续签合同——而且我们这样做并没有将我们的客户挟持为人质,让他们必须使用企业版。
在新兴市场中,有可能维持非常高的利润率。但是,随着市场趋于稳定,竞争使竞争环境趋于平等,几乎不可能保持相同的利润率。如果你的业务目标是不惜一切代价的增长,那么开放核心模式可能看起来是一个不错的选择。但是,你正在以牺牲客户为代价做出这个决定。
另一方面,如果你的业务目标是以最适合客户需求的方式解决客户需求作为基准,那么开源模式是一个极好的选择。利润率可能没有那么大,但它确实产生了客户的忠诚度和信任。谁说不惜一切代价的增长应该始终是目标?
软件和产品的受欢迎程度来来去去,因为不同的解决方案时兴时衰。强迫客户将自己与单一产品捆绑在一起,虽然可以说对于短期和长期来说都是一个成熟且安全的举措,但仍然会让你远离“完全可用、完全创新”的开源社区精神。如果你想成功地向开源社区销售产品,你需要证明你拥有与他们相同的原则。你需要赢得他们的尊重。你不会通过强迫供应商锁定来获得尊重。你从成为值得信赖的顾问中获得尊重。
1 条评论