
Making Money from Open-Source Software - aliswe
https://ayende.com/blog/186147-A/making-money-from-open-source-software-how-we-do-it
======
yesimahuman
For others looking for ways to monetize open source, we’ve learned at Ionic
that many enterprises aren’t just looking to buy a premium version of your OSS
project, they want your help solving (with software) a ton of related
challenges around the technology/space, too.

The big money is in doing _those things too_ and not just being one small
piece of the puzzle. So, for us, that means helping teams be successful with
app development in general using our software/tech in the process (i.e.
scalable software product on a yearly subscription and the same as sold to
other customers, not custom development).

If you want to go down that route, get ready to have excellent support and be
willing to be seen as an expert that your customers are going to call upon.
But support is tablestakes for B2B so that comes with the territory.

Of course, this is no small leap. Going from having a successful open source
project to building an enterprise business around it is really hard and took a
lot longer than I expected. Looking back I wish we spent a little less time
worrying about GitHub stars and more about solving enterprise problems, but we
made it through!

Of course this is just one way to monetize and I’m also excited about the
growing OSS sustainability offerings out there, like Tidelift

~~~
usaphp
Isn't it just consulting? How is it different from just offering dev services
as a feeelance agency?

~~~
yesimahuman
No, you are shipping and licensing a software product (like SaaS) and you’re
not building custom solutions (in the general case), but you are backing it
with support. Support is also not the same as consulting hours as you aren’t
billing hourly for it and customers can only purchase it if they also pay for
the software. It’s probably more like an insurance policy than anything (and
should be high margin on its own)

Support is tablestakes for B2B so this isn’t unique to OSS

~~~
marpstar
Sounds like fixed-price consulting to me.

~~~
krn
> Sounds like fixed-price consulting to me.

Is there no difference between technical support and consulting?

I see technical support as answering emails and picking up the phone when
someone needs the help using your product.

For instance, AWS Support Plans[1].

[1]
[https://aws.amazon.com/premiumsupport/plans/](https://aws.amazon.com/premiumsupport/plans/)

~~~
yesimahuman
Yes there is s huge difference. One is a yearly subscription and the other is
billed per-hour or is a set of consumable hours you buy one-off. Most teams
don’t just sell support on its own, you only get it if you have a subscription
to the software product behind it.

------
jaabe
I work for a Danish municipality that co-operates a number of open source
projects with other muniplacities. I know we’re a niche of sorts, but the
setup we apply is to find small local development houses who can build and
maintain our code based, but also sell us hosting.

We’ll need a system to handle our vacationflow, with employees reporting it,
managers approving it and an integration to our payment system. We’ll handle
the business understanding (it involves around 33 different tax laws and some
silly organisational culture), the project management and the whole governance
around the code base. You do the coding, and then you sell us the hosted
solution which you run in Azure or AWS letting our ADFS handle authentication.

It’s worked marvellous so far.

~~~
shoo
> whole governance around the code base

Yes, ideally you want to have some highly competent in-house technical ability
to assess the quality and maintainability of the codebase that is being
produced, separately from the business requirements, otherwise there is a fair
chance that you may end up with a lot of low quality code and a system that
cannot be safely or cheaply modified.

I've seen a couple of organisations outsource development, keeping only
project management and domain expertise in house, but having no in house
ability to assess the quality of technical work.

Don't do that. If your vendors fill your project with the most profitable
least experienced/capable developers, after enough years of that you'll get to
have exciting meetings about "we're no longer able to estimate how long it
will take to make changes to the system".

------
nemild
Reupping Nadia Eghbal's excellent, _Lemonade Stand: A handy guide to financial
support for open source_

[https://github.com/nayafia/lemonade-
stand](https://github.com/nayafia/lemonade-stand)

 _This document aims to provide an exhaustive list of all the ways that people
get paid for open source work. Hopefully, projects and contributors will find
this helpful in figuring out the best options for them._

------
ultrasaurus
Fun timing, we're about to publish an update on how we've done it (last
mentioned in 2016 [https://blog.sentry.io/2016/10/24/building-an-open-source-
se...](https://blog.sentry.io/2016/10/24/building-an-open-source-service.html)
).

The #1 piece of advice I could give is standard b-school boilerplate: figure
out what your unique advantage is and how the market wants to pay for access
to it. That might be training, support, SaaS or paying for features but you
have to do the legwork.

------
davidw
When you talk about making money with open source software, it's about
figuring out what scarcity to sell:

[https://journal.dedasys.com/2007/02/03/in-thrall-to-
scarcity...](https://journal.dedasys.com/2007/02/03/in-thrall-to-scarcity/)

------
AdmiralAsshat
I personally like CrossOver's model. It doesn't include anything you couldn't
already do with Wine, but it's less setup, and you have a support staff that
can look at it if you really need a particular program to work under Wine. Any
improvements they make are upstreamed to Wine.

I have no idea if they're "profitable" or not.

~~~
chx
Well, if they aren't then someone with very deep pockets is having fun there
because they are like thirty people and have been around for more than twenty
years.

------
pkamb
Are there any examples of small/simple projects or pieces of code released
under the GPL, with a non-GPL dual license being sold for $X000?

------
ohiovr
Would offering a “subscription” improvement program be a viable alternative?
You the developer are the expert on the software, and hiring the original
developer to modify or tweak the code may make sense, But make it a
reoccurring fee kind of like a subscription. You could offer services based on
the intensity of the work. Perhaps one subscription offering differs from
another by the total max hours. Like the gold plan would be 40 developer hours
per month and silver be 30 or whatever. You would have to feel out what kind
of commitment could be there.

But it can be nice for you that those hours are max. If they don’t ring you up
at all you still pocket the money for that month.

~~~
eesmith
I don't think so. I don't see why someone would choose this subscription model
over a standard contracting model, billed by the hour. Or, billed by the hour
with a 30 hour/month minimum and maximum.

I would also question the ethics - if three customers want the same thing, do
I bill each of them? Or each of them at 1/3? After all, they are paying for
_hours_.

I charge a yearly support fee for my product, which covers any questions
(rare) and funds additional development. Support customers get free upgrades,
so I don't need to figure out the hourly billing.

------
gk1
After reading this several times I still don't understand "how [they] did it."
Also tried the AGPL description.[1] Can someone confirm: They just licensed it
so that commercial use is prohibited without payment?

I've worked (and am working) with companies that have an open-source product
and a commercial offering built around it. My experience is that it's easy to
get _some_ companies to pay you, whether it's for the right license, added
features, support, or consultation. But to make any significant revenue you're
going to have to work hard to provide a lot more value on top of the open-
source option, and you probably don't want it to be "consulting."

Then you realize that all your prospective buyers are anchored at "free" and
need a lot of convincing (perceived value) to pay for the commercial version.
The positioning needs careful consideration. Nobody wants to pay a five- or
six-figure license for a slighty-better-than-the-free-version solution.

[1] [https://tldrlegal.com/license/gnu-affero-general-public-
lice...](https://tldrlegal.com/license/gnu-affero-general-public-
license-v3-\(agpl-3.0\))

~~~
gmueckl
It is more nuanced than that: RavenDB seems OK to use if you have an
application that shields its users completely from the database itself. The
database server is AGPL, but the client library your application uses is MIT
licensed, which is fairly liberal. If you were to directly embed RabenDB in a
product, you would have to provide the full source, even if you run it as a
service and don't distribute binaries of the software.

~~~
aliswe
From what I understood (surveyed this a while ago) RavenDB wants commercial
clients to pay. They do this by licensing the free version as agpl. You pay to
get another license. Keeping your code agpl as a commercial entity is a kind
of loophole in their eyes.

So they keep commercial clients out by using agpl. That means they want you to
pay even if you build a website that uses a cms that uses ravendb. Even though
agpl perhaps would let you get sway with it. Dont think so though.

~~~
gmueckl
As I see it the licensing of RavenDB lets you get away with things like a
closed source CMS using the DB for your own use, as long as the database runs
as its own process. Not sure of you could sell the CMS binaries without source
code, though.

~~~
TAForObvReasons
You can if you distribute separately and the CMS binaries aren't embedding the
DB software. You would ship an installer for the AGPL portion to comply with
those terms, and your CMS would use a REST interface to interact with the
AGPL-licensed backend

------
kemitchell
TL;DR: AGPL database. Permissively licensed client libraries. Dual licensing
the database. But really you should read the post, for the thought process
that led to that approach.

Among well known database vendors, the natural comparisons are MongoDB and
MySQL.

Like Mongo, RavenDB is available under a single network-copyleft license. Like
Mongo, RavenDB client libraries are permissively licensed. However, MongoDB
focuses on selling all-encompassing packages that include a mix of support,
services, and add-ons. To hear this post tell it, Hibernating Rhinos is
running more of a pure dual-licensing play with RavenDB.

That approach puts them close to MySQL. However, MySQL dual licensed both
database and client libraries. Nobody needs to buy a commercial license for
RavenDB client libraries.

The obvious question, in current context, is whether Hibernating Rhinos is
cruising for a cloud provider bruising, the kind of which Mongo has loudly
complained. Cue Server Side Public License.

Here follow shameless but relevant plugs:

Plain language, more general take on an SSPL-style license:
[https://github.com/kemitchell/shared-component-
license/blob/...](https://github.com/kemitchell/shared-component-
license/blob/master/license.md)

Open form paid license agreement for indie developers dual licensing, or doing
paid add-ons: [https://github.com/indieopensource/paid-
license](https://github.com/indieopensource/paid-license)

License Zero, which offers dual-licensing back-office as a service, as well as
public licenses without the problems and known vulnerabilities of *GPL:
[https://licensezero.com/](https://licensezero.com/)

------
yboris
My personal project _Video Hub App_ is for sale for $3.50 per copy, but is
also open source: [https://github.com/whyboris/Video-Hub-
App](https://github.com/whyboris/Video-Hub-App)

Have 437 sales as of today (released 1 year ago) with many people opting to
pay more than $3.50 -- though I'm funneling $3.50 from every sale to a
GiveWell recommended charity.

~~~
vagab0nd
I've looked into your app and loved it. The only thing preventing me from
paying for (and using) it is tag support.

~~~
yboris
Tag support is coming in version 2.0.0 (before March 22nd). Pull in the
current _master_ to see it! Currently very WIP (UI needs minor polish and
there are some bugs) but tags are usable.

------
jonson555
I’m using IssueHunt. [https://issuehunt.io/](https://issuehunt.io/) It is an
issue based bounty service for OSS. Actually I have not maintaining open
source, but I’m using them in my work. So as my appreciation, I sometimes put
bounties for issues of several projects. It seems that maintainer and
contributor can get bounty.

~~~
bdcravens
How much have you paid out so far?

Most projects like that are well-meaning, but are more like tip jars than real
monetization.

------
gchamonlive
Not a question about the article but related: what software tools are lacking
in the community? Where should people start looking when brainstorming for
project ideas?

We can all agree we need to give back to the community. Eventually we will
need to eat too.

------
pwaai
getting paid for integration?

1) create a popular open source product

2) give it away, building market share and awareness

3) shake down corporations making money from your open source product in the
form of "licensing & maintenance agreement*

4) Trickle down effect on non corporate users who in turn feed back into the
loop by performing QA and community support.

I personally believe this is the future of software, at least someone who is
competing against VC funded proprietary entities looking to IPO and not really
give a shit about the product that brought them in a position to raise money.

What do you guys think? This is just my opinion of course downsides to this
model.

One major downside of openin the doors to everybody is you get a ton of
noises. People who shouldn't be using it complaining and it's always tricky to
manage, especially when people feel entitled to it as it is free.

An argument to this noise is that any noise is better than no noise, meaning
any type of engagement good or bad is considered a plus for the app, to
discover new shit

------
the_other_guy
I guess it depends on the category, for something like a database it can be
easy to charge money (e.g. managed instances, charging cloud vendors, etc...)
but something like frontend javascript framework it's almost impossible to do
that

