当前位置: 首页 > news >正文

Elasticsearch 商业启示

上月的“红帽事件”,说明开源软件的“客服模式”行不通,那么,开源软件如何赚钱呢?既不能卖软件,又不能卖支持服务,该怎么办呢?我现在的看法是,只剩下一种模式是可行的,开源软件只有这样才能商业化,那就是 Elasticsearch 的模式。

图片

Elasticsearch 是著名的搜索软件,市场份额非常大,很多大型网站的背后都是它。2004年,以色列程序员谢伊·巴农(Shay Banon)为了方便妻子查找菜谱,写了一个简单的搜索工具,这就是 Elasticsearch 的由来。一开始,Elasticsearch 采用最宽松的 Apache 许可证,几乎没有任何限制,你怎么用都可以。后来,谢伊·巴农拿了风投,成立了公司,雇了程序员,就必须有收入,否则公司就要裁员关门。他想到的办法,就是提供云服务。你不必自己搭建搜索了,我搭建好了,你买了就能用。这样你比较省心,我也有收入了。

图片

但是,他万万没有想到,这种模式也行不通。原因是开源软件不是独占性的,如果你的软件太成功,其他人也可以提供服务,而且卖得更便宜,最终把你打败,拿到更大的市场份额,Elasticsearch 倒霉的地方在于,遇到的竞争对手是亚马逊,世界第一的云服务商。亚马逊不花一分钱,拿到 Elasticsearch 的代码,搭建搜索服务出售,很快就让原始作者没生意了。

图片

眼看公司有挂掉的风险,Elasticsearch 做出了一个石破天惊的决定。2021年,谢伊·巴农宣布,放弃 Apache 许可证,改用新的许可证:代码依然开源,但是不允许用户销售该软件的云服务,除非你愿意公开整个服务端。(注意,是整个服务端,不仅是搜索的部分。)亚马逊明摆着不会接受这个条件,所以新的许可证实质就是不允许亚马逊(也包括谷歌和微软)再卖 Elasticsearch 云服务了。作为业界老大,亚马逊当然咽不下这口气。它索性撕破脸,把 Elasticsearch 的代码分叉,开始维护自己的版本,起名为OpenSearch,继续采用 Apache 许可证,让社区无偿使用。双方就对干起来了。

图片

现在还看不出来谁赢谁输,但是不管怎样,Elasticsearch 有了起码的生存保障,收入稳定下来了。你要用正宗的搜索服务,只有买他家的。我认为,这是目前唯一可行的开源软件商业模式。有人把它叫做“开源核心模式”:代码的核心功能是开源的,可以免费使用,但是存在某些限制,比如云服务是独家的,或者某些插件和周边工具是闭源的,需要付费。目前,采用这种模式的知名开源软件,除了 Elasticsearch,还有 MongoDB。开源软件创业,建议就采用这种模式。你同时维护两个版本:一个是开源的社区版,让大家免费使用,积累用户和口碑;另一个是收费的企业版,拥有更多功能和客服支持。

http://www.lryc.cn/news/111594.html

相关文章:

  • C++/Qt 读写文件
  • linux服务器之-nethogs命令
  • 《每天5分钟玩转kubernetes》读书笔记
  • 【RabbitMQ】golang客户端教程4——路由(使用direct交换器)
  • Shell脚本学习-for循环结构2
  • vue 老项目 npm install 报错Python,c++等相关错误
  • 【c语言初级】c++基础
  • idea打开传统eclipse项目
  • 全国各城市-财政收入-一般预算收入-各项税收-个人所得税(1999-2020年)
  • 【动态网页抓取】 :用Python抓取所有内容的指南
  • Spring Boot数据访问基础知识与JDBC简单实现
  • ubuntu添加万能头文件
  • 聊一聊关于前端语法 ?? 的那些事
  • 宝塔Linux面板升级“获取更新包失败”怎么解决?
  • 训练强化学习的经验回放策略:experience replay
  • uniapp学习
  • 机器学习深度学习——数值稳定性和模型化参数(详细数学推导)
  • layui 整合UEditor 百度编辑器
  • 1、sparkStreaming概述
  • 【Spring Boot】Spring Boot 集成 RocketMQ 实现简单的消息发送和消费
  • uniapp:图片验证码检验问题处理
  • 将Visio和Excel导出成没有白边的PDF文件
  • String类及其工具类
  • 踩坑(5)整合kafka 报错 java.net.UnknownHostException: 不知道这样的主机
  • rust持续学习 get_or_insert_with
  • 卡尔曼滤波 | Matlab实现无迹kalman滤波仿真
  • C++---list常用接口和模拟实现
  • [openCV]基于赛道追踪的智能车巡线方案V1
  • SpringIoc-个人学习笔记
  • 【一文搞懂泛型】