Underful time to introduce our next speaker, Robert Hodges, who will speak to us on building
a great business on open source without selling your soul, keep your hands up.
Robert Hodges has worked on database systems since 1983, spanning pre-relational technologies
all the way to modern, real-time, analytic databases.
His other technical interests include open source software, distributed systems, and Kubernetes.
Robert is the founder of the open source analytics conference, which has a community table
at Phosphum.
In his day job, he is CEO of Al-Tiniti.
I love it when I say things and pronounce things correctly, and this is the part where I
handy the mic.
And still make noise until it is precisely 1135, so we are please properly to make the video
operations that are like easier.
To the video operation center team, thank you for all that you do for us to bring wood to
no problem.
Robert, thank you very much for the trouble, Robert.
Thank you.
Can you guys hear me okay?
Great.
That means people in the live stream can hear me too.
Yeah, it's wonderful to be here.
I want to start with a huge shout out to Phosphum.
This is just an absolutely awesome conference.
I was here for the first time last year, and it's totally energizing.
If you're into open source, it's a place to be.
I also want to start this talk with a shout out to two people without whom it would not have
been possible.
That's Tatiana Cropenia.
She runs DBVR.
That's one of the companies I'll be talking about.
Also, Peter Zitesf, who's right here, is a friend.
And somebody that I looked up to as, you know, sort of an icon of how to build a successful
open source business will also be talking about his company.
And in fact, what we're going to be talking about is how you build open source businesses
that also give back to their communities.
And I'm going to give you three examples, and then talk about some general business issues.
These are not the only ways to build successful businesses, but they're three that worked.
So I bear that in mind, and let's jump in.
So I've been talking about me and my friends.
Let's talk about you.
So you have a wonderful open source project out on GitHub.
You've got hundreds of contributors.
You have thousands of stars, and the stars are growing by leaps and bounds every day.
You have community members who love you.
Moreover, you have a nice Apache two license where you know about corporate lawyers, right?
They don't feel love the same way that we do.
But when they see the Apache two license, their hearts swell with joy.
So what you have here is a project that is successful and poised to begin maybe building a business.
And you start to think, hey, I can do this for a living.
It's not just a side project, it's not just something fun.
So the first thing you might want to do is go look at other people that had successful projects
and turn them into businesses.
Let's look at a few of them.
So here's some businesses that are probably familiar to all of you.
Some of you may know all of them, certainly many people know Hashty Corp.
I've used their stuff for years.
These are big companies founded by very smart people backed by a lot of money.
And what they wanted to do was build businesses on products that were basically open source.
So how did it go?
Well, not well, actually.
I picked those companies because they're the best of my knowledge.
Not one of them has ever been profitable.
So, and along the way, in their search for profit, they all released.
And I'm not making a moral judgment here.
I think that, as we'll see in this talk, part of the reason why they ended up releasing things,
they're just facing some kind of bad math.
But building a successful project or taking a successful project
and turning it into a successful business is a very hard step and not easy to do.
So if you're going to do it for your project, you actually have to take a step back
and kind of think about how businesses are built in order to do this.
And what I'm going to do for the rest of this talk is answer two questions.
How we can build an open source business that one actually makes money so that it's stable.
It can persist.
And so that you actually make a decent living from it.
And it also gives back to the community that helped build the project in the first place.
So that's what we're going to focus on.
So to begin with, I'm going to talk about some business theory.
And it's really not that bad.
This is about all you need to know to start an open source business.
It fits on one slide.
So here's your project and your project.
You're going to offer some kind of product, some kind of services related to it,
maybe a combination of both, and you will collect money.
That's called revenue.
And what we have here, this little bar graph thing is a profit and loss statement,
which is the way businesses track how what happens to the money it comes in.
So the first thing that happens is say you collect 10 euros, it comes in.
And whatever good or service you're selling, you have to pay to deliver that.
So let's say that it's support and it costs two euros to deliver.
So that's gone away.
The next thing you do is, and you're going to have to pay that every time you sell something.
The next thing you have is just operating expenses.
It's just the overhead of running a business.
You have marketing.
You have sales.
You have development.
You have administrative drones.
People like me.
So that's usually the big in large in medium sized businesses.
That tends to be where most of the money goes.
And then you have this special category, which is something.
Is things like taxes, like interest.
They aren't related to operating the company,
but they are things that they are expenses that you incur particularly as you make money.
One important one is actually stock-based compensation.
If your business hands out stock, that's actually a cost.
And this is the real reason why a company like MongoDB is not truly profitable because they're actually giving away a lot of stock.
And they don't want to count that when they're saying how much money they make.
But you take this stuff out and then whatever's left is profit.
That's what you can actually stick in the bank and you know that you actually made it.
You don't owe it.
You don't have to perform work to get it.
That's that's real money.
You can stick in a bank either spend it or save it for retirement.
So there is one really important number in here.
Our concept.
And that's what we call gross margin.
And this is the percent of your revenue that is left over after you get done paying for the service you sold.
Why is that important?
Well, because it's a way of judging how efficient you are at delivering a product or service.
And we'll use that to compare different ways that businesses can make money.
So let's start with model number one.
So what we're going to do is we have a pure open source project or set of projects.
And we're just going to offer services on top of them.
So the software is completely open source.
You don't try to have any proprietary extensions or anything like that.
And what kind of things can you do?
Well, as there's all kinds of services that you can do around open source.
You could educate people about how to use it.
You know open source projects don't always have the best documentation.
You could develop features for it.
People want to have stuff added to it.
You could do consulting about how to set it up and use it in real applications.
The one that's actually the most interesting for many purposes is what we call enterprise support.
And that is for something like a database.
What you're doing is selling a service that supports the database.
So somebody has a contract with you.
If something breaks, you help them fix it.
If they're deploying a new application, you tell them how to do it.
If they're upgrading someone and so forth.
Why is this good?
Well, because it has very high gross margins.
We're doing it right.
So typically on support, I know in our business, we look for about 80% or more gross margin.
So that means 10 euros comes in.
Two, we take two euros to deliver the service, but the other eight euros go to our company.
That's really good because that means we can actually pay for the other expenses and build a company that makes money.
So one of the best examples of a company in open source that does this really well is Procona.
And Peter, I have a terrible picture of your business.
It's really leaving a lot of detail out.
But there's, in Procona, there's a number of major services that Procona offers.
The 24 by 7 support, that's the enterprise support.
Manage services where they have sort of white-blove operation of systems,
where they'll actually log in and help you run things.
They'll do consulting on specific projects.
They'll do monitoring.
They have a product that is a monitoring service through databases.
They do other stuff as well.
One thing, and they do it for, they started out doing my SQL Peter and Vadim who founded it
or performance experts in my SQL.
That's where they got started.
They since added support for Postgres MongoDB, other databases on the way.
These are all completely open source.
One really interesting thing about the 24 by 7 support and the reason you can charge for it is
it's basically insurance.
So for the most part, as I said, it doesn't cost very much to deliver it.
On average, but when something really breaks, like you're running an e-commerce site
on my SQL, better still, you're running a stock trading system on an open source database.
When that database goes down, the market is down.
That's when people want you to, that's when that becomes a good deal for the customer
because, of course, everybody who's giving support wakes up, helps you get it back online
and then everybody's happy.
So that's why this is a really great model.
And this has actually worked out pretty well for Percon over the years.
They've built a strong business.
And also, they've done, you know, spent quite a bit of time giving back to the community
in so many ways that this is sort of an eye chart.
I'll just point out a couple that have been particularly significant.
How many people read the Percon a blog?
Okay, this is, okay.
So you're my, my SQL users have been around.
If you were my SQL users or 10 years ago, this would be your daily reading.
You'd go see what's on the Percon a blog.
They had just wonderful articles about running the databases that they support.
Another really important thing is, you know, I said that they,
the software is 100% open source.
They have bills of the software.
So they had basically a fork of my SQL that they've maintained for many years.
It has fixes for production systems.
A really important feature that is product that they built was what's called extra backup.
It is backup in the store for my SQL databases.
This is a boring, difficult problem that everybody needs to have solved.
And so by solving this problem and providing it as open source software,
Percon a, you know, delivered a major, you know, sort of a major benefit to the my SQL community.
They also run conferences and have done many other things as well.
So that's model number one.
By the way, I should mention that there are many other companies that have done this in a way,
the most, the best example is Red Hat.
Red Hat, of course, did builds, which they then sold you.
They, you know, basically the ability to receive them in a channel.
But it's a fundamentally a services model on open source software.
So the next model is what we call open core.
And how many people have heard of this model?
Yeah, okay. And you probably have kind of, thank you.
You probably have kind of mixed feelings about it.
But basically the way it works is you have an open source product.
And the way we're going to be looking at it is it's an open source product that's fully usable.
It might not do everything.
But it's something that you can use in actually use on production systems.
And then what you have, and that might have a build, you know, sort of a community addition or something like that.
And then you have proprietary extensions.
They might be in a separate build.
What would those extensions be?
Well, they would be things that are useful to companies that want more than just basic features.
So for example, when you're building a project yourself with open source,
username and password might be sufficient to log into a database.
But if you're actually in a large company, like a bank or something like that,
they may have hundreds of systems that people operate with,
and they need to have single sign up.
So adding that to your product is something that isn't really an open source.
necessarily using open source.
It may actually be built on proprietary software.
Things like integration with Octa or all-thuro.
So that's something you can add.
And in fact, integrations with proprietary systems,
performance monitoring, analytics, HADR.
These are things that typically go into the close part of the product.
If you do this well, it's, again, another kind of offering has very high-growth margin.
So 80% that's kind of typical software.
It can be even higher sometimes if you do it right.
And who's done this well?
Well, one of the best examples I can think of is D-beaver.
Is there anybody in the room who's used D-beaver?
Oh, great.
Okay, that's it.
If you have not, I urge you to go out and try it out.
If you use databases at all, it is a DBA tools, you know, sort of visual database.
Tool that allows you to connect to any open source database.
If you use a community version, which I use,
you can edit data.
You can submit queries.
You can do simple automation.
Edit your schema.
It's really, really handy.
It works great with, with click-outs, which is the database I use.
And then what they've done is, so that is completely open.
I'll show you some stats on the project.
They're, they're actually quite impressive.
But then what they've done is created a D-beaver Pro, which is the closed source version.
It's an enterprise build.
You pay money for that.
It's pretty reasonable.
And they have been incredibly creative at thinking of things that are useful for large businesses.
They range from single sign-on, which I already discussed,
to things like talking to Oracle, Oracle, not an open source database.
No SQL databases.
Dance design tools.
You know, task scheduling, things like that.
So they have a bunch of features that large enterprises
or enterprises that run many databases find useful.
So this is enable them to build a profitable business.
Tatiana mentioned the last time I talked to her,
that they had something like 10 million people using their software.
That's big.
And of whom about half of them, I think, are actually enterprise enterprise users.
So this enables them to give back.
Fundamentally, the way that the D-beaver gives back is,
they just offer this community edition.
That's the biggest thing.
But this is a real, this is a real gift.
And in a couple of interesting ways.
One, it's a very popular project with many, many contributors.
So it has 41,000 stars, hundreds of contributors.
One interesting thing that it does is if you,
and that are out in the community, making your own open source database,
because D-beaver is open source, you can,
you know, do an open source implementation as a PR,
get it checked into D-beaver and D-beaver will then support your database.
So this is something that is actually giving back to other databases.
And then, of course, there's other ways, you know,
all the way to contributing to upstream projects.
So they've built a good business.
Again, profitable looks pretty stable,
and if you're not using it, I definitely recommend it.
So the third way that you can, oh, and by the way,
at large scale, there's another company that has done this
that is worth looking into.
How many people use tail scale?
Yeah, tail scale does something kind of similar.
I use the free version, which is basically,
it's an open source project.
I mean, it's MIT license.
It's the thing that allows you to be here,
and like talk your service back in the closet,
but there's an enterprise version, which is very popular.
So this is, it's not just D-beaver,
it's some very large companies, you guys use this.
So the final model, and this is one,
my company does, is to build cloud services.
And what you do here is you have some open source software
that runs in the cloud that people want to just have run
as a service that they can connect to.
So that's 100% service,
and what you're going to do is you're going to offer support.
And I'll give you an offer cloud management sort of the sort of layer
that takes care of automating it,
having upgrades, fixing performance, security,
delivering support, so on and so forth.
And that, of course, is completely proprietary,
but the thing that it's managing is open source.
A couple interesting things about this model.
One is, again, it has really good gross margins.
The fact that it goes down to 50% is deceptive.
That's mostly because if you are managing it and running it
in your own account, you also have to pay the cloud providers.
So that lowers your margins.
But if you run it in the user account, which is a popular model,
then you gross margins are very good.
So again, a good basis for building a solid business.
It's also very sticky.
When you're running something for somebody,
they're not going unless you screw up,
or they run into financial problems, they're not going to ever give you up,
and they have a tendency to use more of it,
if they like what you're doing.
There's another interesting thing about this model,
which kind of circles back to what Procona did with
and others have done with services.
These managed services are also good vehicles
for delivering very, very high quality support.
Because you're operating the system,
and if you also have a great deal of expertise
about the software and the applications,
you can have very proactive support
that, for example, detects problems
and helps solve them long before users notice them.
Who does this?
We do.
So, as it's how it works,
we have a product called Tenidiot Cloud.
It manages Clickhouse,
and at this point, four public clouds,
of which one is Hatsker,
and then the other three are the usual suspects.
How it works is,
we basically stand up Kubernetes,
whenever people want to manage databases,
and then what the management software does,
is it basically just pushes open source components
into that Kubernetes cluster,
so that, and then takes care of remotely managing.
It can run, you know, in our accounts
or it can run in the user accounts.
The interesting thing here is because this is fully open source,
the customers can just disconnect whenever they want.
They usually don't,
but, you know, because if something's working,
you don't want to mess with it.
But that's, that's basically a big value for the customers.
How do we give back in a bunch of different ways?
We contribute PRs to upstream Clickhouse.
We've done hundreds of them.
You know, there's a,
it's a big list.
Some of it overlaps the kind of stuff that Procona does.
Probably the most single successful thing we've done
is to build our cloud.
We built an operator, a Kubernetes operator,
for Clickhouse.
That is the most popular way to run Clickhouse on Kubernetes.
So it's been the most successful piece of open source software
we've developed.
And then, of course, there are many other things as well.
Licensing.
Everybody stresses about open source licenses.
And especially when, you know,
you're building a business and you're thinking, man,
you know, if I don't pick the right license,
I'm going to get ripped off.
So the question is,
how much should you stress about this?
Well, as a practical matter,
at least in my experience,
the answer is not much.
It really doesn't make that much difference
in your ability to make money.
So my advice on this is two things.
Pick a license that supports the four freedoms.
I mean, that's why we're into open source
as we believe in sharing the software.
We believe in granting rights to people
to continue to use it to understand how
or it's to make changes to distribute it.
So pick one that supports it.
There's lots of choices and stick with it.
Don't change it.
Don't mess with people.
So, and everything and, you know,
like, yes, there are some differences
in the license like patchy is more popular for companies.
You know,
GPL V3, a lot of corporations don't like it,
but it has other advantages.
They don't make that much difference in the end.
What should you stress about?
Well, here's three things.
And these are not related to code.
And this is where it gets hard because we're all geeks, right?
Well, okay, I am.
Some of you guys are too.
So, what should you stress about?
First thing is marketing.
Actually, in a way you don't have to stress
when you're starting out,
because you can give back to the community.
That already is getting your story out
about how great you are,
how you can be trusted,
how you can produce good software.
But the problem is,
as your company grows, it gets harder.
We work in very competitive markets.
It is expensive to tell people that we have a product.
It's expensive to find the people who are interested in it,
and it takes special skills.
So, you generally have to hire people who have those.
Unless you're really deeply interested in it,
you'll have to hire people who do this.
Sales.
Asking for money is a real art.
In fact, quite a deep one,
knowing how much to ask, knowing when to ask,
those are also, those are also real skills.
So, you will, unless you are very good at doing it yourself,
and even if you are, you will need to handle.
You'll need to hire people who do this.
Final thing is financial management.
So, managing money is critical.
When you're building,
we do everything off Google cheats,
but we're very, very careful about money.
And our company has been blessed
by two people who are very, very gifted at this.
They were there when I arrived,
so I got totally lucky.
This does bring up,
you know, so you have to be really interested in things
that cash flow.
Like, you know, how much money do I have in the bank?
What is my projections?
Revenue, otherwise you'll end up laying people off
or just blowing it.
And so, you've got to do this right.
This brings up a question,
well, what if my company is getting big
and I do need money?
Should you seek that, your funding?
Well, I'm not going to,
this talk is running long,
but in a nutshell,
if you go and take seed or stage,
or stage a funding,
or a series funding,
the people that are giving you the money
are looking for a very, very big payoff,
like on the order of 100 to 1.
And the reason for that
is early stage funding is very uncertain.
VCs have no idea whether you're going to be successful.
They just know that if they fund enough people
and they all have a potential 100 to 1 shot,
a couple will come through
and they'll return their fund
and pay off all that people.
That's something that you need to keep in mind,
because they are looking for huge returns.
What's the effect on you?
Well, you're running an open source business.
Open source business is to not make a huge amount of money.
Here's a quote from Larry Ellison from 2006
at that, you know, they're looking at my sequel.
That year, Oracle was going to make $15 billion.
My sequel is around 30 to 40 million.
To get the kind of payoff that VCs are looking for,
you essentially have to have proprietary pricing.
You have to, so this is going to cause you
to make some potentially bad choices
because you're going to have to do things like
re-licensing that, you know, in an effort
to get that, what amounts to proprietary software pricing.
This is a great picture from Tintin,
his dog snowy is constantly being tempted
in this case to either carry a message or eat a bone.
He chose the bone.
So, and believe me, it's, you know, you think,
early on, you think you're not going to make this choice,
but when you're talking about $100 million
or you have people on your board that are thinking
about hundreds of millions of dollars,
it gets very, very difficult to say no.
So, a couple of answers to that,
and then where you're ready to start your business.
Number one, I think a really important thing is
if your software is really taking off,
how to avoid that kind of choice,
we'll don't have it.
Just solve the problem, and one way to do this
is to put the software in a foundation.
This is a really important step
to ensure that your project remains open.
There's some great foundations out here.
I'm just naming three of the most widely known ones.
Answer two is other funding sources.
VCs are not the only way to get money.
The all-time best way to get money
for investments, get your customers to pay for it.
Then you're sure you're doing something they really want.
The trouble is they won't necessarily pay for,
you know, very speculative investment.
There's other things you can do creative financing.
We've used our revenue, what's called revenue-based financing.
It's based on the amount of revenue coming in at high interest rates.
Or you can just skip to late-stage funding,
which has better options.
And that's it.
So, where to go next?
If you're going to build a business,
you could look at our talk that we did for a
second time.
If you're going to look at companies that have done this
and then dive in and do it.
And one thing I want to say is if you believe in open source
and you believe that the foundations of computing
should be open source services that are available to everyone
and they should stay free.
Building businesses is a support that is a good way
to pitch in and help.
So, please go ahead and try it.
And if you want advice,
these are ways you can find me.
All of us, we did this by, you know,
through the help of people who are paying it forward.
We are the same thing to you.
So, if you want to do this, come talk to us.
I'd be happy to help.
Thank you.