The Open Source Business Model is Under Siege
https://www.influxdata.com/blog/the-open-source-database-business-model-is-under-siege/
A few weeks ago I gave the Day 2 opening keynote at PerconaLive, a conference focused on Open Source Databases. My talk, titled “The Open Source Business Model is Under Siege,” is about the existential threat that Open Source Database companies, or any open source software infrastructure, are facing from cloud vendors like Amazon Web Services, Google Cloud, and Microsoft Azure. The talk is based on my own experience building a business around open source over the last three and a half years with InfluxDB and our other projects. Here’s the video of the talk along with a summary of my points and my thoughts after the reaction from conference attendees. I touch on a few things in the talk that I won’t cover here and have a few incendiary words for some vendors, but you’ll have to watch for t
The first thing I acknowledge in the talk is that open source isn’t a business model. It’s a way of developing and delivering software. I would argue that it’s a vastly superior method in all facets to closed source development save but one: making money (and with it being able to continue to invest in further development). The development of open source software is always subsidized. Either through programmers’ free time when they’d be doing something else, investor dollars, donations, or some other successful business, like a search advertising business, for example.
The question we must answer as developers attempting to turn open source into a sustainable business is: Where will our subsidy come from? Some of the more common methods are consulting & professional services, support & training, production tooling & monitoring, open core, and Software as a Service (SaaS). Each of these has their problems.
Consulting doesn’t make sense because you end up having many of your consultants working non-billable hours while they write open source software. In a normal consulting company you’d like to have everyone billing hours to clients 90% of the time or more. If you have half of your developers writing open source software instead of billing, the best utilization you can hope for is 50%! You’d be better off starting a consulting practice around some already successful and large open source project. Then you can be the experts and bill hours while only contributing back patch fixes that your customers pay for directly. That’s definitely not ideal since we’d like to find a way to spend the majority of our time writing open source directly.
Support is difficult to sustain because it doesn’t provide a forcing function for people to buy. This was certainly our experience with InfluxData. We offered support for nearly a year before moving to open core, and in that time, we signed up only a few customers. Further, support creates perverse incentives between you and your community and users. Ideally, your software should be easy to use and run in production. You want others in the world to become experts on your project. However, both of those goals make it more difficult to sell support. Finally, the renewal rates on support contracts is abysmal. After a few years, your customers will get a level of expertise and comfort with the project and start to question why they’re paying for support in the first place.
I think production tooling and monitoring is what most open source software vendors over the last 15 years have been holding out as their business model. The problem with this model is that you’re now competing against other monitoring vendors and, more importantly, you’re now competing with the cloud vendors that offer to host your freely available software. Take AWS’ hosting of Elastic for example. They have no commercial relationship, and for customers running ElasticSearch on AWS, they have no reason to buy support or monitoring software from Elastic.
These dynamics led us to go with the open core model last year. That is, we have an open source project at the core and a closed source commercial fork of it that adds more functionality (in our case HA, clustering, and advanced security). A few years ago the concept of open core made me cringe. It goes against what I love about open source software. Free code to do with as you want: build a business, learn, add and modify, and generally advance things without writing everything from scratch yourself. It was a difficult decision and one I still struggle with to this day. The fact that we’ve always developed everything out in the open until this point made it more difficult because it meant we were taking something away from the community that we had worked so hard to develop and embrace.
However, immediately following our decision to go open core, we had inbound commercial interest. People were contacting us and offering to pay for our software. This time last year was critical for us as a company. One of the motivating factors to be more aggressive on the commercial aspect was that I knew we’d have to go raise our series B round of funding within a few months. Put simply, we needed to have a reasonable story for how we would turn this project into a sustainable business that could return an investment. Even though it was a tough call, I’m certain that if we hadn’t made that decision, we wouldn’t be around as a company today and thus not contributing any open source software of any kind.
The last model I haven’t touched on yet is SaaS. I think this is where the future of open source software lies. But the successful SaaS model more closely resembles open core if it is to be successful. Take Databricks or Redis Labs. Both have significant investments in closed source software for their managed SaaS platforms. These represent real moats and hurdles to would-be competitors in the cloud that would take either Spark or Redis and host them.
The cloud vendors’ aim is to make infrastructure software easy. First you didn’t need to worry about servers and network gear. Then you didn’t need to worry about managing your database or a scalable object store. The age of companies running their own infrastructure is in structural decline, just like buildings running their own electricity a hundred years ago. As the cloud vendors mature they’re going more horizontal AND more vertical. They’re targeting infrastructure software of all kinds while rolling out software in verticals like collaboration, analytics, monitoring and countless other areas. And they’re using open source as their building blocks.
This means that companies attempting to build businesses off open source infrastructure software must find new methods for making money. Support and tooling won’t cut it. Consulting isn’t an investible business. Open core and the SaaS flavored version of open core are the only viable options I see here. A more restrictive license is one option, but that doesn’t target the open source ideal: that others can freely modify and use your code without restriction. This kind of free use is exactly what is driving the innovation we’re seeing in cloud and infrastructure software. Twenty years ago, no single vendor could hope to provide all of the services that the current vendors support because of the sheer volume of code and investment required. The open source dream is that we enable others and ourselves to stand on the shoulders of giants to move the state of the art forward.
Don’t get me wrong, I don’t hate the cloud vendors. Quite the contrary, I’ve built exclusively on cloud platforms for the last ten years of my career. Before that time, I was firmly ensconced in the Microsoft camp in the old days when they considered open source a dangerous virus. I’m happy building in the cloud on Open Source Platforms. But given cloud vendors’ large and obvious ambitions, open source developers looking to build a long-term sustainable business must have a clear plan for making money while continuing to invest in open source software.
I see more companies going the open core and SaaS route. InfluxData, Mongo, DataStax, Elastic, Databricks, RedisLabs, Pivotal (Cloud Foundry), Hashicorp, Docker, and many more. Even Confluent, the company behind Kafka, launched their cloud offering earlier this week. It’s where the industry has decided to go. The problem we’ll continue to grapple with is where to draw the line. What should be open source and free and what should be closed and commercial? At Influx we continue to put more than 75% of our development effort into open source software. We invest heavily in open source, and it continues to be a point of pride for myself and the entire company. Last week we launched the first official version of Chronograf, an entirely open source project that is the UI for our entire stack.
After giving the talk I had many people at the conference came up to me. I was quite nervous delivering it because I knew that many in the audience had spent more than a decade building open source projects and companies around them. Many people from different projects said that they had also had the same struggles over the course of their development. I talked to many developers from MySQL, some of whom had been there for 15 years. They said they went through each of these phases and even tried some other crazy ideas that didn’t stick (like selling advertising on docs pages and selling branded gear).
It was great to hear that we’re not the only ones working through these issues. I came away from the conference more energized than ever and bullish on the outlook of open source software, despite the dire click-baity title of my talk. At InfluxData, we’ll continue to invest heavily in open source while making sure that we have a real business model behind the project to ensure its longevity.
The Open Source Business Model is Under Siege的更多相关文章
- How Open Source Became The Default Business Model For Software
https://www.forbes.com/sites/forbestechcouncil/2018/07/16/how-open-source-became-the-default-busines ...
- Open Source Isn't A Business Model, It's A Market Strategy
https://www.forbes.com/sites/quora/2017/09/29/open-source-isnt-a-business-model-its-a-market-strateg ...
- Refactoring open source business models
https://opensource.com/business/16/4/refactoring-open-source-business-models They say you never forg ...
- 11 open source business models
https://www.zdnet.com/article/11-open-source-business-models/ Critics are always claiming open sourc ...
- How to: Create a Business Model in the XPO Data Model Designer
How to: Create a Business Model in the XPO Data Model Designer This topic provides step-by-step inst ...
- [转]Business Model Canvas(商业模式画布):创业公司做头脑风暴和可行性测试的一大利器
本文转自:http://www.36kr.com/p/214438.html 本文来自First Round Review,他们准备的文章既讲故事,还同时向创业者提供可操作的建议,以助力打造优秀的公司 ...
- How to: Create a Business Model in the XPO Data Model Designer 如何:在 XPO 数据模型设计器中创建业务模型
This topic provides step-by-step instructions on how to use the XPO Data Model Designer in XAF appli ...
- Business Model Design 业务模型设计
Note This section is split into two parts, which describe the use of two different Object-relational ...
- [书籍分享]0-008.商业模式新生代[Business Model Generation]
封面 内容简介 <商业模式新生代>内容简介:当你愉快的看完第一章:商业模式画布,赫然发现这些构成要素全都交织成一幅清晰的图像在脑海中呈现,它们如何互相影响.如何交互作用全都历历在目.利用商 ...
随机推荐
- python综合作业要求
要求: 1.课程成绩数据(学号尾数为0,1同学完成) 至少要完成内容:分析每年不同班级平均成绩情况.不同年份总体平均成绩情况.不同性别学生成绩情况,并用一定图表展示. 2.集美大学各省录取分数数据(学 ...
- CentOS7-Docker 安装 Gitlab
官方教程 https://docs.gitlab.com/omnibus/docker/ 搜索镜像 [root@master ~]# docker search gitlab 拉取镜像 [root@m ...
- 使用 Redis 的 sorted set 实现用户排行榜
要求:实现一个用户排行榜,用户数量有很多,排行榜存储的是用户玩游戏的分数,对排行榜的读取压力比较大,如何实现? 思路分析: 实现排行榜,可以考虑使用 Redis 的 zset 结构: 用户数量很多的话 ...
- Mongodb 的事务在python中的操作
代码实现如下: import pymongo mgClient = pymongo.MongoClient("ip", "port") session = mg ...
- ELK学习笔记之logstash将配置写在多个文件
0x00 概述 我们用Logsatsh写配置文件的时候,如果读取的文件太多,匹配的正则过多,会使配置文件动辄成百上千行代码,可能会造成阅读和修改困难.这时候,我们可以将配置文件的输入.过滤.输出分别放 ...
- Net Core 自定义 Middleware 加密解密
前言:第一次写文章,有问题请轻喷 当前使用 Net Core 版本 2.1.3 我们经常在开发中需要把实体的主键 Id 传输到前端,但是在Get的时候又不想让前端能看到明文,我们通常会加密这些数据,所 ...
- DbParameter关于Like查询的传参数无效问题
用传参方式模糊查询searchName 按常规的思路,我们会这样写 ,代码如下: String searchName ="Sam"; String strSql = "s ...
- python 2.django的镜像安装与第一次项目创建-运行以及app创建
django的设计模式 Django是一个遵循MVC设计模式的框架,MVC是Model.View.Controller的三个单词的简写.分别代表模型.视图.控制器. 而Django也是是一个MTV的设 ...
- 【转载】C#中double.TryParse方法和double.Parse方法的异同之处
在C#编程过程中,double.TryParse方法和double.Parse方法都可以将字符串string转换为double类型,但两者还是有区别,最重要的区别在于double.TryParse方法 ...
- iOS中copy和strong修饰符的区别
iOS中copy和strong修饰符的区别 //用copys修饰的生成的都是不可变的对象 ,如果调用可变类型方法的直接报错 @property(nonatomic,copy)NSString * cp ...