Hacker News new | ask | show | jobs
by jashmenn 3309 days ago
Because monetizing your open-source project means you take on a second job.

Here are your choices:

* Turn your OSS project into a company (Docker). The pro is that you can capture a lot of the value, the con is that you're splitting your project into CE/EE and also now you're a CEO

* Give the software away for free and charge for the hosting (Gitlab). Pro here is that you get recurring revenue, but the con is that now you're in DevOps and wear a pager. Also this model doesn't work well for libraries, only "apps".

* Charge for support (Ubuntu, Nginx-ish). Pro here is that by helping folks implement your software, you'll have a long line of success stories. Con here is that it isn't scalable - your upside is bounded by the hours you can bill

* Get a job at a company that will fund you to work on it (React, Angular). Pro here is that you can make tons of money with a job you love. Nice work, if you can get it. Con is that now you work for that company and you're subject to whatever whims they have.

* Run a Kickstarter (Light Table, Diaspora). Pro: you can gauge demand and you don't have a boss. Cons: it's one-time revenue, you have potentially inflated expectations, and just kidding, now you have 1,000 bosses.

* Run a Patreon (Vue). Pro: you have autonomy and recurring revenue (yay!). Con: now you're a personality. This is limited to celebs who are good at marketing _themselves_ as much as their software

* Ask for donations (Babel, Webpack). Pro: this works for tools and libraries (not just apps) and you can keep your mission. Con: Companies feel these donations have ambiguous deliverables. There's a lot of mental overhead too (How many projects can one company fund per month?)

* Sell documentation, books, videos (React Training, my current gig). Pro: JavaScript fatigue makes you money! Con: Writing the docs isn't as satisfying as writing software (for many developers)

So to answer your question: monetizing your open-source project means you take on another job _besides writing software_.

In an ideal world if you write software and it gets used, you'd be able to capture some share of that value. But we're not there yet.

[If you want to chat more about funding OSS, reach out to me (see my profile). I'm working on a few new ideas.]

15 comments

Ask for donations (Babel, Webpack). Pro: this works for tools and libraries (not just apps) and you can keep your mission. Con: Companies feel these donations have ambiguous deliverables. There's a lot of mental overhead too (How many projects can one company fund per month?)

I don't write software, but I have run various small websites for something like 15+ years. I have always gotten more donation money than ad money off my projects. I switched to a tip jar (last year, iirc) and that further improved my take. (It isn't much, but it beats the figures I have seen quoted by most people when data has been asked for on HN. I also don't get much traffic. For the traffic involved, I think it is pretty good.)

I have also seen Patrick McKenzie talk about the fact that he won't donate money to open source, but if you are willing to write an invoice for him, he is happy to give you money. The reason is that he needs to justify his business expenses on his tax returns and a "donation" is charity that he can't justify to the government, but an invoice for a product he uses in his work is a legit tax deduction. He has talked about how he thinks open source should make invoicing business customers painless. I don't readily have a source at my fingertips, but I bet someone on HN can come up with a link.

A compendium of my own writing about tip jars: http://micheleincalifornia.blogspot.com/search?q=tip+jar

> I don't readily have a source at my fingertips, but I bet someone on HN can come up with a link.

That was us :) @patio11 was blown away by our in-browser Excel file preview: https://twitter.com/patio11/status/552765535239159808 (one of the replies suggested that he consider paying, and that led to our first contact) http://www.kalzumeus.com/2015/01/28/design-and-implementatio...

Interesting idea...

Original source could be the tweet embedded in https://supso.org/blog/funding-open-source-by-rethinking-the...

I don't follow his tweets, so that is unlikely in this case. It is vastly more likely to have been a comment somewhere on HN that I happened to read. (But that's a really great source you have linked to. Thank you.)
Very good list. I would add that most open source projects have many people working on them.

So suppose you actually manage get paid despite all that -- how do you distribute money fairly? This is a huge problem can could actually slow the project down by leading to hurt feelings. Ironically, it's almost better for the group if nobody gets paid.

Corporations have evolved all sorts of imperfect systems to solve this problem, but it comes at a tremendous cost (performance reviews, interviews, firing, all of HR essentially).

But the open source model of collaboration follows the principle of "least bureaucracy". It throws out all these "coordination costs" in the name of just getting the job done. No more and no less.

it's almost better for the group if nobody gets paid.

Relatedly: Studies show that paying people zero money and giving them respect gets better results than paying some pittance well below market rate. The study conclusion was to the effect of "Pay enough (market rates) or pay nothing. Don't pay some pittance because it is all your project can afford."

We used to have a freeware product that a few years after became a commercial product sold as a subscription.

When it was a freeware product, several people wanted to donate but we never accepted any donation, just to avoid the feeling of getting paid too low. Also I guess we were a bit equalitarian: we wanted that either nobody paid or that everybody paid.

How did your existing customers react to it (switch bait?)
In general quite well. It is a B2B product and being able to pay gives them some assurance that there will be someone behind. The freeware version continued to exist, and the transition to actually pay was long (free beta for the subscription lasted 4 months). We also did a heavily discounted launch promotion so that the transition from nothing to something was a lot smoother for existing users. Here is the announcement we did: http://www.apsic.com/blog/?p=25
Good opportunity to make their donations go to a charity. They can feel twice as good!
Let's take a musical analogy - a 'group' group. With a four piece popular beat combo the royalties go four ways, it is all viable as a business. With a larger collective or an orchestra the money gets a bit tight - it goes forty rather than four ways.

But, this is something my internal dialogue says whenever I hear a musician talking about money (and where there share is...) - 'But you are in it for the music, right?'

This musicians seem to forget, they become businessmen and think the value is in the magic of their work and they should be paid for it. I wish they kept music as a fun thing rather than something they 'only do if paid' and for them to see hiring venues and doing tours and selling merchandise as what they need to do for money.

So, analogy is different to reality, however, we must remember why we do stuff for Open Source. Instead of looking for T-shirts and venue tickets to sell, we need to have real world needs for the Open Source code, to work on those problems and get paid for them using and contributing as required to the FOSS projects. As for expectation for pay from the FOSS project (rather than the day job) it should be 'you're in it for the love of music, right?'

Are you actually arguing that musicians should be into it only for the music and not get paid? If so I completely disagree and that's not my point at all. Musicians absolutely should be paid.

Software authors should also be paid. I'm just pointing out that there are some practical problems with it in the open source setting.

My ideal would be that essentially all software is open source, but everyone would also get paid. But I realize there are many reasons why we don't have that situation today.

The problem comes in when people expect professional level music, but insist that musicians should all do it for love while also supporting themselves with a day job. Professional level anything takes significant time and effort. If it has value to others, people should not object to the person providing that value capturing some of it so they can keep a roof over their head.

Sometimes, the answers aren't as simple and easy as we wish they were.

Professional musicians these days earn their living by going on tour and selling concert tickets and merchandise (esp. T-shirts). The biggest ones are quite profitable, and the concert ticket prices I've seen lately are rather high ($50 to sit on the lawn, $200+ for seats, for one big concert in my area).

The problem is getting to that level where you have so many fans that you can fill an arena or even a smaller venue.

It was a metaphor. It wasn't intended literally. The actual discussion here is about monetizing open source.
Very good list. I would add that most open source projects have many people working on them.

I'm almost positive this isn't true. If you restrict to the top few percent of projects, it'll be much more true, but even so I think you'll find a lot of projects with relatively small core groups, and sometimes a single hacker who wrote most of the core.

Weekend project: try to quantify this via GitHub APIs? Although suspect that might still give a somewhat skewed picture (not every major project is on GitHub...)

Yeah I'm sure that's true if you count by the number of projects. But if you count by utility to the world, I'm sure it's not true.

Think of every open source OS, browser, compiler, interpreter, etc.

There might be one person who initiated the project and did much of the design, like Guido van Rossum for Python, but it wouldn't be fair if he got 100% of the compensation and everybody else on python-dev got 0%.

Yes. All of that, yes.

But you're leaving out one thing.. since it's not licensing, most developers using your project on the job will have to contribute out of their own pockets. Reasonably, they're much more hesitant and will give less.

As evidence, when you buy a piece of software yourself, you probably buy the most basic version you can. When you can expense it, odds are you get those optional components that you _might_ need at some point.

And further, offering "support contracts" can be great but many companies use it as a check box - "do they offer support? yes!" - as opposed to actually buying it. Luckily, of those that buy it, some will never use it. :D

> it's one-time revenue, you have potentially inflated expectations, and just kidding, now you have 1,000 bosses.

I think this dynamic applies pretty widely and it's part of a major problem throughout the open-source community. There are many people who feel entitled to custom development tailored to their exact needs for free or close to it; that population is both considerably larger than the number of people who will contribute at all, much less significantly, and a substantial percentage of them communicate in a rude and entitled manner which contributes to burnout for the actual contributors.

This is a great concise list, however I would add one more item:

* Create bounties for individual features/bugfixes using a platform like Bountysource

I've contributed small amounts to FOSS projects I use personally, because I'd really like to see certain features added (or bugs fixed) but don't always have the means or time to contribute my own pull request.

Pros: customers only pay when the feature/bug is implemented, no pager duty or support hours, easy to gauge demand so time is only spent on work that's most desired by paying customers

Cons: one-time revenue, payments might be low relative to the work required

If I had an open source project with an active userbase (one day...), I would probably combine bounties with Patreon and/or support contracts.

Another option:

* Sell commercial versions of your software, appliances to run it, hardware interface cards, phones, and cloud services (Digium). Pro: you can fund the OSS project from the sales and continue to innovate. Cons: you have to engineer and support the hardware, and you're running a datacenter and doing DevOps.

> * Charge for support (Ubuntu, Nginx-ish). Pro here is that by helping folks implement your software, you'll have a long line of success stories. Con here is that it isn't scalable - you're upside is bounded by the hours you can bill.

If a project has active community then the owner can scale support by sharing workload and money with the contributors. In general I agree with you monetization is a job/business.

> * Run a Patreon (Vue). Pro: you have autonomy and recurring revenue (yay!). Con: now you're a personality. This is limited to celebs who are good at marketing _themselves_ as much as their software

I don't see this one as necessarily true. And it doesn't even seem to hold up in the one example you gave of Vue. Looking over the patreon page, Evan seems to be totally marketing the technology and not marketing "himself" at all.

Ah sorry! I absolutely did not mean this to disparage Evan. I think very highly of him and love Vue. So in that case, my example may not fit my point, which is that it's hard to become a personality (and/or brand) that is known well enough to support a full time income.

One might say that other open-source projects don't make a significant income because they don't have value, but I think you only need to look at e.g. the npm download stats for many packages to see that this isn't true.

Put another way, _many_ software libraries enable huge amounts of business value that is not captured by the authors of those libraries.

For instance, if you're a JS dev, you've probably used lodash or moment, but maybe can't even name who the authors are of those projects.

Maybe it's more accurate to say that, when you're on Patreon, part of your job suddenly becomes a "hustle"? E.g. in Evan's case I get the feeling that without a constant stream of conference appearances and blog posts it would be harder to drive Patreon donations.
I like this. It's not as if Evan is a "celebrity" a priori - he writes good software, he travels and speaks, and Vue's success is in large part because of his hustle, as you put it.

This idea of "hustle as your new second job" is a better phrasing than my parent comment where it sounds like I'm implying that self-promotion is bad or somehow empty.

Becoming a personality is an excellent strategy - if you're known and loved you'll never starve.

I'm mostly trying to point out that time spent hustling takes away from time building. It's still valuable in it's own way, but many OSS devs (who have created software people find valuable and use) don't want to travel to speak at conferences to pay their bills.

Great list with options. I think more developers should opt for the Patreon. Eugen Rockho aka Gargron is making 3k with this for his Twitter alternative Mastodon @ https://www.patreon.com/mastodon. It is possible to fund a developer, but can you fund a whole company this way?

Liberapay is another platform, an open source Patreon alternative, also has a few funded developers and dev-ops like Technowix @ https://liberapay.com/Technowix/.

If you are going to build and maintain a project, you are already taking on a second job. The difference is whether you make $0 or >$0.

You should not monetize if the problem your OSS is solving is not a problem you care about. You have to be in it for the long term as it always takes years of work to succeed.

There's a simpler answer: it's hard to make money on open source software. Relatively few projects can generate additional services sufficient to pay even a single author's salary.

Anyway I think the original question kind of misses the point of open source. The big driver for the growth of open source is that it enables users license-free access to large quantities of software. The folks that have made the most money off open source are companies like Facebook/Google that run their business on open source or use it to drive adoption of products they can monetize in other ways.

> Run a Kickstarter (Light Table, Diaspora). Pro: you can gauge demand and you don't have a boss. Cons: it's one-time revenue, you have potentially inflated expectations, and just kidding, now you have 1,000 bosses.

Has anyone tried running a kickstarter for a version 2? I think I'd be happier doing that because there is a lot less risk, the pitch is "you like v1, would you like me to add features x, y and z?".

Not exactly software, per se, but Font Awesome did it for version 5. https://www.kickstarter.com/projects/232193852/font-awesome-...
Well if you monetised your OSS maybe you wouldn't need your first job, maybe you could just work on projects you actually wanted to.
I'd also say try out Baqqer. You can take pledges to help sustain yourself and your project there.
I see you ;)
Hah :) Howdy!
Great summary of the different options and kudos for giving examples for each!