Ask HN: How big does an open-source project need to be for a lifestyle business?
Specifically, about how many "stars" on Github would such an open source project need to start realistically thinking about turning it into a lifestyle business, since GH stars are probably the most prominent quantitative indicator I know of in this area.
I've got an open source project that has grown fast with relatively little promotion. I know that a good number of companies are using it in production. I also know of a good way to monetize it, while keeping the existing software exactly like it is (not "open core" but somewhat related).
Is this a pipe dream, or do I have a realistic chance into making this a lifestyle business that -- with hard work -- can start providing a reasonable income (say $100,000/yr) within a year or two?
113 comments
[ 2.5 ms ] story [ 190 ms ] threadYeah, I've already done your second approach, that's not what I'm hoping for (which may prove elusive).
If you're interested, I recommend listening to his interviews on the ChangeLog Podcast (https://changelog.com/159/, https://changelog.com/130/, https://changelog.com/92/) where he talks about how he monetised those products.
I'm pretty sure that succeeding in this is not going to be a matter of how many "stars" your project has, but rather a function of the dollar value of the problem your software solves and how well you market the paid product. You should start that marketing now by providing a link to your project :).
> You should start that marketing now by providing a link to your project :).
Well, I haven't even created the paid product at this point, it's still early in the game. Just trying to get a feel for the potentials.
You're welcome!
> Well, I haven't even created the paid product at this point, it's still early in the game. Just trying to get a feel for the potentials.
Sure, but you're at the top of Hacker News right now and there's zero downside (and lots of upside) in getting your project in front of a bunch of developers. Even if they don't start using it right away, maybe it will stick in their minds and then six months down the track (when you do have a paid version) they'll Google it.
You're absolutely right though: your project is only as valuable as the problem you are solving. When someone told me early on that switching from Resque to Sidekiq was saving them $3000/month, I knew that there was a business here.
Cachet (https://github.com/cachethq/cachet) has 2.6k stars but I know that the amount of installs is actually far higher.
The only reason I pulled that particular indicator out of the hat was to provide some reasonable benchmark for comparison.
But perhaps it was not a reasonable benchmark, after all.
Also, I know of several project that fix tons of issues, but are relatively unpopular (perhaps because they have so many issues?).
I think the bottom line is there are no perfect indicators of open source project popularity.
For projects I'm actively using, I'll either have a fork, or just a clone of the repo locally.
a) 100k / year is not 'reasonable', it's huge in microisv terms. The modal revenue for independent software vendors is $0 (stats from payment processors). To get there in 2 years is even less common.
b) The number of 'stars' has correlation r=0 with ability to monetize. I'd even speculate - the more stars, the more ingrained in people's heads it is 'this is open source, ergo free', the harder it will be to make money. If you're selling support for something only slightly popular, customers will have no other options - but on support for Wordpress, you have to compete with other devs, with 2$/hour rentacoder people, with Amazon selling 'teach yourself Wordpress in 60 minutes' books etc.
c) What incentive do companies have to pay for it? You have to be able to articulate it clearly before going down this path. Your wording makes me think you are thinking 'this is my secret sauce, I can't give it away', which is (frankly) very naive. If your idea is even a little bit good, you'll have to stuff it down people's throats to accept it. I don't know of any business that makes money OS software (on the software itself, not the consultancy around it) without having a dual licensing model - GPL or commercial. And if that was really a cash cow, Trolltech wouldn't have been sold a dozen times (or so) over the last 10 years...
To judge whether your product has commercial potential, you need to
1) Describe your customers. In detail. Not just 'anyone using a database', but 'medium scale accounting businesses with on-premises case database' (idiotic example, of course). You need to do this in such a way that you can derive a strategy from it on how to find them. E.g., accountants meet at industry events, where you could book a booth.
2) Identify a sample of, say, 100 of them, using the methods from step 1.
3) Start calling them. Preferably after you've taken a sales class (just 2 days will give you life changing insights, I promise). Not emailing, actually talking to people. For the 100 from step 2, identify how many would buy your product.
4) Get sales promises, 10 or 15 or so. People who you can excite so much about your product that they promise (informally) 'yes, I'll buy this if you offer it within 6 months' or whatever.
5) If you can't even do this, you have no (OK, 'barely any') hope of succeeding.
The main skill you need is marketing to succeed at an endeavor like this. The quality of your software, or its popularity amongst the crowd that uses Github, is of secondary importance at best. That's not to say that you can succeed with selling people crap product, snakeoil style, just that your life as a software vendor is 10 or 20% of software development, at best (or worst, depending on your perspective...)
BTW, no "secret sauce", just lack of willingness to submit the question in my real name at this point in the game for several reasons (current employment status, etc).
Another quantitative indicator you can use is number of downloads on relevant package manager (npm, PyPi etc.). These indicators only tell you how big your audience is and not whether your project could provide income. However, having big audience increase chances of success - you have a good position here.
Check out MinoHubs (https://www.minohubs.com). We provide tools that will help you get started with monetizing your project in several ways very quickly. Let us know if you have any questions or if you're missing anything.
1) Redhat
2) "some guy" from one of the podcasts I can't think of at the moment who forks Ruby and keeps a stable, supported version for his corporate clients, while dealing with patches & upgrades on his own to his fork
In both of these cases, you can see that is isn't actually "how many users", but "how many corporate users who need a service that keeps software X completely stable and managed"
So I think from what you've said that it would be a good thing to look into. You may want to contact the guys from http://www.tropicalmba.com/ for a few pointers - this is right up their ally and they are very willing to discuss
Story time: 2 years ago I started to learn frontend web development from various online courses. I had zero technical background and no intention to make money. Within few months I learned enough to create my first WordPress theme. It was terrible but it worked . I made few more themes and never did anything with them. I made like 6 themes and just deleted theme few months down the road. Then I decided to submit one theme on WordPress.org just to see if it gets approved. Themes goes through review and someone would evaluate my code and that's what I was after. Long story short my themes now have been downloaded over 1,000,000 times and I have turned it into 6 figure a year business.
While I haven't sold a single theme yet, apparently you can recommend hosting and premium plugins that goes along with your themes and make a decent income.
For those interested you can visit site at: https://colorlib.com/
> While I haven't sold a single theme yet
What?
Does that mean every 10th downloader actually gets you a comission of $1 on some affiliate purchase or does that mean that every 100th downloader buys something generating $10 in affiliate income?
My company is based on Open Source software (Webmin, Virtualmin, Cloudmin, and Usermin), and it sounds sort of similar to your situation. When we started the company based on this stuff we had several major companies in our target market (and we chose our target market, and chose to focus on Virtualmin rather than other features of Webmin, because that market already knew us and used our software in visible ways) using at least one of our projects, almost a million downloads a year, and my co-founder and I had both been making a decent living doing contract work based on it and writing about it.
Today, Webmin has about 1 million installations worldwide (and has grown to ~3.5 million downloads per year). We make enough money from our small proprietary extensions to Virtualmin and Cloudmin to support three modest salaries. It is not $100k/year for any of the three people working on it, though it's not an outrageous dream to think we could get there..we've had much better years than we're having this year or last year, however, so revenue is not necessarily growing like gangbusters, despite our userbase roughly tripling in the time the company has existed and still growing at a comfortable clip annually. Ours is sort of an open core model, though the core is very large (~500kloc) and the proprietary bits are very small (~20kloc), which may be part of our revenue problem.
I think there are some things you're probably underestimating (not to say it should discourage you, I'm just trying to open your eyes to some challenges you will face that you might not expect):
When you sell Open Source software, support is your biggest value add, even if you don't want to be a support company. Support costs a lot of time and money to do well. Time and money has to be balanced between making things better and supporting existing users on the current version (true of proprietary as well, but proprietary vendors don't have a million people using the free version and expecting help). Growing the free user base (which can be a side effect of having people working full-time on it) can paradoxically lead to less time and money for making the software better. We fight this battle all the time. To make our current customers and OSS users exceedingly happy with our level of support is to severely limit our ability to deliver next generation solutions. We run on such a shoe-string, and compete with such huge players, that it's always a struggle to deliver both (and we fail plenty).
So, plan to hire someone to help you support the software, eventually. If we were comfortable leaving our forums to "the community" and not bothering to have an official company voice present every day helping answer the hard questions, we could increase our own salaries by a lot (we pay our support guy more than we pay ourselves), but I don't know that we'd continue to see the growth we've seen in our user base, which we also value. We make things because we want them to be used, not just because we want to make money.
Get used to having demands thrown at you every day. The level of documentation and completeness and rapidity of development expected of a product is vastly different than that of an Open Source project, or at least the way you have to respond to it is different...even for users of the Open Source versions. We have over 1,000 printed pages worth of documentation, plus a couple hundred pages of online help, and still get complaints about our documentation regularly. And, we have more "features" than any other product in our space, including the two big proprietary competitors, and yet still get feature requests all the time (and it's harder to say no than to just implement it, which can hurt usability). A million users generates a lot of feedback. It's a very high volume of demands to...
Having had a look at your product page it strikes me that you seem to be under pricing though? $99 seems way cheap if you add any value at all. I suppose it's a though market, but $500 or even $1000 sounds more reasonable. Loose half customers, make more money, have fewer to support?
I'm guessing you've gone back and forth on this a lot; just hoping a completely outside perspective might help - even if you end up going with your current pricing model.
Best of luck!
Our previous pricing was $139 up to $499 for the first year of Virtualmin Professional, depending on number of domains hosted, and renewals costing about 1/3 that. Current prices are $99 to $249, I think. So, it is significantly discounted.
This is also a bit of a stop gap while we rewrite our store and license manager to accommodate monthly subscriptions and to better handle reseller accounts (users who are hosting providers that buy many licenses and expect steep discounts because our competitors provide steep discounts to hosting providers). This all coincides with a migration from Drupal 6 to Drupal 7, which has been a nightmare and has taken longer than every previous website migration we've done, including two migrations from completely unrelated content management systems and shopping carts.
Anyway, you're probably right about pricing. We'll decide after we launch the new site and have ways to provide more flexibility in purchasing to our various types of customer.
I'd like to hear about your poor impression of Webmin. What, specifically, makes Webmin not something you would consider for your servers? I know about some of the persistent myths that follow Webmin around: Insecure, breaks things, incompatible with my favorite distro, ugly code (this is kinda true). But, many of those come from grumpy hard-line command line administrators that think no one should be allowed to be a system administrator if they can't do it all in a shell...we'll never win those folks over. But, I still like to know what negative things people think of Webmin and why they think it. I've pretty much devoted my entire professional career to Webmin and things related to it (my previous company also was based heavily on Webmin, and I wrote a book about it). It matters a lot to me that it always gets better; and, it matters to me that people are judging it on its actual merits (and flaws) rather than inaccurate beliefs.
Aww, I'm so glad I'm not on your team for that ;-) Even without following Drupal closely I can imagine your pain: new programming/design patterns, new php language features, major refactoring and a change to more modern rendering pipeline, templates and perhaps a new caching layer on top of perhaps a restructured data-layout? Am I close?
> I'd like to hear about your poor impression of Webmin. What, specifically, makes Webmin not something you would consider for your servers? I know about some of the persistent myths that follow Webmin around: Insecure, breaks things, incompatible with my favorite distro, ugly code (this is kinda true).
Mainly bad code and insecure (way back). But:
> But, many of those come from grumpy hard-line command line administrators that think no one should be allowed to be a system administrator if they can't do it all in a shell...we'll never win those folks over.
That's me ;-) As I said, not your target customer. Mainly I don't really want the level of access webmin needs to be effective, exposed as a web service. While that might be mostly religion at this point; I also realize that it mostly makes sense if no other core data is exposed as a web service. This is obviously the case for many people and businesses. [ed: just not for me as I prefer ssh/the command-line]
So again, best of luck :-)
We actually take security seriously, as any software that provides root-level access to a million servers must, though I don't pretend we will ever be bug-free or that we can ever guarantee security (even SSH has had major security bugs). We're considering setting up some sort of bug bounty to help sniff out security bugs, but haven't figured out how best to implement that.
The thing is; I already use ssh. Adding another network service doubles the attack surface.
Then there's the ux problem for browsers and certs. Using certs with ssh is complicated enough (it's still on my todo-list, I use/require keys - but key management is not trivial for more than a handful of servers).
Ssh also finally have easy/proper 2fa support now: setting up totp+keys is quite trivial. Add password+totp for sudo locally and you have half-decent ux and security.
And while ssh has had some security issues, it's been a while since the last big one. In contrast with all the things that go wrong with web apps (xss, session-hijack etc).
All that aside, certs+2fa (and the ability to disable pw auth) goes a long way.
Run>powershell
If you want oneget, it's in the extras-bucket iirc: But while scoop could use some love (eg vlc is a point release behind oneget/chocolaty) -- it's much nicer than the FindPackage mess IMNHO.More at http://scoop.sh
Here's what I would suggest. Reach out to a few people from these organizations and ask them for their general views on your project and what their major pain points are. I'm sure they will be more than happy to talk to you about it if they're indeed already deriving great value from it. Once you have established a good rapport (i.e. warming up the lead), set-up a call with them to pitch your vision for the paid product. A call is crucial because email and text can only communicate so much - you can get a far better idea of their domain and problems through a quick 45 min call. Scheduling this should not be a major problem once you have established a good email channel previously.
If you can get about 8-10 people interested in exploring your paid offering you have something that's promising. After that you can think about scaling the business with self-service etc.
BTW, everyone discounts Github stars, but the one thing stars gives me is a very easy-to-access list of potential customers.
Seriously though, the fact that you're asking about GitHub stars is... telling. There's plenty of popular repo's on GitHub that I'd refuse to pay any money to, but more to the point, GitHub is a terrible customer experience because it's not for selling software to people, thus the only thing 'GH stars' tells us is... the number of people that have starred a particular repo.
For a purely open-source project, look at OpenSSL. It's probably in production in a significant amount of the entire internet. But until Heartbleed came along and it came to light that the OpenSSL project was severely underfunded, it was limping along with little sponsorship.
Red Hat is probably the most famous open source business, but unfortunately, if you look at their practices, they're abiding by the letter of the GPL, but not entirely the spirit, which they've decided is necessary from a business perspective, so if you're looking to make a lifestyle business based on your open-source project, the question to you is: how comfortable would you be with a lifestyle business based on an entirely proprietary project?
Is this a pipe dream? Chances are, yeah. But do dreams come true? Sometimes :)
I was more trying to start a conversation, which succeeded.
Would you rather make $300k a year writing and selling proprietary software or fail/make $20k a year providing value-added services for an open-source project? This isn't a tough choice for me, but for some people the ideal of open source trumps all.
It's much easier to write software that fits a simple business model, than to figure out how to shoehorn a business model onto an open source project. You can tell which route is the pragmatic one: start from scratch, optimize for easy monetization.
That said, don't let any of this discourage you. It's absolutely possible to create a cool lifestyle business based on an open source project (or anything really). The only way to know if you can do this is to seriously commit to it. If you don't have to support a family it's probably a risk you can take.
> It's much easier to write software that fits a simple business model
Everyone talks about this, but how do I find this business model? Is there some methodical way to uncover needed software?
I mean, everyone talks about having industry expertise, but I actually do have industry expertise in a non-software-related industry (I only returned to software development after a 10+ year hiatus). But my industry expertise is worthless for this particular task, since this industry is absolutely flooded with software, mostly low quality but also some high quality stuff. The last thing people in the industry need is another software package (and they even say this).
So how do I find these vaunted "business models" for paid software?
90% of software companies have the following business model:
90% of saas companies work like this: It's just that simple. No need to overthink it.Having industry expertise just makes it easier to get to product-market fit. It's by no means a requirement. You may be undervaluing your industry experience. Unless your market knowledge is really generic (e.g. webshops), you've probably got some valuable insights.
(edit: most programmers get paid well, therefore, if you become a programmer you're likely to get paid well. If there are a lot of companies making money in a market, then you're likely to make a lot of money if you enter that market. Inversely, if everybody in a market is struggling [indie games] then you're likely to struggle too.)
I remain hopeful that the standard SaaS business model dovetails nicely with free and open source software.
GitHub would probably have less of a problem with open sourcing their code because their primary value prop isn't that they've built some brilliant software but that they take the bother out of managing your source hosting.
GitHub is making money by selling their proprietary pack to other corporations so they could implement it on their own server. If they release it for free, they wouldn't be able to support free code hosting services and remain profitable.
They're also selling premium plans for the regular users, but I don't think that this gives them enough profit to remain profitable.
It's only when you go all the way down to the "lifestyle" sized companies that I see real dedication to the open source ideals. They're willing to put their entire product on github. Props to those founders, but it's pretty insignificant because those businesses are so small.
Most people don't have the skills to run their own servers, and nor can we expect them to. Service based products are the future, but I hope that interoperability gets to the point where customers can switch painlessly between different providers. That would put a lot of leverage back in the hands of the end user. If I had to name one problem it would be lock-in, not proprietary code.
I just posted about our approach here: https://news.ycombinator.com/item?id=9788772
> since this industry is absolutely flooded with software, mostly low quality but also some high quality stuff. The last thing people in the industry need is another software package (and they even say this).
I don't know about industry, but perhaps, there's a lot of software with bad User Mental model/User Experience??. In any case, it sounds like the industry could use some disruption based on clear feature reduction, support and UX improvements(your experience should point to which it is).
https://hackpad.com/Web-And-Mobile-Revenue-Models-final-EgXu...
I think this is a common thread here - software developers looking for a problem to solve. A lot of people invent a solution without really knowing whether it is a problem - or is the main problem for whatever industry it's serving.
I personally feel like you'll always do better if you at least have a passing interesting in whatever business you are planning to "disrupt". If you don't work in the industry itself, then it's probably a good idea to have a partner who does and can bring to the table the deep understanding of the industry and whatever pain it may have.
Finding that is not incredibly difficult - there are thousands of people who have an idea for an application and are looking for somebody to bring it to life. If you don't personally have any inspiration for an idea, then you can always find somebody who has the idea and industry experience and create a great team.
Another reason for having such a person is that, even if you write an amazing app, you'll quickly find that each industry can be a small world, and the vendors you are competing against are already having lunch and playing golf with the major buyers in that market. If you have no connections at all, it can be extremely difficult to get your foot in the door. "Build it and they will come" is not something that is usually true.
Find out why they think it's low quality and do a better job on those points. That alone can be a major selling point of your software.
You said it as if its a bad thing.
It hasn't been said but I suspect it wouldn't work nearly as well for a consumer product than it would for something targeting businesses.
There's your answer
You need to provide a service connected to your project, this is regardless of how many people use your project.
It was launched alongside money.js[1] (a minimal JavaScript currency conversion library), designed to work seamlessly together and both found a brilliant response and grew an organic community.
Hundreds of tutorials and thousands of posts and mentions later, GitHub eventually contacted me and politely asked me to take down the exchange rates repository, because they were being hammered by people requesting the data - only at this point did it occur to me that I'd created something of genuine value, and (6 months of fretting and tail-chasing later) I opened up a paid option.
For me the key thing was: I never intended to create a business. It was (and is) a labour of love. We've since grown to be the industry-leader for our area - "good enough data" for the startup and SME market - and count Etsy, KickStarter, WordPress and Lonely Planet among our clients.
Although it's no longer truly open source, 98% of our users are still on the Free plan, which will very soon be expanding to include all features (so, no more limiting by price tiers) - this is how I still feel so passionate about it.
I can't wait to publish the next steps in our journey - where we're opening everything up to the community and marketplace. I don't like where the industry is heading (competitive, closed, secretive) and we've chosen to move towards transparency and sharing.
I like businesses built on a core of open source community, because they're in service to the people who are actually building the products, rather than those in the traditional 'upper levels'. This means there's really no "sales process" (which I'm massively allergic to) - apart from the occasional grilling from the accounting department, who may find it hard to trust a business based on open source principles.
Good luck!
[0] https://openexchangerates.org
[1] https://github.com/openexchangerates/money.js
A suggestion: It would be awesome if it was possible to download historic data in batch format (eg. CSV) which would make it easy to copy the data into my reporting database. When I started working on my own reporting solution, I'd have paid $100 just to download a CSV file with 5 years of exchange rates, even though the data is available for free on a bunch of websites, since it's such a hassle to collect.
We do have a time-series bulk download, but it's still in JSON format and currently limited to 1 month of data. This will be redesigned soon and looking to include CSV downloads as an option.
I haven't A/B tested it, that's something I should do.
[1]https://www.psychologytoday.com/blog/the-decision-lab/201109...
It'll also be interesting to see drop-off at that point in the funnel - my signup form is a bit of a monster.
In any case, we're changing this very soon to list from left to right including the Free plan in the table (I don't like that it's hidden beneath the paid options).
I started making money in 2011 with a GUI for an open source command line tool. The open source software was available completely for free, but compiling it was a hassle, using it was annoying because of a few serious bugs, and you had to use it from the command line.
I made money by making an existing, free tool available to people who didn't want to use the command line or compile their own software. I charged a modest fee (initially just $5), and people gladly bought my app to solve their problem. Nobody cared about the fact that it was open source and they could have solved their problem for free; they just considered my app a fair deal.
(I still sell this app, MDB Viewer for Mac, but I've since completely rewritten the open source library it depended on)
How do you envision your open source lifestyle business once it is up and running? (do you want to be paid to develop software or are you hoping to make a business that "runs itself"?)
So I am very sceptical about monetization of community-driven momentum (the moment you close the code it begins to stagnate and die). Unless you are leader in your niche the chances for earning living from a project are close to zero.
Wordpress or other themes is a different kind of offer.
Every company that emails you asking you for help is a sales lead. "I'm happy to implement/configure this for you. I charge $X per hour, and what you're asking for is about Y hours of labor." To the client, X*Y is often cheaper than the opportunity cost of pulling an engineer away from other work. Also, don't be afraid to make X >> $100 if nobody else offers the same expertise.
You can do as much of this as you want, without changing anything about how the software is licensed or packaged.
Others have discussed busies models, so it should be a simple calculation of how much you can charge for a model vs how much it will cost you to run your business and if you can live with the reminder after taxes etc... then I would say do it.
[1] - https://github.com/joeblau/gitignore.io
But how did you even make $10 in Bitcoins? I don't even see a donation link or address, much less a place to sign up for a paid plan.
I see a lot of potential, for example, you could expand a premium plan to include other project templates, like maybe travis.yaml, and the various .jshintrc and other ....rc's, perhaps). I'd pay $10/year for that, maybe more depending on how well it was done.
Or perhaps if it's just a side project you're not really interested in expanding.
Also, Bitcoin just realistically, Bitcoin isn't used by a lot of people, even in the developer community. It's great to include it as an add-on, but I'd think if you want to make money, you need to accept USD.
Was it worth it open sourcing your product?
Did you get lot more leads and exposure?
I'm afraid of open sourcing because I'm not sure if it will do anything for me, and that I'm giving away years of work away for free.
I think it's harder to answer that on the angle of open sourcing projects. I've, together with colleagues, spent the last few years doing paid for feature development for an open source projects. It's possible to have a company around that and support, and grow. But it's not easy.
My impression, more from the side lines, being a technical person occasionally involved in sales, is that it help in lead generation, but that the conversion ratio tends to be lower than with leads for a closed product.
This is what I'm seeing. Even when I had free trials, vast majority of people were just free loaders, some even going as far as using a prepaid card to get past the requirement.
Which is why I'm hesitant to jump on the Open source wagon, I don't want an army of freeloaders now demanding and whining, like I see all the time on github.
I think it's hard to answer you questions without more information about the type of product. My impression is that plays a large role in viability. ISTM infrastructure type pieces have a bigger chance to open source successfully.
100,000 star. If you are starred by your average to not-so-average (high or low) developer. There is no clear monentization plan. But given the popularity, ads and affiliates might bring you $1 per star (assuming a star is 40-50 visits/year).
Think about it. You have a bridge between Queens and Manhattan. I'm sure the US, NYC and people are willing to finance, pay you, or buy you. For what-ever big price (might be unreasonable too, to the cost of creation) you ask.
But if you have a bridge between Antarctica and the French Southern Antarctic lands (just randomly picked), it'll be certainly an amazing and well-known artefact but I'm not sure how you are going to finance it (especially that Tourism is not huge there).
Revenue is number of people willing to pay you time the amount they're willing to part with. Neither of those can be inferred from number of stars on a GitHub page (it probably has the most correlation with the number of people willing to pay, but there's going to be a scaling factor there that will vary dramatically based on the nature of the project).
If you make it easy for people to give you money and you have a useful product then there usually will be a small percentage of users who will pay. But I'm a firm believer that to make money you have to put effort into sales.