I've written about this in more detail in the past (https://httptoolkit.tech/blog/free-as-in-beer/) in short:
* It's a freemium desktop app, with advanced features behind a paid subscription.
* It's 100% open-source - including all the paid parts.
* Although the paid parts are open-source, the code does include the implementation of the subscription checks. You are fully entitled to fork the project and remove all those to get everything for free, but if you do then you now have to maintain a fork of the project yourself. The product is not that expensive - for anybody with a salary, even having a meeting to discuss doing this is not worthwhile.
* All the core product code is AGPL, to avoid proprietary forks cloning the whole thing and breaking this model (many of the smaller internal libraries that are generic & generally useful are Apache 2 though).
* All open-source contributors get free subscriptions, so if you're willing to get involved in the project it acts like any traditional free open-source project for you.
So far it's working well - there's a few hundred paying customers, including a good few team subscriptions, and it's been making good steady growth for over a year now.
This model wouldn't work for everything (you need something product-shaped, rather than a standalone library) and I have no idea how it would scale out as a larger business, but it's been a very functional model for me to make an open-source project that's financially self-sufficient as a solo developer.
Helpful in other ways too: 1. no royalties under international tax treaties 2. "desktop tools" seems more viable as a business than libraries e.g. JetBrains Intellij IDEA (maybe because a library is at the dev's level, but an app is one step removed?)
> free subscriptions
Great for a paid product (reminds me a little of Dropbox's referral program, in that it rewards with the product itself), but it seems an exaggeration to describe getting one month (or one year) free subscriptions as "like any traditional free open-source project". Though, I suppose if one was dedicated enough to contribute every month, it would be... (and of course, motivate that dedication) But let me repeat to be clear: this is great for a paid product.
You're way ahead of me, but let me share this anyway: if you are kind of open-source, and step too far away, it can generate a pure open-source rival. Or looked at another way: being sufficiently open-source is a barrier-to-entry (denies oxygen) to a fully open-source rival ("why would anyonw use it, when there is already your mature project?") Though "product-shaped" probably the greater help here.
A subscription model for a non-hosted desktop app twists my mind a little, but I think it makes a lot of business sense, both for you and for customers (two examples: it's an expense, not an asset; monthly (or yearly) is more affordable than an outright purchase).
Anyway, it's great to be able to devote yourself to open-source, without being taken advantage of.
Apropos of nothing, the Jacksonville FL budget seems to have 1.5% of its city budget assigned to library services, if I’m reading it right. (33M out of 2.7B)
Assuming it’s representative, take your local taxes, multiply by .015, and that’s what you, or your family, pays per year.
Looks like a good, scratch that, a great deal to me...
There are lots of profitable companies built on or around open source. WordPress and its entire ecosystem come to mind, especially including all the rest of the open source projects Automattic ($3Bn valuation) touches. Similar for Drupal, especially the founder's own Drupal service company, Acquia (sold at $1Bn valuation). There's no shortage of smaller companies like Sensio Labs, maintainer of the Symfony PHP framework, at 100 people and $1.9M. Or Plex, or a dozen other ~100 person companies. We may even have too many consulting companies who contribute patches, testing, and extension into OSS ecosystems.
Should we bring up the biggest companies in the world, who maintain projects equally large in importance like Kubernetes, Typescript, Chromium, React, Golang, et al? What about the "pure" open source companies like RedHat or Canonical?
There are lots of ways to make money on, in, and around Open Source software. It's sure hard to make a unicorn valuation, but that's not the definition of a "viable business model." Every 10 person "mom and pop" web consulting agency that pays their employees has a viable business model. Microsoft and Facebook have a extremely viable business models. The fastest growing service on Azure is their Kubernetes implementation, which is open source down to the hypervisor (and yes, you can run AKS on your own hardware and KVM if you like).
So don't give me your sour grapes about there being no "viable" business models in open source. Maybe there are no viable UNICORN business models. Maybe there are no viable get rich quick models. Maybe there are no viable business models if you start from a development methodology rather than a customer need. Maybe Open Source is a liability for certain kinds of business models. We can discuss that. But "viable business models" are practically a dime a dozen in and around open source.
I take home a decent salary. It's about the upper end of software engineers NOT in FAANG and related companies. If I went to FAANG, I'd get double, potentially much more, and hate my life.
But there are success stories. IBM spent $37 billion last year to buy Red Hat. Microsoft has invested a huge amount into open source. Oracle keeps on buying open source products.
Most of the best successes are not pure open source plays. What you do is invest in open source for the complements to your main product, then charge more for your product. Companies and people start with a problem that they are willing to pay about $X for a solution to. They don't care about how that $X is divided up. So if some of the pieces are free, then others can cost more.
Oracle's investment in Linux 20 years ago serves as a demonstration. They invested in making Oracle run well on Linux, and pushed Linux over Sun. But if you tried to run Oracle on Linux, your license fee was higher. However it was cheaper than paying for Sun and paying for Oracle. The result? People switched to Linux and Oracle made more money.
"Smart companies try to commoditize their products’ complements.
If you can do this, demand for your product will increase and you will be able to charge more and make more."
This is what John Carmack did with the game engines he wrote at id software, and the id lawyers hated it (but it was a great boon to the rest of the world)
The Doom source code was released two years after Quake was released and 6 years after Doom was released. There was no opensource business plan.
It is also worth noting that commercial releases of DOOM continued through 1997 on various home consoles even if you ignore the various resurrections it has had for the likes of the GBA or Switch.
Edit: I think I get your timeline, you're referring to the re-release of the DOOM source under GPL in October of 1999.
The vast majority of the back catalog of movies, music, and TV is nearly worthless to studios and labels, and when
you dig into it you actually find out that studios are as cheap as possible with their archive of masters (perhaps with the exception of consistently profitable blockbusters). I recall reading an in depth article about a recent vault fire that destroyed many original studio recordings, and that the issues leading up to the disaster were preventable.
I think the studios are too short-sighted to see the value of releasing many of these into the public domain, and I think some creativity could turn it into a business model that drums up interest and revenue.
Here’s an idea: a studio or record label could run a “Kickstarter” where sales of a commemorative collection could hit a certain threshold to trigger release into the public domain. These could be mainly made up of content that has otherwise fallen into relative obscurity.
I mean, I’m no business expert and maybe that’s a dumb idea but it’s at least new and unique.
Follow up from this year: https://centralsauce.com/lost-in-the-fire
A previous notable fire: https://en.wikipedia.org/wiki/1937_Fox_vault_fire
I think the problem with vaults and vault fires is that the original - the master recording - is analog and irreplaceable by definition. All copies theoretically don't encode valuable data still left in the master that might be useful in the future as remastering technologies continue to improve. It's not a digital master where every copy is identical in fidelity. Until we can accurately clone physical objects, there can only be one master copy of an analog recording.
Some way that if you start using a product you have a legal guarantee that you won't be dependent on that company's service indefinitely.
With software I feel like a much shorter timespan would be better as systems become obsolete much faster.
It is a closed source business model that decides to open source legacy product. It worked so well that the open sourcing stopped when Id was acquired by ZeniMax.
Maybe applications can open their libraries, but not the apps themselves?
* Run a hosted service (ex: Algolia, Wordpress.com)
* Sell enterprise subscriptions which include packaging and support (ex: Red Hat)
* Sell professional services (ex: Hortonworks prior to Cloudera sale)
* Be a boutique consultancy (too many to name)
* Sell OSS relevant products - security or management (ex: Fossa, Snyk)
* Have an open core model where foundation is open but management/integrations are closed. These companies will also move the closed stuff over to the open side as the market dictates which will cause them to continually innovate (ex: Cloudera)
* Dual licensing based on usage. Consumers get one license, business gets another.(ex: mySql)
* Open source package subscriptions for developers (ex: Tidelift). This is a very cool managed open source model which is pretty encouraging.
OSS is the amazing way to do guerilla marketing that results in an emotional connection with your user. That alone is monetizable.
I can keep on going and going. There is definitely a way to make money. There is definitely a way to build a scalable business. Just because something is hard doesn't make it impossible. And lastly, for those who spend their days looking for solutions, this isn't a black and white issue. Look for the grey and you can unlock millions/billions in value.
(background: Former red hatter, part of 3 OSS startups, huge OSS fan if done right. personally like the hosted OSS model the best)
Businesses require a scarce good or service that other people pay them for in order to function.
There is another option - one that some open source advocates dislike: source-only products i.e. you sell your software product to customers to run them themselves. You give them the source code of your product so they can customise it to meet their needs. But the software is not open source and cannot be shared the way open source can.
There are successful source-only products. Two examples: Craft CMS and Kirby CMS. Both publish their source code on GitHub and rely on the honesty of their customers to pay (which they do). They have a thriving community of developers making plugins and extensions - proving that you can create a community of developers around a 'source-only' product.
By the way, the GNU Project (supported by the Free Software Foundation) has never updated their advice on selling open source software to reflect reality. They still advise developers to charge for support or charge for documentation (unpopular and unappealing with both developers and customers).
Or they advise charging for the distribution of software. This might have once made sense in an era of CDs and dial-up internet but makes no sense in an era of broadband and GitHub:
Otherwise, government funding: it's infrastructure! Something like universal software engineer basic income. It keeps them off the streets.
In the current political climate it's difficult to remind people that tax money was the main source of funding for semiconductors, early computers, Internet, optic fiber, satellites, GPS, GSM, CD-ROMs, LCDs, touchscreens, batteries. And then C, BGP, early UNIX.
Granted, the fact I can only think of one or two examples does actually make your point more than question it.
You can always disclaim your code if you want to take no responsibility for damages, as in the MIT license.
How is keeping companies liable for their failures something that would make a fascist blush? Companies should be liable for their mistakes, especially when it's negligence that results in user data being blown all over the internet.
There's a vast sea between mistakes and negligence. Exactly 0% of the people posting on this site have written 100% bug free code that's been pushed to prod/released to customers.
How is software any different?
It's simply a matter of making companies pay for externalities. If you pollute the environment with your business, you need to pay for that. If you pollute the world with buggy software, you need to pay for that. But all companies have externalities?! Yes, and they should all pay for their externalities and if the cost is high enough that the business is no longer profitable, it needs to close.
Software without bugs isn't some pipe dream - the people writing software will simply be elevated to the level of a surgeon. Do you want your surgeon introducing 'bugs' during your operation? I don't, that's why surgeons get extensive training and are highly compensated.
People want to pay people peanuts for software that barely works, so that they can capture and monopolize as much of the market as quickly as possible. Uh, that's not my problem that people who want to get rich will have difficulty, I want shit that actually works.
> Software without bugs isn't some pipe dream - the people writing software will simply be elevated to the level of a surgeon.
Your doctor analogies really don't make a lot of sense. Surgeons likely make small mistakes all the time, they're just working on one system (person) at a time and can fix them immediately.
Software without bugs is absolutely a pipedream. Maybe you just haven't worked on very complex systems written over the span of many years or decades?
Flying in a metal tube was a far greater pipe dream than what you're describing.
Look, we can barely lift metal, how can we possibly make it fly? You're being ridiculous, nobody has done it before!
I guess you're right, let me stop thinking and get back to hunter gathering, because science and mathematics is a bunch of pipe dreams that cannot bear any fruit!
You know what they used to call pipe dreams a few hundred years ago? Blasphemy. We already know what's possible - we have a book and it tells us everything we need to know. Well alright then, you've totally convinced me with your powerful arguments from authority mister!
> How is software any different?
You can't bugfix an amputated leg. Which is additionally only 1 clear defined task.
I'm really wondering why someone on HN is making this illogical comparison. This ain't reddit
Software is used for real world things, and some of those things have irreversible consequences.
Things like SqlLite have 100% unit and integration tests, because that's what it requires for being used in airplanes.
That's how "bugfree" software things works.
Read more about it and you'll see what insanity you have to apply to fully test your software to let it be "bugfree".
Summary for only SqlLite:
- Four independently developed test harnesses
- 100% branch test coverage in an as-deployed configuration
- Millions and millions of test cases
- Out-of-memory tests
- I/O error tests
- Crash and power loss tests
- Fuzz tests
- Boundary value tests
- Disabled optimization tests
- Regression tests
- Malformed database tests
- Extensive use of assert() and run-time checks
- Valgrind analysis
- Undefined behavior checks
Feel free to create software with a all possible checks for "employee time off". By the time your full stack app is done, you're 20 years from launch.
In the meantime, 1000's competitors with an MVP successfully launched and expanded features and your stuck because of all the tests.
For every fix for every problem, there will be some cynic saying it doesn't fix all of the world's other problems and he/she would be correct.
If your goal is to come up with one action that fixes all problems, your best bet is to do nothing at all because the ask is impossible, outside of suicide, which would eliminate all perceived problems, for all of time to come.
The primary benefit is the ability for businesses with diverse, or even conflicting, interests to collaborate on a project. You won't see many businesses creating and profiting from an open source operating system or development tools. You will see businesses contributing resources to open source operating systems or development tools since they don't have the resources to develop their own and don't want to be bound to conditions stipulated by another business. Consider how much power Microsoft had over the PC industry simply through the licensing of BASIC, DOS, and Windows in the '80s and '90s. Consider how much power Google has over the licensing of closed source components of Android.
I suspect the reason why open source works in a handful of domains and not in others depends upon who the end user is. Notably, the end user must have the motivation and skill to participate. If you're developing embedded devices, you probably have the ability to contribute to an open source operating system or development tools. The fact that it contributes to your competitors is nearly irrelevant since everyone needs that infrastructure. If you're a publisher that wants to avoid the escalating costs of Adobe products, you probably lack the skills to contribute to open source alternatives and it doesn't make financial sense to acquire the talent to contribute. Not only is it expensive, but there is no guarantee that your competitors will do the same.
As for being a lone open source developer or development firm, that pretty much defies the point of open source. Without collaboration, there is very little reason to pursue open source.
Maybe it should be hidden like a platform tax. When you pay for a hardware device and/or a software platform that uses open source software, there could be a small tax that goes into an open source fund.
Another model is to make something attractive, give it away, and sell something else that goes well with it. Now customer interests are more aligned with yours.
RH sold for 11 digits doing the second.
So in open source, there are some things you can do -- sell support (where the software is the thing that draws in the need for support). Second thing is sell a service that ties into the open source code. Third is have the core product open source, with paid add-ins. The paid add-ins is even more attractive if there is a third-party requirement that prevents the additional functionality from being open source (i.e., if you want to add Oracle database support to your backup code, you need to license [under NDA] a development kit from Oracle; or things like patented plugins for specific video streaming formats on a media app).
We've been profitable for 2 years, and our profit margin continues to grow. We published our Q3 financial report last week:
This doesn't include our part-time consulting arm, which is also 100% open source and generates similar revenue.
It's still early, and we're still small. We did not take on any outside investments, either. But the model works. You CAN make money in open source.
>The total gross revenue during Q3 was $16,134, which after transaction fees is $14,972.
>The monthly revenue from all subscriptions is, accounting for credit card fees and amortizing yearly payments, is $5,952.
>SourceHut has $13,858 in cash at the time of writing.
Those figures are tiny! SourceHut doesn't make enough money to pay a typical full-time software developer. That doesn't feel like a viable open source business model to me.
The title of the article isn't "There's still no viable billion dollar open source business model". We have a business. It's a small business, but a viable business nonetheless. Our business is growing more slowly than the typical VC-funded software startup that we commonly associate with tech businesses in $CURRENTYEAR, but it is profitable and growing nonetheless.
With just 2 software developers doing this work, I wonder what happens when one of the them is hit by the proverbial bus (goes out on parental leave, takes another job, etc). Because that's a thing that happens and is handled in real, viable companies.
And I'm guessing these software developers have some ownership stake in the company and are accepting below market salaries for now, in the hope that SourceHut becomes valuable enough to cash in that way. But folks won't stick around for below market pay forever, especially if it gets to a point where it looks like the big payday is never coming.
Our planning accounts for the bus factor. It'd be bad, but not unrecoverable. And because our software is entirely open source, it wouldn't even be the end of the world for our customers.
And no, our other employee does not have a stake in the company, other than a personal one. Our motivations are not based on future earning potential, some future "cashing in" moment, but on being able to do what we enjoy full-time. Either of us could (and have) worked for more, much more, but we're comfortable and happy with what we're doing. The business is basically a way for us to be comfortable and happy with our work first, and a profit vehicle second.
The fact that this is unusual, and makes you raise your eyebrows and question the viability of the whole affair, is disappointing to me. We believe that this is the socially responsible way to start a business, and that it should be more normalized in the tech business community. That our business is viable is a mathematical fact.
That nit aside, what you've done with SourceHut is really cool. Congrats on getting it to where it is today and best of luck continuing to grow and improve!
Also, the hosting business model sometimes leads to misaligned incentives. I don't believe Sourcehut falls in this category. But consider, if a developer of an open-source package makes their money from hosting, then what incentive is there to make the package easy to self-host?
Basically, your software is copyleft unless a user pays for an exception. I've thought that it may be a reasonable business to offer a service to owners of popular GitHub repos to somehow get started with this business model. Anyone who quits maintaining popular OSS in rage (as has happened a few times) stands to gain more by simply changing the license and then charging non-OSS users in the future.
Edit: Thanks for the comments explaining. I was unaware of the barriers to this path.
How big? How many people get paid? What growth curve? What emphasis on revenue maximization?
Given my answers to those questions, ardour.org is doing extremely nicely as an open source business.
Based on someone else's answers, it might be viewed as a near failure.
They start this conversation saying "only redhat can be redhat", but then basically throw their hands up in the air because they can't describe all of open source as one business model. Different products & technologies require different business models.
I don't think it's surprising that a podcast named "on premises IT" is out of touch with a wide array of successful service based business models (I say this with love).
It's like saying "There's still no viable business model for science."
Just makes no sense. I've been making a living on Open Source code (now at FAANG) for over 30+ years. It's all about the code, someone else does the business (thank goodness, I'm terrible at that :-).
People manage to do this of course, which simply points out that real world economics doesn't follow theory that well.
If you'd like to join in a future discussion, I'd love to have you join us. I'm @SFoskett on Twitter.
I've noticed it reduces support costs immensely, when your paying users are developers and they have unbridled access to the source alongside developer forums.
Basecamp itself is closed source, as were all of their previous products, but Rails is open source.
Those who are not happy with (A)GPL have to pay for other license.
You can't make the price be anything but 0, unless you constrain supply - that's how economics works.
I reaize that I’m reading into the title, I don’t have time to watch the whole thing. But I think the title is meant to provoke the kind of response I’m dishing out. Consider me provoked I guess.
While that does technically generate revenue (and potentially lots of it) it is not generally applicable to many open source projects particularly those not large enough or foundational enough to even raise the interest of paid corporate support. At the moment that would leave donations as the rev stream and I guess that might work for some.
The other model that can work is one where you offer a basic open source product but then charge for a closed source "professional version". I guess, I wonder if that type of thing is is really open source in the end.
I don't think this is totally unrelated: rejecting business norms has a lot of negative consequences as well as the positive.
If so, that group of people won't have such a business motive.