Or: The Best Way To Do Something Is To At Least Try
We all know the story: you can’t make money on open source. Is it really true?
I’m thinking about this now because Mozilla would like to diversify its revenue in the next few years, and one constraint we have is that everything we do is open source.
There are dozens (hundreds?) of successful open source projects that have tried to become even just modest commercial enterprises, some very seriously. Results aren’t great.
I myself am trying to pitch a commercial endeavor in Mozilla right now (if writing up plans and sending them into the ether can qualify as “pitching”), and this question often comes up in feedback: can we sell something that is open source?
I have no evidence that we can (or can’t), but I will make this assertion: it’s hard to sell something that wasn’t designed to be sold.
We treat open source like it’s a poison pill for a commercial product. And yes, with an open source license it’s harder to force someone to pay for a product, though many successful businesses exist without forcing anyone.
I see an implicit assumption that makes it harder to think about this: the idea that if something is useful, it should be profitable. It’s an unspoken and morally-infused expectation, a kind of Just World hypothesis: if something has utility, if it helps people, if it’s something the world needs, if it empowers other people, then there should be a revenue opportunity. It should be possible for the thing to be your day job, to make money, to see some remuneration for your successful effort in creating or doing this thing.
That’s what we think the world should be like, but we all know it isn’t. You can’t make a living making music. Or art. You can’t even make a living taking care of children. I think this underlies many of this moment’s critiques of capitalism: there’s too many things that are important, even needed, or that fulfill us more than any profitable item, and yet are economically unsustainable.
I won’t try to fix that in this blog post, only note: not all good things make money.
But we know there is money in software. Lots of money! Is the money in secrets? If OpenSSL was secret, could it make money? If it had a licensing paywall, could it make money? Seems unlikely. The license isn’t holding it back. It’s just not shaped like something that makes money. Solving important problems isn’t enough.
So what can you get paid to do?
- People will pay a little for apps; not a lot, but a bit. Scaling up requires marketing and capital, which open source projects almost never have (and I doubt many open source projects would know what to do with capital if they had it).
- There’s always money in ads. Sadly. This could potentially offend someone enough to actually repackage your open source software with ads removed. As a form of price discrimination (e.g., paid ad removal) I think you could avoid defection.
- Fully-hosted services: Automattic’s wordpress.com is a good example here. Is Ghost doing OK? These are complete solutions: you don’t just get software, you get a website.
- People will pay if you ensure they get a personalized solution. I.e., consulting. Applied to software you get consultingware. While often maligned, many real businesses are built on this. I think Drupal is in this category.
- People will pay you for your dedicated and ongoing attention. In other words: a day job as an employee. It feels unfair to put this option on the list, but it’s such a natural progression from consultingware, and such a dominant pattern in open source that I think it deserves acknowledgement.
- Anything paired with a physical device. People will judge the value based on the hardware and software experience together.
- I’m not sure if Firefox makes money (indirectly) from ads, or as compensation for maintaining monopoly positions.
I’m sure I’m missing some interesting ideas from that list.
But if you have a business concept, and you think it might work, what does open source even have to do with it? Don’t we learn: focus on your business! On your customer! Software licensing seems like a distraction, even software is a questionable thing to focus on, separate from the business. Maybe this is why you can’t make money with open source: it’s a distraction. The question isn’t open-source-vs-proprietary, but open-source-vs-business-focused.
Another lens might be: who are you selling to? Classical scratch-your-own-itch open source software is built by programmers for programmers. And it is wildly successful, but it’s selling to people who aren’t willing to pay. They want to take the software and turn it around into greater personal productivity (which turns out to be a smart move, given the rise in programmer wages). Can we sell open source to other people? Can anyone else do anything with source code?
And so I remain pessimistic that open source can find commercial success. But also frustrated: so much software is open source except any commercial product. This is where the Free Software mission has faltered despite so many successes: software that people actually touch isn’t free or open. That’s a shame.
You may also wish to read Hacker News Comments on this post, or the Reddit r/programming comments
Comments
I think you're correct that Open Source removes the scarcity of the product you're trying to sell in favor of asking for support to maintain the service you provide. There are ways to increase the likelihood of patronage (closely tie a given product to a dedicated service that you offer, increase the "network effect" benefit of that service, etc.)
For instance, wordpress doesn't sell the blogging platform, it sells the convenience of not having to deal with servers and updates. Bitwarden doesn't sell password management, it sells the secure syncing back end that bitwarden used by default across platforms, etc. It could be that mozilla offers similar extended services at a reasonable price for folks looking for convenience. Power users should still be able to "roll their own" when possible, but I'd also argue that mozilla shouldn't really be on the hook to support those independent services as well.
Scarcity is a good way to talk about it, yes. Lots of things have value that aren't scarce, and lots of scarce things don't have value (it would be hard for anyone to acquire my nail clippings, and yet they remain seemingly valueless!) If you have something of value, then scarcity helps leverage that value and avoid competitors. But software scarcity isn't the only way (e.g., in the case of a software service, simple operational and technical knowledge of the software is scarce, even if other people can look at the source).
Open Source is certainly not designed to make money--it's the best software development methodology for certain types of software (especially infrastructure). This does not mean that open source development can't be used to enhance a business model. Or even that "free" can't be effectively utilized by a business. The challenge is that using open source as part of your business model is hard. Every business is different. Therefore there are rules of thumb, but no proven recipes that always work. In fact, I think this question is worthy of academic research. To shed light on the ways that some successful businesses are using open source, I created a podcast called "Open Source Underdogs" It's on iTunes, Soundcloud, Stitcher, etc and you can also find it on https://opensourceunderdogs... Although I'm the founder of an open source business, and thought I knew something about this topic, I keep learning more as I interview more guests. There is a lot of nuance in this conversation--no black and white, but a lot of shades of gray. To flush out that nuance, I suggest listening to some of the first hand accounts--even if you're an open source guru.
If Mozilla searches for diversifying its revenue, one part of solution could be to offer optional paid subscriptions for e.g. Firefox, in exchange of more control from its users/supporters in political choices, strategies, etc. through e.g. some voting system. I'd like to contribute this way to Firefox if Mozilla let more choices to the community (there are numerous past choices I strongly disagree with ;-).
If you ever get a chance, maybe talk to Bryan Cantrill about this? Joyent sells open-source as a matter of pride, and at several of his talks he seems to be saying that your analysis is somewhat backwards: that is, you should be starting conceptually from a business model which is profitable (even when the source is closed) and your lament presumably isn't a lament about "how do we make ANY money at ALL ever?!". So once you have a profitable business model in mind, then you think about what open source does to it, and he recommends that you think not the obvious "what is this going to get me?" but the less-obvious "what is this going to cost me?" because generally that marginal cost is zero. The worries about lost revenue are then exposed: that person who was going to fork your product and self-support it and do all of the work themselves, so they never pay you in any way, then they were never going to pay you for the product in the first place. If they hadn't been contributing to your product they'd have built their own or found your open-source competition or whatever, but they wouldn't have paid you at any point. So there is zero first-order impact on revenue and there is a solid second-order impact on revenue because you are building a community and they attract more users who will pay you.
So following that example, Joyent starts from some idea of "let's sell cloud computing like AWS and Azure and Google Cloud do", and that's a stable business plan. You have to start from the business plan. But then all of the software that it develops to do that, it open-sources. In response to questions about "aren't you worried that Microsoft and Amazon and Google will just steal your competitive edge?" he loudly boasts, "no, they would rather die than concede defeat." In other words, they're saying "ew, SmartOS, that's Joyent's code, we can do better; we can't refactor now we have too many eggs in this basket; if we modify their code it's copylefted under MPL and we'll need to share our innovations; etc. etc."
My observation is that open source projects usually start as a personal idea, itch-scratching, or some other design based on something other than business. And so I agree: designing a business first, then designing software second, at least gives the project a fighting chance.
But there's a problem here: the way we've become used to open source happening is as an emergent side project. Somebody has an idea, someone else likes it and contributes, stuff snowballs, and so on. Now you have something of value... and no business plan. It's at this too-late-in-the-game point that someone then tries to apply a business plan.
Mozilla itself (unlike Joyent) is a microcosm of this same pattern. Lots of important open source comes out of Mozilla, but do we make any money off it? Never! These projects start as side projects, and to Mozilla's credit they can emerge as genuine supported projects... but by then it's too late. They weren't designed to make money, and they have to justify themselves with second-order effects (on our mission, on Firefox, on some kind of prestige) which is dangerously unsustainable.
I would like to mention the Godot case, through Patreon they are paying to 2 or 3 devs fulltime. Helped by the Software Freedom Conservancy. I don't know if this is a exceptional case, but they've built quite a sustainable community. Should that be the objective we should follow? sustainable communities?
Similar to that, there's the Blender Developer Fund - https://fund.blender.org/
I wonder whether or not "Open Source" has become like those pedestrian crosswalk buttons in NYC. The buttons are not actually connected to the lights, they just exist to make the users waiting for the light to change to feel like they have some illusion of power over their fate.
When we were all running software locally on our "Personal Computers", open source promised a level of freedom to modify and control that software. If you had the knowledge and understanding, you could alter the software to do whatever you wanted.
But now that we live in an era of distributed, networked web services, where the vast majority of the software that we run isn't actually running on our local machines, what does it really matter whether the software running on the remote server is open source or not, with regards to that promise of personal freedom?
What difference would it make to me as an end user to have access to gmail's source code? The freedom to customize or change it has been traded for the convenience of somebody else being responsible for the operation of that software. People no longer touch software. They interact with services.
Browsers seem to be in the unique positions of being the "last piece of software people still use on a local machine", so maybe thats some exception to the rule, but I'd be willing to bet there's fewer than 100 people out there who have customized an open source browser for their own needs that do not work on browsers for a living. So Im struggling to find any examples of where open source actually grants anybody the promised 'freedom'.
Of course open source is still valuable from a learning and understanding/security review standpoint, but its promise of freedom feels hollow at this point.
It's true that most (not all) of the pedestrian buttons in NYC don't do anything now with the advent of computer-controlled lights. But their purpose was never to accelerate the arrival of a green light, but to prolong it when it did come, since pedestrians take longer to cross than cars do.
And we still run massive amounts of software on our own machines in the form of JavaScript. Having control of Gmail's JS would be a very good thing indeed.
Instead of a way to monetize open source, I see it as a way to test a specific market.
You can't collaborate with developers openly if software is not open source. That's the dillema. Linux Kernel used bitbake for years embarrassingly and then Linus invented git and all was OK.
You could make commercializing an open source project require a license from a main body. This could have saved ElasticSearch and made more funds available to Git. I don't see prohibiting commercialization would hinder an ecosystem, if you incentivize all major and small contributors.
With pure open source one business savvy person or team can leverage your entire IP without contributing anything, all the while you work on it. I don't think it's all that fair, even if you don't have any commercial incentive in building it. You surely use up economic resources while developing anything worthwhile.
Android called - it would like to talk to you about not being profitable ;)
Open Source relies on you leveraging compatibility with other platforms to drive users to use your product.
Once you've got that hook, you can monetize the services that support that core product.
For Google, this meant open source Android, but keep the "Google" services closed, and tie the entire system tightly into the Google ecosystem
For Microsoft, this means open sourcing .Net Core, but then providing all the cloud services and tutorials that mean you're more likely to host on their platform because that's where all the documentation, experience, and conveniences lie.
What can Mozilla bring to the table service-wise, rather than product-wise, because no-one is going to pay for "Firefox X", but they may pay for services that are integrated into it.
If we look again at the Google ecosystem, Chromebook was about more than just building a Chromebook - it was about organically discovering the types of services that might be required and leveraged by the "ultimate" browser.
A lot of smart stuff already said in the comments!
Here is a summary of more methods to get paid (from an article on "Analysis of open source business models and their success" that I was part in writing back in 2010);
Software
- Sell installation media
- Sell hosted solution
- Split licensing (both open and closed source features)
Services
- Implementation projects
- User training
- Support contracts
- Bugfixes
Hardware
- Widget frosting
- Selling accessory
Other
- Macro R&D infrastructure
Even more can be found at:
http://wiki.p2pfoundation.n...
Hi Ian,
You may also wish to link the Reddit comments from /r/programming in your post, lots of good discussion there as well.
Noted and added! I've been very pleased to see all the thoughtful discussion in these threads.
With Open Social we are keeping our core product completely open-source, available at https://drupal.org/project/... - we have a fully-hosted version available at getopensocial.com and sell services around personalising. What has been changed recently is the ability to run projects as SaaS in the cloud, for clients it does not really matter if their solution is open or closed in that way. However we can compete on flexibility, price, lock-in and faster innovation (due to the open-source community). That is giving our competitors a run for their money, so far it's working good for us and we just getting started..!
This just isn't true. Mozilla makes the server-side parts of Pocket, which aren't open source.
(Mozilla even exploits its position as a browser-maker to promote this proprietary service against open source software, Wallabag. This surely harms openness and innovation on the internet.)
I want to like Mozilla, but I don't understand why it doesn't uphold its own principles.
Open Source, when done right, is a calling card for your brand. It can help you sell a second closed source product once people the market has tested out your open source product. Give away the cow and the milk buckets so you can start a diary farm, but then charge for the milk trucks for distribution.
This problem is undoubtedly difficult. But now I think blockchain is a good solution.
I have built a Token economy to monetize npm library downloads and recently monetized a 5.1 billion downloads. It does not need to change the license, nor does it need to change the code.
It is also possible to monetize all open source activities in the future. Whould you think it's great?
I can speak more about this plan ;-) https://devtoken.rocks/ [email protected]
You haven't mentioned teaching and certifications (e.g. Blender Foundation). Now, this doesn't apply to Firefox per se, however, I expect being the pioneer of the Rust Programming Language as well as one of key stakeholders on the W3C might make this an avenue worth exploring.
Another thing that could be done is to further Mozilla's goals by offering more solutions that align with the company's goals. Technologies like VPN solutions (I understand Mozilla is already partnered with someone offering this service) and SSL certification, I believe align well with Mozilla's lean towards privacy.
I knew I was missing something: Software market placement and product management is very important. Most personal users for open source products will not be paying software, but you can enforce enterprise customers to pay and comply with the law of your license terms. Such is the case of WinRAR. Ever seen a random individual paying for it? Hardly, but companies must pay for it if they want to get fully certified and comply with the law. RARlab doesn't need to enforce this, as using pirated software is already bad for a company applying for government and industry compliance of any sort. (I know WinRAR is not open source, but this model can apply to open source as well).
So getting real and being honest with yourself with your open source offering is really important. Students, home users and some cheapskate professionals will not be paying premium open source software, even if the premium product saves them time and is of great convenience. Nonetheless, your software should have certain features for the enterprise, not accessible in the free product. You can monetize it like this:
- A subscription model that allows you to update to the latest version. Even if your customer has access to your open source code... it's very unlikely they'll take on the project themselves and stop paying you, the repository owner and expert in your own area. Unless your customer was Facebook, Google, Amazon or similar -where highly skilled engineers are a dime a dozen- even with code access they'll hardly touch it. That's the reality I perceive. Great opportunity to sell some premium support and service contracts.
- If your product relies on premium data, have the product for free, but make the data feed subscription-based.
What I like about open source is the fact that open source is free as in freedom, but not necessarily free as in free beer. One doesn't need to be a hippie! :-)
Have you talked to, or read many posts from, Nadia Eghba? Sustainable open source, including payment and other incentives, is her passion.