I think there are likely a variety of contractual options other than "24/7 phone support" which businesses would be happy to pay for, on an ongoing basis. For example, you could charge $500 plus $100 per year for "maintenance", and not be any more specific than "the software will be maintained in an ongoing fashion", and now you won't be starting from $0 next January 1st. As someone who has started from $0 every January 1st for the last 7 -- don't do it! It sucks!
Congrats, though -- Sidekiq is one of the few commercial OSS offerings that I know of doing well in the Ruby/Rails ecosystem. Most of the others just act as friendcatchers for consulting, too.
> charge $500 plus $100 per year for "maintenance", and not be any more specific than "the software will be maintained in an ongoing fashion"
I work at a mega corp, and I cannot echo this enough, we have tons of "maintenance" agreements for hardware and software of all sorts, $100 is not even in the noise level for some of these agreements! Software needs to be maintained, get this done upfront, it is a total pain in the but to have something fail, and then try and push through a purchase for "maintenance" after the fact. This means that I have to get a quote, get my boss to sign off, get purchasing in the loop, etc, etc. Just have this as an annual agreement and it will get processed like everything else. 10 years later, someone will ask, who uses this, and no one will know, and it will get renewed, just because they don't want something to fail ;)
Unfortunately, support models only work for a limited set of software. It happens to work for Red Hat.
For a while, we tried making money off support contracts for Phusion Passenger. The amount of money we made with that put us far below minimum wage. It turns out that with Phusion Passenger, nobody needs good support. Some people may have trouble setting it up (mostly people who are not familiar with Unix, and don't have money for a support contract anyway) but for the vast majority of users, Phusion Passenger just works and never stops working. By making our software stable and user friendly, we were essentially shooting ourselves in the foot revenue-wise.
We didn't want to cripple Phusion Passenger to make more money off support, so we ended up selling Phusion Passenger Enterprise which only differentiates on features, not stability. This latter model turns out to be far more successful and has skyrocketed open source development to new highs.
I noticed the really poor use of Internet systems in international development aid. More than $120 Bn is spent yearly on this, and nobody really has a clue where the money goes. There is no useful overview. So we started building tools to fix that and supply them as a paid for service.
Everything we build is open source software. We have 45+ people working on this, with paying partners such as the World Bank, UNICEF, Liberian government, Mars Chocolate and many hundreds more. It is not your ordinary business model, but it works and we are growing. You can make open source software and earn a decent living.
I agree with the idea but not the don't be specific. The main thing I'd say about "maintenance agreements" is make it clear what they are and aren't getting.
Does it cover upgrades to work with new versions of another OS/framework/database whatever?
Does it cover new functionality?
Does it cover bug fixes? If so is there an SLA?
Is it limited in some way? X incidents? Y hours of your time?
There are such a range of these things that if you're not careful you end up with disappointed customers when it could easily have been avoided.
That's not to say it has to be comprehensive. Corporate organisations will pay a lot for a small amount of peace of mind, but make it clear.
My company has two good types of yearly contracts for "advanced support" oriented to large companies. In both we can charge a good price because they support complex technologies.
One is our own product that is very costly to maintain (reverse engineering third party applications) and some customers agree that they need to have this additional service.
Another one is for complex application virtualization. For example, we give the technology for virtualizing IE6 on Windows 7 and 8 but some Microsoft updates break the solution and the company needs to have an "insurance" against that.
Just wanted to say I love following your blog - And this is definitely something that's been engrained in my mind after reading it, and I'm glad you've reiterated here.
The title of this article is the opposite of what the article says.
He made almost no money with open source. He made tons of money by withholding features from the open source library and instead only offering them under a commercial license as an add-on. Since this is itself a violation of the LGPL, anyone using the Pro version isn't even using open source at all, as both the original and Pro enhancements are at that point licensed with a commercial license.
An accurate title would be:
"How to make $100K by writing an open source library, waiting for a lot of people to build a product using it, then holding back essential features until they pay you money, which they will do because they are suffering lock-in and it's way cheaper to pay you than pay a developer for dozens of hours of work to adopt an open source solution."
Something can be pay for use and open source. What he did here was totally fine. Sidkiq is amazing, and what it replaces is kludgy. If Sidkiq or Riak want to make a version that is specially geared for people that need software to scale then everybody wins.
The people at scale win because they buy the software for peanuts and they were able to do so only after hitting product-market fit. The people starting startups win, since they get well designed software from someone that has self-interest to keep it going.
I see no problem with this whatsoever. It isn't like the at-scale version of Sidekiq would ever have been built if it hadn't been for the cash. The only thing I would add would be that maybe he puts a sunset clause in there that auto-frees the source in a year or two. That way people won't waste time rebuilding the at-scale components.
If a lot of people were able to build products based on his open source library, it seems wrong to claim that anything he held back was truly essential.
First, the title is simply wrong. The OP did not make 100k with Open Source, he made 100k selling something that's an addon to his LGPL based offering. Another part of the package is a commercial license bundled with his software. Of course there is nothing wrong with that, but saying that he made money in os is just plain wrong, IMVHO.
>>In nine months of selling commercial licenses, I sold 33 for $1,650. If you figure I spent 300 hours building Sidekiq, that’s less than minimum wage. Result: failure.
Second, If the money was only reason why the OP build the software then I have to agree that this is a failure. If on the other hand sidekiq was used in some of this own projects, he should also calculate how much time/money he saved by creating it.
Why do you object to calling this 'making money with Open Source'? I agree that "making money by developing and selling closed source extensions to open source products" is 'making money with Open Source'. Especially considering he also developed and maintains the OS product.
Charging a flat rate ($500) per company is leaving a lot of cash on the table. Have you considered a tiered model based on number of servers in use?
As well as increasing fees from Megacorps, the flipside is you could also offer discounts to non-profits, early startups, and so on, and in exchange for links on their homepage.
The authors article is good although it misses a tiny little detail when calculating hourly costs. Its not just his $100K/700 hours = pretty good, its also his customers thinking, hmm, it took a specialist 700 hours, so it going to take our busy guys 1000 hours part time, and our guys are already busy, and he's only asking $500, thats a bargain at 50 cents per hour to replicate...
Now if you start demanding $5/hr from each customer then the outsources in India are going to start eating into your sales when they take the work inside or just figure out a work around that doesn't take 1000 or 700 hours.
Another interesting issue is signing budgets. I have no use for this particular example but my boss can sign off on $500 at pretty much any mega corp I've worked at, but if you demand annual auto-renewal ongoing charges or get into the mid 4 figures suddenly you have to convince a heck of a lot more people than me and my boss. If you're charging more than a conference or a training class, or you're demanding annual payment, its going to be a harder sell for megacorps. Sure the code monkey and his boss might love it, but now you need to convince additional bean counters who think ruby is a precious stone and its all downhill from there. You could try to corporate speak market it to get past the bean counters with lots of babble about proactively leveraging the synergy of the enterprise cloud platform but that risks repelling the code monkey and his boss, a fine line to walk.
Really impressed by how customer-friendly the licensing is:
> How many licenses do I need to buy?
> Every organization that runs Sidekiq Pro for their own benefit must purchase a license.
> GitHub runs *.github.com. They need one license for their entire site.
> GitHub sells GitHub Enterprise to various customers. They need one license per customer because the product is installed and run locally by the customer.
> Pivotal Labs builds websites on behalf of customers. They need one license per customer because the customer is the one getting the benefit of Sidekiq.
If your story is true, then stop talking about it already!
First,
Since you're in the U.S.A., you'll be getting into the 40-50% marginal tax bracket with federal, state, and Self-Employment Taxes. If you incorporated in an off-shore jurisdiction, you'll keep all your money. In your situation, it's completely invisible to your corporate customers where you are located. If they're willing to pay random guy in Portland, Oregon, they'll pay random company in Singapore (for example). You could even disclose the existence of the foreign company to the tax authorities. In that case, don't draw a salary or a dividend from the foreign company, and you'll still pay no U.S. tax. Let the company pay for your "business travel", "business expenses", etc. And otherwise just let the cash pile up in the foreign account.
Second,
I highly doubt you'll gain additional customers through your blog. It sounds like you get customers because they are already using the open source component, and discover they could benefit from the paid component. Your article about the $100k gets you hacker cred, but also draws competition. Blog about the open source component, and keep mum about the dough.
The IRS has already thought about this scheme. If you are a US citizen, you need to report all foreign bank accounts if the sum of foreign money is over $10k. Failure to do so is a $100k fine. I expect there are other problems here.
I had heard that you could license your software to your company, which is advantageous since apparently license fees are taxed at capital gains rates (15%). I have not verified this, however.
I upvoted you because it's an interesting dissenting opinion, and I've always wondered about whether the upside of being open beats the downside of additional competition.
We also don't know whether he paid taxes on the income (I also guess not), and, most importantly, whether his blog post will bring him additional revenue.
Do you have many examples where blogging about success brought about competition? Are there big barriers of entry to building what he built? It looks like you'd need at least 700 of developer hours, I wouldn't do it lightly.
OTOH if I had found an easy way to beat the lottery I wouldn't blog about it :P
Author here, thanks for the kind words. Always nice to wake up to a DDoS of my site at 2AM. :-)
Recurring revenue is a pricing change I'm seriously considering, I just don't have a payment system in place that can manage my customer list and handle the annual CC charge.
"Making Money in Open Source" can have several meanings. Selling software is just what most people think of when reading the title. I myself can say I made about $150k in Open Source this year. But it wasn't by selling software, it was by doing freelance jobs and consulting that involved free software only. Money wasn't coming in on autopilot, I had to get up every day and go to work at several places. But for me, free software is the reason I live a very comfortable life, doing things I love to do. It just isn't selling software, but everything else around it. I always tell my friends that I am the perfect example that Open Source brings in more than enough money.
I can't figure out how the license on the software is relevant to this story. It seems like you could just as easily tell this story to relate how well a lucky money-making charm works. The charm did not make you money; the hours you put in consulting did. I mean, this doesn't give me any reason to open-source any software I write outside of a specific contract to do so.
Having a large picture of someone's face staring at me next to the text distracts me, creeps me out, and makes it very difficult for me to read. Lots of tech blogs have this anti-feature but this one is particularly egregious.
So who provides support for the base product? My concern with the free and 'enterprise' version of products, is support for the free.
You could say just community support, but then if things aren't getting fixed either you end up fixing them or your product gets a bad name. If you provide email support, you're tying a lot of your time to the free product.
I'm a big fan of Sidekiq, and the model he's chosen. Some of the features implemented in the free version (retries with logarithmic logic as to timing, scheduled tasks) could possibly in a paid version, and the price point for the Pro version ($500) is a bit bold.
Big thanks to the author for posting this, and for including some actual numbers!
This is also exciting because it shows that you can make money directly with an open source product, instead of making money with services surrounding a product.
Can someone help me understand whether he's the only one allowed to build a paid service over the open source code, or could anyone technically take away all his open source code and build the same service he provides in the pro.
Because if he doesn't have that control, then this is really not making money with open source but rather relying on existing open source to make money
As a non owner of the copyright, but beneficiary of a GPL license, you would be allowed to make a derived work (your own "pro" version), and to distribute it (to sell it), but it would have to be under the GPL.
In this case, since it is a library under the LGPL, you could make a client product using this library, instead of a derived work, and you could distribute this product under your own terms, but if you provide the library along, you must of course keep this library under the LGPL (and provide the sources of the library).
So with the LGPL, you are free to make competiting proprietary products.
It's encouraging to hear this can work. Of course that guy was extremely fortunate to be making something everyone was interested in, so it's still a risk (but then again: what isn't?).
There was no fortune to it, it was years of OSS work on lots of Ruby projects followed by a realization that existing solutions were terrible and I had the knowledge to make something better. Nothing like years of experience to put you in the right place at the right time.
You say fortunate, I say foresighted. In any event. I imagine that he started building it to meet his own needs and the growth of revenue now is a happy side-effect.
[+] [-] patio11|12 years ago|reply
Congrats, though -- Sidekiq is one of the few commercial OSS offerings that I know of doing well in the Ruby/Rails ecosystem. Most of the others just act as friendcatchers for consulting, too.
[+] [-] WestCoastJustin|12 years ago|reply
I work at a mega corp, and I cannot echo this enough, we have tons of "maintenance" agreements for hardware and software of all sorts, $100 is not even in the noise level for some of these agreements! Software needs to be maintained, get this done upfront, it is a total pain in the but to have something fail, and then try and push through a purchase for "maintenance" after the fact. This means that I have to get a quote, get my boss to sign off, get purchasing in the loop, etc, etc. Just have this as an annual agreement and it will get processed like everything else. 10 years later, someone will ask, who uses this, and no one will know, and it will get renewed, just because they don't want something to fail ;)
[+] [-] FooBarWidget|12 years ago|reply
For a while, we tried making money off support contracts for Phusion Passenger. The amount of money we made with that put us far below minimum wage. It turns out that with Phusion Passenger, nobody needs good support. Some people may have trouble setting it up (mostly people who are not familiar with Unix, and don't have money for a support contract anyway) but for the vast majority of users, Phusion Passenger just works and never stops working. By making our software stable and user friendly, we were essentially shooting ourselves in the foot revenue-wise.
We didn't want to cripple Phusion Passenger to make more money off support, so we ended up selling Phusion Passenger Enterprise which only differentiates on features, not stability. This latter model turns out to be far more successful and has skyrocketed open source development to new highs.
[+] [-] bjelkeman-again|12 years ago|reply
I noticed the really poor use of Internet systems in international development aid. More than $120 Bn is spent yearly on this, and nobody really has a clue where the money goes. There is no useful overview. So we started building tools to fix that and supply them as a paid for service.
Everything we build is open source software. We have 45+ people working on this, with paying partners such as the World Bank, UNICEF, Liberian government, Mars Chocolate and many hundreds more. It is not your ordinary business model, but it works and we are growing. You can make open source software and earn a decent living.
[+] [-] Tyrannosaurs|12 years ago|reply
Does it cover upgrades to work with new versions of another OS/framework/database whatever? Does it cover new functionality? Does it cover bug fixes? If so is there an SLA? Is it limited in some way? X incidents? Y hours of your time?
There are such a range of these things that if you're not careful you end up with disappointed customers when it could easily have been avoided.
That's not to say it has to be comprehensive. Corporate organisations will pay a lot for a small amount of peace of mind, but make it clear.
[+] [-] wslh|12 years ago|reply
One is our own product that is very costly to maintain (reverse engineering third party applications) and some customers agree that they need to have this additional service.
Another one is for complex application virtualization. For example, we give the technology for virtualizing IE6 on Windows 7 and 8 but some Microsoft updates break the solution and the company needs to have an "insurance" against that.
Simple support gives a lot of headache.
[+] [-] tjbiddle|12 years ago|reply
Just wanted to say I love following your blog - And this is definitely something that's been engrained in my mind after reading it, and I'm glad you've reiterated here.
If anyone would like to follow him - here's a link to an arbitrary archived newsletter that he's published where you can sign up: https://training.kalzumeus.com/newsletters/archive/sources_o...
[+] [-] justin_vanw|12 years ago|reply
He made almost no money with open source. He made tons of money by withholding features from the open source library and instead only offering them under a commercial license as an add-on. Since this is itself a violation of the LGPL, anyone using the Pro version isn't even using open source at all, as both the original and Pro enhancements are at that point licensed with a commercial license.
An accurate title would be: "How to make $100K by writing an open source library, waiting for a lot of people to build a product using it, then holding back essential features until they pay you money, which they will do because they are suffering lock-in and it's way cheaper to pay you than pay a developer for dozens of hours of work to adopt an open source solution."
[+] [-] 3pt14159|12 years ago|reply
The people at scale win because they buy the software for peanuts and they were able to do so only after hitting product-market fit. The people starting startups win, since they get well designed software from someone that has self-interest to keep it going.
I see no problem with this whatsoever. It isn't like the at-scale version of Sidekiq would ever have been built if it hadn't been for the cash. The only thing I would add would be that maybe he puts a sunset clause in there that auto-frees the source in a year or two. That way people won't waste time rebuilding the at-scale components.
[+] [-] jes|12 years ago|reply
[+] [-] ceejayoz|12 years ago|reply
[+] [-] tedunangst|12 years ago|reply
[+] [-] eeeeeeeeeeeee|12 years ago|reply
[+] [-] tjbiddle|12 years ago|reply
[+] [-] mariusz79|12 years ago|reply
>>In nine months of selling commercial licenses, I sold 33 for $1,650. If you figure I spent 300 hours building Sidekiq, that’s less than minimum wage. Result: failure.
Second, If the money was only reason why the OP build the software then I have to agree that this is a failure. If on the other hand sidekiq was used in some of this own projects, he should also calculate how much time/money he saved by creating it.
[+] [-] Confusion|12 years ago|reply
[+] [-] mmahemoff|12 years ago|reply
As well as increasing fees from Megacorps, the flipside is you could also offer discounts to non-profits, early startups, and so on, and in exchange for links on their homepage.
[+] [-] VLM|12 years ago|reply
Now if you start demanding $5/hr from each customer then the outsources in India are going to start eating into your sales when they take the work inside or just figure out a work around that doesn't take 1000 or 700 hours.
Another interesting issue is signing budgets. I have no use for this particular example but my boss can sign off on $500 at pretty much any mega corp I've worked at, but if you demand annual auto-renewal ongoing charges or get into the mid 4 figures suddenly you have to convince a heck of a lot more people than me and my boss. If you're charging more than a conference or a training class, or you're demanding annual payment, its going to be a harder sell for megacorps. Sure the code monkey and his boss might love it, but now you need to convince additional bean counters who think ruby is a precious stone and its all downhill from there. You could try to corporate speak market it to get past the bean counters with lots of babble about proactively leveraging the synergy of the enterprise cloud platform but that risks repelling the code monkey and his boss, a fine line to walk.
[+] [-] unknown|12 years ago|reply
[deleted]
[+] [-] zem|12 years ago|reply
> How many licenses do I need to buy?
> Every organization that runs Sidekiq Pro for their own benefit must purchase a license.
> GitHub runs *.github.com. They need one license for their entire site.
> GitHub sells GitHub Enterprise to various customers. They need one license per customer because the product is installed and run locally by the customer.
> Pivotal Labs builds websites on behalf of customers. They need one license per customer because the customer is the one getting the benefit of Sidekiq.
[+] [-] shutupalready|12 years ago|reply
First,
Since you're in the U.S.A., you'll be getting into the 40-50% marginal tax bracket with federal, state, and Self-Employment Taxes. If you incorporated in an off-shore jurisdiction, you'll keep all your money. In your situation, it's completely invisible to your corporate customers where you are located. If they're willing to pay random guy in Portland, Oregon, they'll pay random company in Singapore (for example). You could even disclose the existence of the foreign company to the tax authorities. In that case, don't draw a salary or a dividend from the foreign company, and you'll still pay no U.S. tax. Let the company pay for your "business travel", "business expenses", etc. And otherwise just let the cash pile up in the foreign account.
Second,
I highly doubt you'll gain additional customers through your blog. It sounds like you get customers because they are already using the open source component, and discover they could benefit from the paid component. Your article about the $100k gets you hacker cred, but also draws competition. Blog about the open source component, and keep mum about the dough.
Good luck.
[+] [-] prewett|12 years ago|reply
I had heard that you could license your software to your company, which is advantageous since apparently license fees are taxed at capital gains rates (15%). I have not verified this, however.
[+] [-] GFischer|12 years ago|reply
We also don't know whether he paid taxes on the income (I also guess not), and, most importantly, whether his blog post will bring him additional revenue.
Do you have many examples where blogging about success brought about competition? Are there big barriers of entry to building what he built? It looks like you'd need at least 700 of developer hours, I wouldn't do it lightly.
OTOH if I had found an easy way to beat the lottery I wouldn't blog about it :P
[+] [-] mperham|12 years ago|reply
Recurring revenue is a pricing change I'm seriously considering, I just don't have a payment system in place that can manage my customer list and handle the annual CC charge.
[+] [-] purephase|12 years ago|reply
[+] [-] karamazov|12 years ago|reply
[+] [-] justinlilly|12 years ago|reply
[+] [-] egil|12 years ago|reply
[+] [-] geff82|12 years ago|reply
[+] [-] chc|12 years ago|reply
[+] [-] davidw|12 years ago|reply
No scarcity, no money, it seems: http://journal.dedasys.com/2007/02/03/in-thrall-to-scarcity
[+] [-] shmageggy|12 years ago|reply
[+] [-] WestCoastJustin|12 years ago|reply
[1] http://railscasts.com/episodes/366-sidekiq
[+] [-] t0|12 years ago|reply
[+] [-] wellboy|12 years ago|reply
[+] [-] babuskov|12 years ago|reply
[+] [-] prottmann|12 years ago|reply
Install them a open source Webserver with enough power for $100K ;-)
[+] [-] javert|12 years ago|reply
Clearly there is a massive open source economy. I would like to understand that better.
[+] [-] quaffapint|12 years ago|reply
You could say just community support, but then if things aren't getting fixed either you end up fixing them or your product gets a bad name. If you provide email support, you're tying a lot of your time to the free product.
Just curious how others handle this.
[+] [-] chc|12 years ago|reply
[+] [-] bdcravens|12 years ago|reply
[+] [-] karamazov|12 years ago|reply
[+] [-] encoderer|12 years ago|reply
[+] [-] jakobe|12 years ago|reply
This is also exciting because it shows that you can make money directly with an open source product, instead of making money with services surrounding a product.
[+] [-] rustybones|12 years ago|reply
[+] [-] informatimago|12 years ago|reply
In this case, since it is a library under the LGPL, you could make a client product using this library, instead of a derived work, and you could distribute this product under your own terms, but if you provide the library along, you must of course keep this library under the LGPL (and provide the sources of the library).
So with the LGPL, you are free to make competiting proprietary products.
[+] [-] hcopr|12 years ago|reply
[+] [-] mperham|12 years ago|reply
[+] [-] concerto|12 years ago|reply