However, if we want to have a SaaS offering, making it Open Source could encourage people to trust that relying on that will not incur future debt. This is because they can circumvent future problems by self-hosting the open source version.
The problem is, while seemingly expanding the value, it looks like we reduce the amount of value we can capture, and encourage people and companies to use it without paying, giving them a free head start to their own (internal or external) product ambitions. What incentive to they have to return the value they receive to us, unless we charge for it up front?
I don't really like this choice right now, and I don't feel we have to make it, but I feel instinctually it could be a good thing to do. It doesn't sound smart tho. What do you think? What do you do, in your startup or business or side-project?
Your case sounds like you could apply an Open SaaS with an AGPL License or create an OpenCore and service special functionality in your SaaS.
If the only concern of your customers is that you could have to close the company and they don't have the code/system anymore, you could create a special (Dual-)License that is GPL as long as your company exists but becomes MIT if you close your company.
Worrying about someone copying is natural but you quickly realize that's not your biggest issue. It's so hard to get marketshare/trust that open source becomes an easier sell. If I could get everyone in the world to self host my product I would be a billionaire.
You can make money by: You can sell specialized versions, addons, create a two way marketplace, sell merch, ask for donations, offer support, sell adspace on docs, sponsorship, donations, books, put on conferences, certifications, sell tutoring and of course sell support. What a lot of people do is become an expert and consult off of the popularity.
If I had little money or a weak marketing plan I would open source. You can always sell a pro plan just remember to identify who will pay and make a version for them specifically.
Open sourcing slows down development to keep the tradeoffs in mind
People hate vendor lock-in, but you don’t need to open source a whole self-hosted version of the system to mitigate this concern.
There’s a huge overhead to managing an open source product, issues, contributors, stability etc… and now you have another duplicate system to support
A better option might be to open source a migration tool or export tool, which would help people easily leave the platform if they really need to
Here's our license: https://fusionauth.io/license
It can be a little confusing (what's free and what isn't requires a FAQ: https://fusionauth.io/license-faq ).
We get some pushback on "why aren't you OSS", but we counter that with a code escrow offer and no one has taken us up on it yet.
We also OSS a lot of other aspects of our system (SDKs, docs, core infra like our JWT processing code), which scratches some of that itch for our devs and community.
That said, I think it depends on what your product is. If it isn't dev focused, then I'd definitely stay away from OSS. If it is, are you in a land grab area with strong network effects? If so, OSS might make sense. You really can only go one way (really hard to walk it back) so I'd think about it from many angles before making the choice.
Absolutely none, and that's the entire point, and a feature of OSS, not a bug. Open sourcing your code is not a business decision, it is a moral statement that you consider the freedom of end users to be a fundamental human right. You no longer own code you release as open source, it belongs to the community, with the only obligation being to preserve that freedom downstream. Why would you demand compensation for something that isn't yours?
If you're not willing or able to make that statement and stand behind it, don't release your code as open source. If you do, don't be like a lot of developers nowadays who complain that big companies are making millions of dollars on their OSS without giving anything back.
Alternatively, you can release the software under the MIT license and keep certain parts of the code under an enterprise license, following the PostHog model [2]. This allows you to offer an enterprise version and charge for it.
Ultimately, the decision should be based on your target users. Small businesses may prefer the hosted version as it relieves them of hosting and maintenance responsibilities.
If it expands value this it's worth more to them.
Offer your customers the choice to purchase your software under a FOSS license. Make that (much?) more expensive than your current licensing offer.
Do NOT offer it under a FOSS license at no cost. You'll be your own competition.
> and encourage people and companies to use it without paying, giving them a free head start to their own (internal or external) product ambitions
You can offer that ability without a FOSS license. They don't also need the right to redistribute, sell, or otherwise commercialize your work for a free head start.
I feel a similar inclination toward premade solutions, if something is the very core of your business or is the primary differentiator of your business then building a custom solution or creating an internal department is appropriate, if it isn't then buying a solution or using other people's software is usually the better choice.
The questions you’ve raised above are the right ones, but there are more, and given the various Pro-cons, unfortunately it’s hard to give any advice without knowing specifics.
How big is the market? Will those who adopt the open source version ever be your customers or will open sourcing it actually expand the market? And so on ..
Either ways make sure the license you use, if you open source, is the right one and doesn’t allow a potential competitor to fork and build their own version.
For a business, there typically is a cost for competent staff/contractor to install, configure and administer any system. So you could offer paid support to alleviate that need. AFAIK, that is what RedHat did with their early Linux distro.
From what I'm seeing, technically competent individuals want everything free and are able to solve their own problems. That market might not even be worth pursuing if the unpaid support becomes a burden for your business.
if you want to derisk the intellectual property from the SaaS company and do a pledge to the community then setting up a seperate entity that holds the copyright to the source code and do a commitment to community that after X years after $event the code will become opensource under OSD that’s a potential thing you could do as well.
if you build a mega successful company then you could later opensource the IP as well but the best thing to do is to consider sustainability of the project - ie making money.
giving away all your stuff for free is not a (easy) path to make money and many venture backed companies over the last three years are starting to learn the lesson the hard way now that capital is drying up.
Many open source projects make it by providing paid support, hosting, etc.
Also understand that you are also receiving value from OSS in the sense that you receive potentially unlimited free contributors.
It really depends on what you are building and the community you are trying to target.
Don't do it.
I'm the host of the podcast :) hope this helps!