PostgreSQL 与 MySQL。MongoDB 与 Cassandra。Solr 与 Elasticsearch。ReactJS 与 AngularJS。如果您有一个您热衷的开源项目,那么很可能存在一个竞争项目,它正在做类似的事情,并且用户和您一样充满热情。尽管许多开源人士喜欢表现出“我们都乐于分享我们的代码”的氛围,但开源业务与其他任何业务一样,也充满了竞争。然而,与其他商业模式不同,开源在竞争方面提出了独特的挑战和机遇。
例如,您能想象一下,如果福特在其最新款汽车下线之前,就公布了其最新设计、规格和工艺的每一个细节吗?或者如果苹果公司对 iPhone 也这样做呢?然而,每家开源公司都在定期这样做。此外,许多开源公司甚至有竞争对手为同一产品做出贡献,有时会导致激烈的公开讨论。例如,在我的搜索领域,我的公司 (Lucidworks)、Elastic 和 IBM 都为 Apache Lucene 和 Solr 项目做出了贡献,即使在商业领域彼此竞争。同样,Hortonworks、MapR 和 Cloudera 都为 Apache Hadoop 做出贡献,并在大数据领域展开竞争。
回到我们之前的福特/苹果问题,假设他们确实公布了这些细节——这是否意味着通用汽车或三星应该花时间试图理解这些计划,而不仅仅是粗略地审查一下?这个问题说明了开源项目和企业在竞争方面面临的许多独特机遇和挑战之一。
商品化,商品化,商品化
无论您的竞争对手是开源还是闭源,您都应该努力通过洁净室实现(如果必要)尽快、高效且廉价地开源竞争产品的关键专有功能,从而有效地降低该功能的价值。例如,在 Solr 的早期,主要的竞争对手,尤其是在电子商务领域,是 Endeca Search(现在归 Oracle 所有)。Endeca Search 用户喜欢其 分面搜索 功能,该功能可以计算一组搜索结果中具有特定属性的项目数量(例如,在搜索计算机时,分面可能会显示有多少结果具有 32GB RAM vs. 16GB vs. 8GB)。Solr 1.0 没有分面搜索功能,但很快就 添加 了该功能,并且此后得到了很大的扩展。同样,现在 Solr 的所有安全功能都是免费的,而 Elastic 的则不是。
但是,请注意,商品化只能是您产品战略的一部分,您应该充分预期您的开源竞争对手也会对您做同样的事情。顾名思义,成为任何商品的商品意味着您将永远面临因缺乏差异化和低进入门槛而带来的降价压力。您可能对随之而来的高销量、低利润业务感到满意,但至少要事先意识到这种情况是您将要支持的。
不要成为自己最大的敌人
与任何其他企业一样,开源企业也需要赚钱。为了做到这一点,企业领导者必须了解客户愿意为哪些东西付费(以及哪些东西不愿意付费)。对于那些销售许可产品(而不是支持和服务)的开源公司来说,这通常意味着采用 开放核心 方法,即产品的一部分是开源的,一部分是闭源的。这种二分法总是会导致一个问题,不仅您的潜在客户,而且员工也会问:“为什么不直接使用开源版本,而要付费购买产品呢?”对于基于社区驱动治理的产品(如 Apache 软件基金会 (ASF) 的产品)来说,尤其如此。如果您在业务中采用开放核心方法,则必须有一个现成的答案。您需要讨论和制定一个共同愿景,即在何处以及如何为开源做出贡献,从而使销售、开发人员、产品管理和支持都站在同一阵线上。
我们第一次尝试这样做(针对我们早期的原始产品)在事后看来基本上是失败的,因为该产品缺乏与 Solr 的差异化。我乐观地认为,我们最新迭代的产品正朝着正确的方向发展,部分原因是我们已经解决了关于哪些应该开源以及哪些应该属于我们产品的内部冲突。
躲猫猫,我看到你了
此时此刻,您的竞争对手正在为其开源项目添加新功能,向世界展示他们对未来版本的计划。您应该关注吗?请记住以下几点:
- 注意许可证。如果您的竞争对手的许可证与您的许可证不兼容,您可能需要避免查看实际实现,而应查看更高层次的方面,例如功能描述和讨论。如果您有疑问,请咨询您的法律部门。如果许可证兼容且代码易于移植,您可以大量借鉴;否则,从头开始实现该想法或调整现有功能以处理该用例是更好的选择。
- 尽量限制您花在分析上的时间,因为沉迷于每一个细微的变化都太容易了。我的大学第一任老板曾经开玩笑说,您能为竞争对手做的最好的事情之一就是给他们您的代码,因为他们随后会花六个月或更长时间试图理解它,而您已经继续您的工作了。现实情况是,您竞争对手的大部分代码不会直接适用,因此请务必对代码进行调查,以识别您可以重新实现的关键功能。此外,还要寻找您可以在销售和营销中利用的弱点。根据更改的频率或关键事项发生变化的时间,不时地这样做;否则,不要浪费您的时间。
- 当您看到一个好主意时,请认出来。许多软件商店拒绝承认竞争对手如何改变市场或创造新市场。几年前,我们在 Solr 中浪费了大量时间,驳斥了提高易用性的想法,例如无模式数据存储,以及其他 NoSQL 引擎将其作为产品基石的可用性功能。我认为,在易用性方面,我们已经基本上超越了其他搜索引擎(并且在某些情况下超越了它们)。有一段时间,忽视可用性功能阻碍了用户的采用,并造成了一种印象,即 Solr 只适合专家或有大量时间投入的用户。
竞合:为什么如此正确的事情感觉如此错误?
我的“团队”中最好的两位开发人员现在没有,也从未为我的公司工作过。事实上,他们目前都在直接为我们的一家竞争对手工作,他们做得很好,使 Lucene 和 Solr 变得更好。这就是开源项目的现实,尤其是那些由像 ASF 这样的基金会运营的项目。界限并不总是划得很清楚,您不会总是高兴,但从长远来看,如果您找到健康的合作平衡,您和您的竞争对手都会受益。与竞争对手进行明确的对话不是必需的——您只需要了解您关心代码中的什么,以及他们关心代码中的什么,并据此进行计划。
即使您在市场上彼此直接竞争,您也很可能在更广泛的市场中与许多其他公司和项目竞争。请记住,您可能不是在一个赢者通吃的市场中,您的竞争实际上可能有助于您扩大整体市场规模。鉴于现实世界中的合并、收购和工作变动,您可能会发现有一天您会与那些相同的开发人员一起工作,那么为什么不将代码库声明为非军事区呢?您将有很多地方可以在更广阔的领域中讨论为什么您比竞争对手更好。
有时您只需要生存
对于我和我的公司来说,2013 年末和 2014 年初是一段黑暗时期。我们的社区似乎被围绕一家新兴竞争对手的炒作周期所压垮,而在内部,我们正在努力讨论这家“不可提及的公司”,并且我们曾经——强调是曾经——有一个没有差异化的商业产品。事后看来,我们还患有 知识诅咒 认知偏差,并且没有认识到人们开发应用程序的方式以及原因发生了思维转变。
从积极的方面来看,我们知道我们的开源项目有许多高质量、经过验证的功能,并且我们拥有庞大的社区安装基础,这不会在一夜之间消失。我们还相当清楚地意识到,随着人们从他们的基线实现转向更高级的实现,机器学习 和围绕 自然语言处理 和 更高质量的相关性 的更高级功能将变得更加重要,而诸如易用性之类的事情将变得不那么重要。(如果一个东西在生产中无法保持运行或丢失数据,谁会在乎它在您使用的第一周有多容易使用?)
我们还预感到,大数据世界的人们会厌倦管理 Hadoop 堆栈的复杂性,并且会喜欢更简单、更易于管理且移动部件更少的解决方案。最重要的是,我们银行里有钱,董事会给予支持,注入了新鲜血液,他们对过去的决定没有任何利害关系,并且有权彻底改革我们的产品架构并解决之前提到的二分法(哪些开源,哪些销售)。
我们是如何生存下来的?首先,我们专注于延长我们的资金周转期,通过努力和财务审慎来争取足够长的时间来推出我们的下一个产品,从而确保能够长期存在。其次,我们专注于构建一个架构,该架构通过社区不感兴趣构建或不想集成的增值功能来补充开源产品,但我们知道客户需要这些功能。一旦我们实现了这一点,我们就专注于创造一种必胜的文化。回首往事,我意识到那些黑暗时期对于我们作为企业向前发展绝对至关重要,因为它们不仅教会了我们客户在意什么,而且教会了我们自己在意什么。用 Rascal Flatts 的话来说,“祝福这条崎岖的道路,它造就了今天的我们。”
专注于您可以控制的事情
尽管我在这篇文章中重点关注的是如何应对竞争,但您的大部分时间最好还是花在关注您的公司可以控制的事情上:
- 您雇佣谁。
- 您开发哪些功能来使自己与众不同,尤其是在您处于竞合关系的情况下。
- 您如何进入市场(定价、营销等)。
- 帮助客户在您的产品上取得成功(并了解和解决他们遇到的问题)。
- 您质疑自己的信念、从错误中学习并找到前进道路的意愿。(无论您是否从错误中学习,您都可以肯定其他人正在这样做。)
进化
尽管我的组织在许多方面都取得了进展,但我们仍然是一项正在进行中的工作。只有时间才能证明我们的方法最终是否会成功。弄清楚这一点是创业时的主要挑战之一。敬请期待。
评论已关闭。