博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Coopetition:相形见All,爱开源
阅读量:2524 次
发布时间:2019-05-11

本文共 3548 字,大约阅读时间需要 11 分钟。

“我一生都在面对激烈的竞争。没有它,我将不会相处。”
-华特迪士尼

PostgreSQL与MySQL。 MongoDB与Cassandra。 Solr与Elasticsearch。 ReactJS与AngularJS 如果您有一个自己热衷的开源项目,那么就有一个竞争项目存在并且正在做类似的事情,而用户却像您一样热情。 尽管“所有人都快乐地共享我们的代码”的氛围,使许多从事开源工作的人喜欢进行项目开发,但与其他任何人一样,开源业务充满了竞争。 但是,与其他业务模型不同,开源在竞争中会带来独特的挑战和机遇。

例如,您能想象福特是否在下线之前就最新汽车的最新设计,规格和流程发布了每一个细节? 或者,如果苹果公司为iPhone做过同样的事情? 但是每个开源公司都会定期这样做。 此外,许多开源公司甚至都有竞争对手为同一产品做出贡献,有时会引起激烈的公开讨论。 例如,在我的搜索世界中,即使在业务方面竞争时,我的公司( ),Elastic和IBM都为和项目做出了贡献。 同样,Hortonworks,MapR和Cloudera都为做出了贡献,在大数据空间中竞争。

回到我们的福特/苹果问题,让我们假设他们确实发布了细节,这是否意味着通用汽车或三星公司应该花时间试图通过粗略的审查来理解那些计划? 这个问题说明了开源项目和企业在竞争方面面临的众多独特机遇和挑战之一。

商品化,商品化,商品化

无论您的竞争是公开的还是封闭的,您都应该通过无尘室实施(如果有必要),将竞争产品的关键专有功能尽快,高效,廉价地投入开源,从而有效地降低该功能的价值。 例如,在Solr成立之初,主要的竞争对手(尤其是在电子商务领域)是Endeca Search(现在归Oracle所有)。 Endeca的搜索用户喜爱它的能力做在电脑搜索,即计算在一组搜索结果(例如具有特定属性的项目数的特征,中,小面可能显示如何将这些成果的许多VS具有32GB的RAM 16GB和8GB)。 Solr 1.0没有任何方面,但是很快就它,从那时起它已经扩展了很多。 同样,如今,Solr的所有安全功能都是免费的,而Elastic则不是。

但是请注意,商品化只是您产品策略的一部分,您应该完全希望开源竞争对手对您做同样的事情。 顾名思义,成为任何商品都意味着,由于缺乏差异化和较低的进入壁垒,您将永远面临价格下跌的压力。 您可能会对随之而来的大批量,低利润的业务感到满意,但至少要提前知道这种情况将为您提供支持。

不要成为自己最大的敌人

像任何其他业务一样,开源业务也需要赚钱。 为此,业务领导者必须了解客户愿意支付的价格(以及他们不愿意支付的价格)。 对于那些销售许可产品而不是支持和服务的开源公司,这通常意味着采用方法,即部分产品是开放的,而部分产品是封闭的。 这种二分法总是会导致这样一个观点:不仅您的潜在客户,而且员工都会问:“为什么不使用开源版本而不是为产品付费?” 对于基于社区驱动的治理的产品(例如Apache Software Foundation(ASF)的产品)尤其如此。 如果您对企业采取开放式核心方法,则必须有一个准备好的答案。 您需要讨论和形成一个共同的愿景,即以何种方式将销售,开发人员,产品管理和支持置于同一页面上,从而为开源做出贡献。

事后看来,我们对此的首次尝试(对于我们最初的产品)在很大程度上是失败的,因为它与Solr缺乏区别。 我感到乐观的是,我们最新的产品迭代趋势朝着正确的方向发展,部分原因是因为我们已经解决了关于什么应该开源以及产品中所包含内容的内部冲突。

躲猫猫,我见

目前,您的竞争对手正在为其开源项目添加新功能,向全世界展示他们计划未来发布的版本。 你看吗 请记住以下几点:

  1. 注意许可证。 如果您的比赛许可证与您的许可证不兼容,则可能要避免查看实际的实现,而要查看更高级别的方面,例如功能说明和讨论。 如有疑问,请咨询您的法律部门。 如果许可证兼容并且代码易于移植,则可以自由借用; 否则,从头开始实施构想或改编现有功能来处理该用例是一个更好的选择。
  2. 尝试限制您花费在分析上的时间,因为痴迷于每个最后的更改都非常容易。 我大学毕业的第一任老板曾经开玩笑说,您可以为竞争做的最好的事情之一就是给他们提供代码,因为在您继续工作的同时,他们将花费六个月或更长时间来理解它。 现实情况是,大多数竞争对手的代码都无法直接应用,因此请确保对代码进行调查以识别可以重新实现的关键功能。 另外,寻找可以在销售和市场营销中利用的弱点。 经常执行此操作,具体取决于更改的频率或关键事物何时更改; 否则,不要浪费时间。
  3. 看到一个好主意就知道了。 许多软件商店拒绝承认竞争对手如何改变市场或创造新市场。 几年前,我们在Solr上浪费了很多时间,他们放弃了提高易用性的想法,例如无模式的数据存储以及其他NoSQL引擎成为其产品基石的可用性功能。 我认为,在易用性方面,我们在大多数情况下已经克服了其他搜索引擎(在某些情况下甚至超过了它们)。 有一阵子,取消可用性功能会阻碍用户的采用,并产生一种感觉,即Solr只适合有大量时间进行投资的专家或用户。

合作竞争:为什么正确的事情感觉如此错误?

我的“团队”中最好的两个开发人员都不是,也从未为我的公司工作过。 实际上,他们俩目前都直接为我们的竞争对手之一工作,并且他们做得很好使Lucene和Solr变得更好。 这就是开源项目的现实,尤其是那些由ASF之类的基金会运营的项目。 界限并不总是那么整洁,您也不会永远幸福,但是从长远来看,如果您找到一个健康的平衡来共同努力,您和您的竞争对手就会受益。 不需要与竞争对手进行明确的对话-您只需要了解您在代码中关心的内容以及他们在代码中关心的内容,并进行相应的计划即可。

即使你们在市场上直接相互竞争,你们俩都可能在更广阔的市场中与许多其他公司和项目竞争。 请记住,您可能不在赢家通吃的市场中,您的竞争实际上可能会帮助您扩大整体市场规模。 考虑到合并,收购和工作变动的现实世界,您可能会发现有一天您与这些相同的开发人员一起工作,那么为什么不将代码库声明为DMZ呢? 您将有很多地方可以参与更广阔的领域,以了解为什么自己比竞争对手更好。

有时候你只需要生存

对于我和我的公司而言,2013年末和2014年初是一个黑暗的时期。 我们的社区似乎被新晋竞争对手周围的炒作周期所压倒,在内部,我们正努力讨论如何谈论“绝不能被命名的公司”,并且我们(着重强调) 没有差异化的商业产品。 事后看来,我们还遭受认知偏见的并且没有意识到人们开发应用程序的方式及其原因的观念转变。

从积极的方面来看,我们知道我们的开源项目具有许多高质量的,经过验证的功能,并且我们拥有庞大的社区安装基础,这不会在一夜之间消失。 我们还清楚地意识到,随着人们从基准实现转向更高级的实现,围绕和 和更高级的功能将变得越来越重要,而诸如易用性之类的重要性将变得不那么重要。 。 (谁会关心如果某项东西不能持续生产或丢失数据,那么在使用它们的第一周内,它有多容易使用?)

我们还预感,大数据世界中的人们将因管理Hadoop堆栈的复杂性而变得疲劳,并希望使用更少的活动部件而更简单,更易于管理的解决方案。 最重要的是,我们在银行有钱,有支持董事会,注入了在过去的决策中没有任何利益的新人才,以及要求全面改革我们的产品架构和解决二分法(开源的内容以及如何出售)。

我们如何生存? 首先,我们专注于保持足够长的时间,以通过奔忙和财务审慎来扩展我们的货币走道来推出我们的下一个产品。 其次,我们专注于构建一种架构,该架构通过社区不感兴趣或不想集成但我们知道客户需要的增值功能来补充开源产品。 一旦实现这一目标,我们便会专注于创造一种胜利文化。 回顾过去,我意识到那些黑暗的时期对于我们作为一家企业前进至关重要,因为它们不仅教会了我们对客户重要的事情,而且也教会了我们重要的事情。 用 :“保佑那条使我们成为我们自己的断路。”

专注于您可以控制的东西

尽管我在本文中的重点是应对竞争,但您最好将大部分时间都花在公司可以控制的方面:

  1. 你雇用谁。
  2. 您开发出什么功能来使自己与众不同,尤其是在您处于竞争环境中时。
  3. 您如何进入市场(定价,市场营销等)。
  4. 帮助客户在您的产品上取得成功(并在不成功时理解和解决问题)。
  5. 您愿意质疑自己的信念,从错误中学习并找到前进的道路。 (不管您是否从错误中学习,您都可以肯定其他人正在这样做。)

演化

尽管我的组织在许多方面都取得了进展,但我们仍在进行中。 只有时间能证明我们的方法最终是否成功。 解决问题是成立公司时的主要挑战之一。 敬请关注。

翻译自:

转载地址:http://qkpzd.baihongyu.com/

你可能感兴趣的文章
python 函数
查看>>
导入导出
查看>>
MongoDB 分片操作
查看>>
在Azure Cloud Service中部署Java Web App(2)
查看>>
在64位系统中无法看到Microsoft Excel Application的问题
查看>>
中国剩余定理
查看>>
截取一段字符串中,两个指定字符串中间的字符串
查看>>
联合权值
查看>>
修改MAC地址的方法(未测试)
查看>>
linux ubuntu 关于vim得一些基本命令
查看>>
九度OJ 1340:小A的计算器 (进制转换)
查看>>
两篇随笔链接
查看>>
Java 类和Static关键字
查看>>
awk --- 常用技巧
查看>>
C++接口定义及实现举例
查看>>
C++
查看>>
设置数据库及表的默认字符集
查看>>
hdu-5596 GTW likes gt(模拟+优先队列)
查看>>
codeforces 711A A. Bus to Udayland(水题)
查看>>
python在不同层级目录import模块的方法
查看>>