HACKER Q&A
📣 kevivni

Why is everything a SaaS product?


I understand the advantages of Saas - transparent updates, cloud based, redundancy, subscriptions, scaling, unicorns etc.

Why don't we have more businesses following the JetBrains model specially if the product is not a service that needs to run 24/7. I buy the product once and use it for perpetuity. If I want updates, I pay more.

As a consumer, my data does not leave my perimeter, my data is not sold or used for ads and I am not hooking into a subscription that I am going to forget soon.

1) Personal photos and videos backup and viewer. - Just give me a cheap cloud for backup and a desktop app for viewing. 2) Personal budget - Just give me a desktop app that connects to my different accounts and gives me overview.


  👤 skadamat Accepted Answer ✓
1. Recurring Revenue

In some sense, every business dreams of wanting to be a recurring revenue business.

- Gyms want you to pay monthly, and discount annual plans (and sometimes discount again if you try to cancel your annual plan)

- Restaurants want you to come frequently, 6th time is a free sandwich or coffee

- Bars want you to come to happy hour, at the same time, every day

- Content creators often have a daily, weekly, biweekly, or monthly cadence

SaaS is all about recurring revenue. In theory, SaaS aligns incentives because you can quit once the product or service deviates from your expectations or no longer serves your needs. Of course, in practice, SaaS companies want to keep the monthly / annual drip coming and may make it hard to export your data or switch providers. Local first software could be one antidote to this (https://www.inkandswitch.com/local-first/) and perhaps there are others.

2. SaaS loosely resembles old-school semiconductor VC investing

SaaS is similar to old-school tech VC investing because the marginal cost is low but the upfront cost is somewhat high / fixed. A lot of investment houses think in terms of recurring revenue as well (e.g. your mortgage is a monthly payment). So if you want external funding, show a premise of recurring revenue!


👤 stetrain
For 1), what exactly are you expecting to happen to enable this cloud backup to continue working?

You pay once for someone to set up a hard drive in the "cloud" you can put your photos on?

They charge you enough for a lifetime of transfer bandwidth?

What happens when the hard drive dies? Do you want redundancy so that if one drive dies the photos aren't lost? Who pays the tech to go change out the first drive when it fails so it can recover before the others in the array also die?

What's your personal risk aversion for losing this data? Even a two-drive RAID array can lose all of your data in some scenarios.

For 2), you want an app that connects to all of your accounts. How does it do that? Usually by using web APIs or a third party interconnect like Plaid.

What happens when they bank you use updated their API? Who is going to provide you with updates to keep all of these account connections working?

---

Both scenarios you describe have ongoing maintenance. Things weren't SaaS when they existed solely on your local computer and continued working without constant maintenance, but your two examples that come to mind show how our expectations of technology have changed and we expect things to work online, backed-up, and to keep working even as integration partners, OS vendors, etc. update their systems.


👤 smt88
Jetbrains can offer a perpetual license[1] in theory because old versions don't continue getting updates. They spend (relatively) little on "supporting" old versions -- mostly just the cost of the download servers.

The two use cases you described don't work that way. Both of them have cloud components, which means they need frequent security patches, and they likely also need bug fixes and other updates.

"Connects to my different accounts" by itself is a huge undertaking that most people outsource to Plaid or a similar vendor.

So to answer your question: a lot (not all, but most) SaaS products are services because they are services. They are updated incessantly by developers and have rolling updates.

1. https://sales.jetbrains.com/hc/en-gb/articles/207240845-What...


👤 recursivenature
Completely understand the comments around valuation of a recurring revenue business and ongoing maintenance. Those are all true and accurate.

I've also been thinking about this from an ecosystem standpoint that it is now very difficult to develop a software product that is not SaaS.

If everyone else is SaaS, and you are not, your business will be:

- Valued lower than equivalent revenue SaaS businesses, because revenue is lumpy and comparatively unpredictable

- Have greater difficulty raising capital, because investors aren't used to valuing non-SaaS businesses any more

- Have greater difficulty hiring engineers, as they know the next job they have will likely be SaaS related

- Slower sales cycle due to higher upfront price required (IE - Doesn't automatically fit on an employee card for land and expand)

- Higher customer acquisition costs, as most customers, other than those on HN, are used to the subscription model and prices, and would encounter sticker shock at the high prices required to make a one time purchase work


👤 pier25
Because having a constant cash flow fits better the model of a software company since you need to keep a dev team in perpetuity.

You can't hire devs per project like in construction. Developing commercial software requires maintenance, knowing the codebase, etc.


👤 claudiulodro
Even if we disregard the recurring-monthly-fee part of SaaS, which is popular because it makes more money, I think the "cloud" part is a main reason there are so many. Nobody wants to deal with creating installable business software, and businesses mostly don't want to deal with installing software across their systems. It's much simpler for a small dev team to have the software live inside a website, and it's relatively simple to bolt on a monthly fee for access to a website.

👤 PaulWaldman
I won't elaborate on the very real pessimistic comments because those are addressed from others.

What I haven't seen mentioned are scenarios with non-technical customers. In the extreme use case of resource intensive software with completely non-technical customers, who is going to man the ship? It's like selling someone a car who is incapable of driving.

Even if you provide an on-prem system turn-key, who is going to manage and maintain the system? Yes, you can sell perpetual licenses with support agreements, but the delimitation of responsibilities will be difficult for non-technical customers to understand.

SaaS essentially allows customers to outsource their IT operations.


👤 dugmartin
For your two specific product questions:

> 1) Personal photos and videos backup and viewer. - Just give me a cheap cloud for backup and a desktop app for viewing.

It sounds like you want a one time purchase for backup that lasts forever? I'm not sure who is going to rationally offer that service as there are ongoing costs.

> 2) Personal budget - Just give me a desktop app that connects to my different accounts and gives me overview.

At least in the US that means you have to directly work with banks (ala Quicken), use a third party service (like Plaid) or maintain your own scraping system that perpetually breaks and/or violates the bank TOS. Any of those options is going to cost the software provider ongoing costs. Again nobody is going to take a one time payment and be liable for ongoing costs.

I do think there is money to be made in the right industry for desktop apps that charge a decent amount ($100 and up) and offer 1 year of updates and then perpetual use with the final updated version for that year of use. This incentivizes the developer to maintain security updates and make feature additions so users are willing (but not required) to pay again in the future.


👤 yodon
Software is sold as SaaS for the same reason games are multiplayer. Both are driven by the need to stop your app from being pirated. The recurring revenue piece is just a side effect of adopting the only effective anti-piracy mechanism ever developed.

If all the code runs on the user's laptop, it doesn't matter whether it's a game or a productivity app and it doesn't matter whether it's cheap or expensive, it will be cracked and it will be pirated.

If a critical piece of the product runs on a server that you the business founder own, whether that's multiplayer lobbying or MMO sharding or some key part of your productivity app (like data storage or whatever), piracy ceases to be a crippling problem for your business and becomes a non-issue. You also have the opportunity to get a recurring revenue stream rather than a single payment, which is generally preferable for the business (and better aligned with the fact that you do now have monthly per-user costs because you're hosting part of the app on your servers).

As a data point to back up the importance of piracy in the equation, look at the distribution of start dates for successful software companies. There were lots of successful software companies started in the 80's and early 90's, but almost no successful software companies were started between 1995 (when the first web browsers made piracy easy for the first time because you didn't have to physically know someone with a physical copy of the cracked software, you could download the crack from anyone anywhere) and 2006 (when Salesforce.com showed the world what the games industry had already figured out, which is that hosting part of your app on your own server is a great way to stop piracy and get recurring revenues).

Once Salesforce.com showed the industry that "SaaS" works, all of a sudden people could start launching tons of profitable software companies again. Can you find a successful software company started during those dark ages of 1995-2006, of course you can, these are trends not absolutes. Was it far harder to be a software company in those dark days? Absolutely. That's why we have SaaS today and that's why SaaS is here to stay.


👤 that_guy_iain
1. Easier to manage updates. If you control the service you can ensure it's up to date. If everyone is using their own version you have to deal with bug reports for bugs that have been fixed.

2. As many point out, subscriptions are best for a business because it's recurring revenue and you can grow. One off sales makes this harder.

3. The Jetbrains model is basically subscription model now. They only allowed you to have perpetual license because of backlash. However, I liked their approach of you can have a peretual license for the version that was available 12-months before your subscription ended. It's what I'm going to be using with my product with a slight modification.

4. As you point out, you're likely to forget about a subscription therefore the company makes money while basically providing nothing.

5. Overall, the problem is that everyone is accepting the current setup and paying for subscriptions instead of buying things so more companies are getting in on the gig.


👤 somesortofthing
One reason is that SaaS pricing is an easy way for people to "hack" corporate spending restrictions. You need accounting approval for that perpetual $10000 software license, but a $500 monthly subscription payment is totally at your discretion, even if you end up spending more of the company's money in the end.

👤 bearjaws
It's best to think of it as three loops.

1. The loop of just regular maintenance. How long is that version of Node supported? 2 years? Alright assuming you did literally nothing, no bugs, nothing else your software is already needing to be tested against a new major version in just 2 years.

2. External loops, integrate with XYZ platform? Oh version 1 is EoL in 2 years? Guess you need to get on upgrading to API version 2!

3. Someone uses your out of date software and runs into an issue, now they email you, tweet at you, complain that your software sucks and you should support it better. (My first job would get this all the time for software we released 6+ years ago) Oh you fixed that bug in the new version? "I should get it for FREE!!"

Who is going to do this work for free?

Even if you cut the support emails down to a minimum, that alone costs money to automate...

Another favorite of mine was complaining about price, "$5,000 for a perpetual license?!"


👤 AussieWog93
As someone who runs a retail (eCommerce) business for a living, I think it's also worth pointing out that people get far more "rational" about their purchases when you ask them to spend a large chunk of money at once.

The same person who would think "do I really need this?" when faced with spending $1200 on a high-end automatic espresso machine wouldn't even think about spending $5 a day on a takeaway latte (which ends up being an order of magnitude per expensive once you amortise the cost of the machine over the number of cups produced).


👤 theonemind
I really dislike the subscription model and avoid it wherever I can. It serves the software publisher at the expense of the user. If I can't license your product, I'll pay by usage of resources or usage of minutes or hours. I won't pay for access. I will pay to use the product.

👤 candiddevmike
As someone who built a SaaS for your 2nd use case (Homechart: https://homechart.app, lifetime license available!), the real reason is any kind of software that integrates with other things has an ongoing maintenance cost that needs to be paid by all of the users to keep it working. Like connecting to your bank accounts, that's not a one and done thing typically.

👤 CharlesW
Because businesses with a recurring revenue/subscription model are valued far higher than comparable "buy" businesses.

And of course, the more guaranteed revenue you can demonstrate, the more valuable your business is going to be for potential acquirers. “Because a high percentage of the revenue of a subscription-based business is recurring, its value will be up to eight times that of a comparable business with very little recurring revenue,” claims Warillow.

https://www.techradar.com/news/how-recurring-revenue-can-inc...


👤 cosmin_caruxell
1. Recurring revenue - revenue is repetitive, with, ideally, a low churn rate. 2. Revenue forecasting (being able to predict growth with higher precision than ever before, and also check out how fruitful your marketing campaigns are). 3. Flexibility. If users like your product (there's a real value that your product or service provides to them), they'll stick around. If not, they won't. 4. Profitability. The SaaS model tends to be a lot more profitable (especially in the long term).

👤 fdr
Personally, I find it a lot easier to address bugs on the producer side of SaaS. Back in the Bad Old Days where I worked on a proprietary database delivered to a customer to run on their servers with general-purpose staff, getting high quality bug reports and working our way to resolution was a major issue, and a very expensive part of the development process.

👤 pastacacioepepe
It's just that having a recurring revenue allows you to offer features that you wouldn't be able to otherwise, and people WANT those features.

For example, as a B2b software company, there is no way I'm offering customers any complex cloud functionality, especially involving data storage, if I can't guarantee that I will be able to cover the costs in the future. Thus recurring revenue is a must.

On the other hand, if you just need an offline app that can work fine without being updated frequently, probably a single upfront payment is better suited.

This is nothing new by the way, multiplayer games have worked this way for a long time. In general a multiplayer game that asks you a subscription fee has a much higher chance of being kept online for longer. See WoW. Without subscription fees they would have probably shut down a long time ago.


👤 pedalpete
Almost all the comments are focused on the "recurring revenue" from the side of the business.

We're looking at subscription from the point of view of the customer in our start-up.

We're in the neurotech/sleeptech business, and competitors (Dreem, Philips) were selling products for $500+, and we see other start-ups in the space apparently doing about the same.

We're looking at a subscription cost because it lets us get into the hands of more customers, which means we can bring our production costs down, and everyone wins.

Yes, our LTV, should we have churn right, will be more than the up-front cost, but as we say "I can't help somebody sleep if I can't get them to try the product".

So please don't ONLY look at SaaS from the perspective of the business. For many businesses, it makes more sense from the consumer side as well.


👤 tchock23
I have a software product that began with a traditional SaaS model before I realized that usage was project-driven/sporadic and it was better for the customer to do a pay-as-you-go model with no subscriptions.

What happened after I made the switch away from subscriptions?

I received a bunch of support questions asking for the subscription options back. People were truly confused/upset that hosted software wasn't being sold on a monthly or annual subscription basis - even though per-project was more flexible and cheaper for them.

My takeaway is that - for better or worse - the SaaS subscription model is just so expected among buyers these days that to defy those expectations is just going to shoot yourself in the foot.


👤 streetcat1
Jet brain moved to subscription first.

The reason is that you do not want to start over each month sales wise.

Again, as a consumer you can "consume" what is offered in the market.

I.e. if you have an option to not buy, the seller has the option to maximize its profit.


👤 ggregoire
Interesting that you chose the "JetBrains model" as example cause everyone I know who uses one or several JetBrains products uses cracked versions. I know like 10 developers who use their products and I don't think a single one of them paid for it. So I guess one of the advantages of the SaaS models is that you can't actually use the product without paying for it. And if you detect that an account is fraudulent (hacked account, account sharing, fake banking info, etc) or late in its payment, you can just temporarily or permanently disable it with a simple UPDATE query.

👤 userbinator
"You will own nothing, and be happy."

I don't know about the second part, but they sure are trying to push the first. As many others here have noted, the reason is money, or more precisely, greed and control.


👤 somenameforme
Large companies are growing to levels that are arguably unsustainable. When you have billions of dollars in baseline overhead costs, an amazing product may not even get you in the black. You'd need to do that every year, and likely multiple times per year. It's simply not realistic. So the solution these companies are choosing is rent seeking.

I'd add that this issue is affecting many other industries as well. Entertainment being a visible one. Hollywood has big budgets, big overhead, yet increasingly difficulty finding the big ideas. So we get "Men in Spandex Save the World #83." AAA games are behaving similarly. There seems to be less of an effort than ever to even feign that "Next Big Shooter" is essentially last years next big shooter, reskinned.

This is why I hold the certainly uncommon view that we are probably nearing 'peak big business', at least until the next great frontier emerges. It's difficult to imagine these increasingly widespread "solutions" being sustainable in the longrun. One issue, among many, is a tragedy of the commons with many solutions. Charging rent sounds great for the individual company, but the more companies that charge rent - the more intolerant consumers become of it. See how online streaming went from a golden goose to a bloodbath for everybody once "too many" companies got involved.


👤 btbuildem
The questions feels directed more towards B2C, but let me share a B2B take:

From a business perspective, a SaaS solution can be a ramp to platform lock-in. Once your customers have committed, and your software is part of their business workflows, it's expensive to move away from it.

Another reason is that (for sufficiently complex solutions) the software portion is just part of the service - the business can also offer consulting services for onboarding / migration and customization. That's an entire new revenue stream.


👤 eternityforest
Companies make more money Consumers put up with it And devs like how it's friendly to major rewrites and tinkering.

I use a lot of cloud stuff because there's no other choice. There's no P2P Tile or YoSmart. I'm not interested in hosting something as important as email myself when there are entire teams that focus on that full time. They kind of have the upper hand.

What's the alternative to google docs? Does it involve maintaining a server or saying the words "Ok, just download this app and type in this IP address"?

Open source and (Non-cryptocurrency) P2P is probably always going to be the best for this. Commercial software seems to have clearly decided that it wants to be SaSS.

Maybe there's a niche market for non SaSS, but so many people who want local stuff are concerned with privacy, or have a very low budget, and prefer open source if it's available.

Obsidian seems to be doing well as proprietary local first software. Now that SyncThing exists, it's a lot easier to develop and use this kind of thing.


👤 Melatonic
It is all about money and ease of use. What you are describing is how the software model used to work - it is simply easier to outsource everything. But as you note, of course, this usually makes things more expensive.

Cloud providers and software engineers have of course come up with tons of new tools to make this outsourcing (or you could also call it renting + outsourcing) cheaper (autoscaling being a huge one) and this incentivizes moving to SaaS or PaaS infrastructure. However as these new products mature companies are also realizing they can use those same innovations in their own "on prem" infrastructure. Most of the time it comes down to how big the company is (do they hit the threshold where hiring a bunch of people to run their own datacenter or machines makes sense) and is their business long term focuses enough that they care more about the big potential cost savings vs the advantage of (from an accounting perspective) recuring regular costs per quarter vs larger occasional purchases of hardware.

Personally I think we are going to see a huge "private cloud" movement in a few years once the market matures and companies realize they did not need to give absolutely everything to AWS. I have always liked the hybrid cloud model and then using SaaS only for things that are a huge pain in the ass to manage (since with SaaS you are not just renting/outsourcing the hardware but also all of the software work as well). Email is a great example of this - its a huge PIA to manage yourself and often not that costly to just pay someone else to do it.

In my opinion the holy grail for many companies is having their big "regular" workloads (especially stuff computationally expensive or requiring special hardware or large storages) run themselves on their own hardware + seamless integration with a cloud provider for autoscaling that process up as needed.


👤 togs
Capital in the 21st Century by Piketty claims the trend is labor -> capital in terms of power, I.e. labor becoming worthless, capital becoming more valuable.

Makes sense then that software among other things becomes a service.

Problem is same old conflict: I work for money, they own my work and take money, I resent that, they like it, then violence or legislation or something.


👤 philippejara
Because people pay for it and companies like money, it's a bit of a dismissive answer but it's just what it is really.

👤 slt2021
1. everything is mobile: people consume software from phones, tablets, personal laptops, work laptops, desktops, corporate servers. How do you imagine yourself installing your software 5-6 times for a single customer???

2. now imagine updating your software with new release/bug fix. royal pain. these two factors are enough to choose saas


👤 BerislavLopac
One important reason is the ease of delivery. If you're selling a desktop app you either need to build for different platforms (like JetBrains do), or limit yourself to a single platform (as attested by the many MacOS-only or Windows-only tools). Additionally, you need to support mechanisms for remote updates, and even with that there are many customers who fail to update for various reasons, so you need to support old versions.

With SaaS, you have full control over your product, at the cost of being limited to the in-browser (and mobile) front-end. Your backend can be written in any technology you want, and you can release new updates with any cadence you want, even continuously. And you can even replace the whole backend overnight, with your users being none the wiser (assuming it has full feature parity with the old one).


👤 phpthrowaway99
If people actually looked at what they were paying for MS Office over a decade they'd wonder wtf they were doing.

Small numbers are easier to sell. Before a company spends $20k on a PM tool, they would discuss it to death. But signing up for $299 a month and giving it a shot is easier.


👤 sangnoir
> Why don't we have more businesses following the JetBrains model specially if the product is not a service that needs to run 24/7.

JetBrains would have gone the SaaS route if they could get away with it. Seven years ago, they made an announcement[1] to go pure-subscription/SaaS, and the outcry[2] was so massive, they reversed course over a matter of days,id memory serves.

1. They proposed licensing term changes included bricking your IDE the moment your subscription lapsed, switching from their previous terms where you'd be stuck on a working then-current release forever.

2. https://news.ycombinator.com/item?id=10170089


👤 pqyzwbq
It is very hard to develop on premise product.

First you need to works with different Linux OS (ubuntu, redhat, etc.), and nowadays, product may contain a lot of microservice, then you need a kubernetes cluster, which is very hard to maintain. And then, you need to find a good storage (object/blob storage) for kubernetes.

Then, you may need to often troubleshooting server issues (like, disk full, slow disk issue, out of memory, kubernetes network broken). And you need to often check whether the data backup system works.

It is much easier to operate as SaaS, and you can pick your OS and your machine spec, and your programing stacks


👤 drivingmenuts
Rental fees, so to speak.

Software as a service becomes a rental property and owners can milk consumers for more money over time as well as introduce features to encourage lock-in. Basically, you're teaching frogs to boil themselves.


👤 bitL
JetBrains tried to switch to the usual subscription model when they got new management and due to a massive backlash they ended up with a gobbled subscription similar to their superior previous licensing model.

👤 autoexec
Money and power. It lets companies squeeze more cash out of their customers over time and it lets them make whatever changes they want to something people have already paid for, leaves the door open for things like continuously collecting their user's personal data, and can help make it more difficult for users to migrate away from their product.

It's terrible for users who value their money, security, and privacy, but vastly more profitable for companies so most companies will offer it increasingly leaving users with fewer options for anything else.


👤 heavyset_go
Subscriptions are the ultimate rent-seeking business model for software and online services.

When you need to increase profits to justify insane valuations, eventually you need to start wringing your customers dry.


👤 pryelluw
Rent seeking behavior is being adapted into all products with the goal of replacing ownership with controlled access. Once people use your service they are likely to be locked in and stay

👤 ineptech
Imagine a world in which most middle-class families have a cloud VM where they run server-side stuff (Mom's blog, Junior's minecraft server, etc), and when a software vendor sells you software with a client/server model, it's normal for them to deliver the server component as a container to run on your server.

That's the world in which you can buy the software you described without SaaS. As long as the vendor is running the server side, you're paying by the month.


👤 seydor
I wonder why SaaS has not spilled over to other businesses, ie. food as a service, car as a service, fridge as a service etc. It exists in some cases, but it s not popular

👤 SilasX
Because enforcement of their copyrights in the digital asset itself, that you would prefer to by, is extremely difficult. SaaS sidesteps the piracy problem entirely.

👤 Garlef
Delivering the software is much easier:

* Do you want to build it for mac? And windows? And linux desktop (lol)?

And from the clients side, it's also easier:

* You just need to open your browser you're good to go.

* No need to install updates. Just imagine what kind of hassle rolling out updates for desktop software is in a company with more than a few employees. This used to be a dedicated job.

And feature wise, it's also better:

* Compare working with google sheets to excel files being sent around as email attachments.


👤 0xbadc0de5
As others have said - recurring revenue models are easier to structure businesses around. It makes business planning and employing people easier. It also makes VC funding easier because the books are more consistent and easier to understand.

It may or may not be what best serves the customer or represent consumer preferences, but it is (increasingly) how things are done in order for a business to compete (or exist).


👤 kaffee
Ben Thompson nails it, as usual:

"The brilliance of paying on a subscription basis is that a company can buy exactly what it needs, when it needs it, and no more."

From https://stratechery.com/2019/microsoft-slack-zoom-and-the-sa...

He's written about this in other posts too.


👤 ss48
In many cases, it's easier to support. You control the hardware serving the application to your users. You have access to more information for troubleshooting issues your user may have. You can better predict how many paying users you will have and be able to allocate support staff more effectively. You can ensure more of your users are on the latest version of the application.

👤 macspoofing
>I understand the advantages of Saas - transparent updates, cloud based, redundancy, subscriptions, scaling, unicorns etc.

You answered your own question.


👤 mfer
There are a few reasons:

1. Higher total revenues. If you compare the subscription fee with the sale fee and how often sales happen.

2. More predictable revenue. There are many reasons people want that.

3. The more information (metadata/telemetry) they have on you the more they can use that for something else. That could be details on how you use the app. If they host your photos they may use those photos to train an AI. Things like that.

4. Finding and tracking unlicensed users is easier to stop and manage. Everything is tied to a SaaS. Less stealing software which cuts into revenue.

There are other reasons, too.

In a capitalistic society where the goal is constant revenue growth, SaaS provides a means to do that more effectively. Look at the goals.


👤 xtracto
I just recently cancelled a $5 a month subscription to an Android App/website service for storing food recipes. I was subscribed for about 2 years to "support" the small developer, but really could not justify paying any monthly fee for a program... I replaced it with a self-hosted RecipeSage install.

👤 0xbadcafebee
Besides the recurring revenue, SaaS is also a lock-in device, you can surveil your users to find new ways to make money off 'em, and many people are more apt to pay $10/month because they figure they can cancel it at any time. All of this is more attractive to venture capitalists than the JetBrains model.

👤 rvz
They slap anything they can find with a subscription because it is an easy way for them to rent seek and grift as much as they can.

They don't want to admit that they are part of the griftopia that they are creating; especially building a SaSS on-top of something that does not need to be a SaSS or that can be done for free.


👤 scarface74
You can’t sustain a business on one time sales. Operating systems change, markets change, and products need continuous updates.

Besides, managing servers is “undifferentiated heavy lifting”, why would most companies invest in infrastructure that “doesn’t make the beer taste better”


👤 matiasfernandez
It's simpler than most people think. The Present Value of $10/month for 5 years is ~$450 at around 15% Discount Rate. For consumer software, many are not willing or able to invest that kind of money upfront.

👤 phendrenad2
Software piracy. Why make something good when people will just torrent it? Far better to become a SaaS and accept all of the drawbacks and limitations that come with it.

👤 JohnFen
Everything is SaaS because rent-seeking is hugely in fashion. Companies want you to pay them on an ongoing basis.

👤 ppjim
This has to do with both a technological and economic change. Let's say it's the equivalent of music and movies we go from "owning" through physical devices, then to virtual and now streaming. We are moving to a society where we will no longer own anything and will only use services. This is not only happening in software. We can have car-as-a-service, food-as-a-service, and the list goes on.

👤 JAA1337
In general SaaS vertically scales to increase demand which means factors of increased revue with no new work.

👤 Evan_Hellmuth
Better business model (definitely for business owner, arguably for customers)

👤 Macha
Jetbrains wanted to go full subscription too but their userbase revolted.

👤 jrockway
Providing software for users to host themselves is quite difficult. We do it at Pachyderm. Our software is basically data version control where you can incrementally process data as it's added (or your code changes). This is much more business-y than the use cases you list, but I can describe why it's tough even when your customers are compute platform teams.

Pachyderm started off as a self-hosted offering, but we did try doing a fully-managed hosted solution, because it would be super easy for users to get started. You write some automation to make a perfect install in your preferred cloud environment, and then users click a button and have a perfectly configured, monitored, and backed up environment. If there's a problem, customer support can go play with the underlying resources (always with explicit user consent, of course; we were super strict about this), and that means that users get a solution instead of a fun debugging problem. Less surface for them to configure, less chance for configuration problems. Ultimately, this turned out to be unappealing to users, for many of the reasons that you list. People want to own their own data and not have to trust even the nicest and most competent people with it. For that reason, we doubled down on the self-hosted option.

There are many pain points with self-hosting. From the start, it's difficult to offer something like a free trial. We'll give you the software for free (hey, it's open source), but you're on your own to find a computer to run it on. You'll need to setup DNS. You'll need to get a TLS certificate. For our software, you'll need to run Kubernetes. Before you can even see what value we offer, you have to do a lot of grunt work. What this means is pretty long sales cycles (while we assist you in navigating all those requests through your organization), and a dropoff among people that just want to have their problem solved today. (You can see this yourself. I bet you'll click any link on HN that sounds interesting. But if I just said "download and run this .exe", you'd probably be quite scared, and it would take some convincing. And rightfully so! That's the difference between SaaS and self-hosted, at the earliest possible phase, "do I even want this thing they make?")

From a technical standpoint, the amount of work you have to do increases dramatically. We have to write code to talk to every variant of object storage. We have to provide configuration documentation and advice for 3+ cloud providers. (For example, we used to depend on etcd pretty heavily. etcd's performance is very heavily dependent on disk iops, and the standard storage classes in your average cloud provider's are woefully inadequate. So we have to get people's data from the inadequate storage to one that is fast enough, and that's just a lot of work.) We have to support customers' internal security initiatives. If you thought keeping up with changes to one cloud provider for one instance of your application was a lot of tedium, multiply that by 3 cloud providers, by ARM and AMD64, by 6 ingress controllers, by 5 Kubernetes versions, by Local SSD, networked SSD, spinning rust, by corporate-mandated HTTP proxies, etc. It is a ton of extra work to make software that fits the customer's environment over just making your own environment that is perfect for your software.

Users dictate the upgrade cycle, not software engineers. I have worked on teams where every commit to master just gets deployed to production within 5 minutes. It's awesome. All you can do when you self-host is to make available another version; if users want it, they will upgrade it. Upgrades are always risky, especially when you wait a long time. So every release has to provide value worth the risk, or the same bug from 2 years ago will be reported again and again. Because of the risk, we have to maintain stable and testing release channels. Customers that want to try a new feature in their dev environment can get a nightly build with the latest features, but we still have to maintain a stable branch for customers that are happy with the featureset and just need security and bug fixes. We have to do work to lower their ops risk. This is honestly twice as much work as just pushing master to prod every so often. Backports cleanly apply most of the time, but when they don't, you're just implementing the same fix against slightly different code. It's work. (I'm a "if the tests pass, there are no known bugs in the code" kind of guy, so I've never been worried about deploying master to production. Obviously, some care in your software engineering is required and this doesn't work for many people, but it does work for me with a very good track record of uptime. None of that matters when you self-host, nobody would simply trust my assurance that the new version is good to upgrade to.)

Even ignoring all of that, it's quite the change in how you as a software engineer operate. You can't reach out and touch the system, ever. You ship a build artifact, suggest that the customer install it, and wait for their feedback. If you need certain information to show health/non-health, you have to make that understandable to the operator (who is often different from the user, who has other health concerns). If you need to be able to debug something, you need to add code to your app to do everything that you would think of doing if you were debugging a live environment, and make the results understandable to the user.

The tooling around this is pretty much the wild west. I recently investigated using Bazel to build our software, because we have three parts that are pretty much completely coupled to each other bidirectionally; Go, Typescript, and Python. There just isn't tooling around all of our requirements (we support both AMD64 and ARM deployments, as customers like those cheap ARM instances and developers like M1s without binfmt_misc hacks), because big tech companies that make these tools have the liberty to dictate their requirements. As a result, we spend a lot of time hacking together tools that meet our customers' requirements, but as a startup, don't have the resources to build something perfect, so developer experience honestly isn't as nice as, say, writing an internal app at Google.

Finally, the hiring situation is complicated. Pretty much nobody is building software that users deploy themselves, so it takes a certain rare type of developer to be productive in this environment. Your code has to show its work; operators that didn't write the code will be running it in production, and your software has to lead them to a solution to their problems. (Even things like "my job ran out of memory" are hard to detect and convey to users and operators.) You can't just push a fix you think will work to prod to see if it fixes things; you have to reproduce the customer issue in your own environment and fully test it before your code goes into a release. It's slow going, and care is of the utmost importance. Code review has to be thorough; you need to understand your customers environment and ensure that a fix for one doesn't break some other. (Yes, we have tests for this sort of thing, but great care is the last line of defense against regressions.) It's not just software engineers; marketing types always want to run A/B tests, and customers don't want to be subjected to this sort of thing. We have to make the right decision in advance, we can't give 10% of users an experiment and see if they rage-unsubscribe over the change.

All in all, it's a very different world. If you feel like your job isn't hard enough just running one instance of your software in an environment you control, selling your software for self-hosting is the job for you. It's hard. It's a slog. But, it's great for your users.


👤 TradingPlaces
Because gross margin is obscenely high and investors like that.

👤 enos_feedler
Everything is a SaaS product because that is what users want. That is the simplest answer. Innovation always comes back to the end user. If SaaS was not a business model innovational that the user wanted it would simply die out. Instead, it’s growing.

👤 bluedino
Because the MBA's decided they could make more money that way.

👤 Mikeb85
??? JetBrains definitely offers monthly plans, SaaS-style.

👤 joewadcan
People have already mentioned all the technical aspects, or blamed capitalism... but I really think it's just the best fit for the benefits that software delivers. It provides lower barriers to try for consumers and higher long term rewards for the company that builds the software. You can certainly find companies that have a flat rate or fixed price, but the incentive to build those projects from the beginning is usually outcompeted by the incentive to build a subscription product.

👤 cammikebrown
Capitalism, baby! Companies have figured out they can take more of your money if they extract it little by little instead of in chunks.

👤 UI_at_80x24
Rent seeking behavour

👤 dboreham
Because money

👤 RobRivera
gotta pump those ARR numbers baby

👤 d_t_w
We have modelled our company/product specifically on JetBrains. We're also bootstrapped, self-funded, etc.

We build a tool for Apache Kafka (https://kpow.io), it's not a SaaS product, it's a single docker container or JAR that runs in air-gapped environments, our users install it in their own network and it just runs. That's what we thought engineers wanted, and tbh it turns out we were right in plenty of cases.

Our licensing is an annual subscription however - but then again so is JetBrains (well at least for the Intellij product that I happily pay ~$150 a year for).

I think for us the recurring revenue is really important, we wouldn't be able to sell you a perpetual license as we have commercial costs that are ongoing and related to maintaining the quality of the product. Not only is it better for us commercially, but also we have only had one customer in the last three years request a perpetual license, and we we explained we don't offer that model they bought a subscription.

So I completely agree on the non-SaaS JetBrains model, and I love that you mentioned that company. We often get asked about Confluent in our area of expertise but quite honestly from day 1 in 2018 we've been aiming to be the JetBrains of distributed systems. We even followed their dark branding style.

Edit: Just to add one more bit of context now I think of it. Don't underestimate the power of the hive-mind.

We have spent four years building a boostrapped non-SaaS product. We spend all our time talking to customers, shipping features, squashing bugs - living the dream basically. That's a really rare path to follow this decade.

We've also had four years of often well-meaning people trying to intro us to low-information 'startup investors' or god-forbid another startup 'accelerator'. We stopped talking to all of them about two years ago, but for a while there we got told repeatedly to build a SaaS product.

And the single worst piece of advice I've ever received which nearly made me puke, when we were in year one of our product and already had a reasonable number of users / clusters:

"Just grab all their information and stick it in an S3 bucket, that information is what everyone wants! Number of clusters, users, version, etc - you can sell that!"

Some people just don't understand that you can sell a tool that does something valuable without making your customer base some side product that you sell on the open market.

It has been hard at times when we see startups raise tens of millions, but we're now in a position where we are miles out in front of the pack, have a rock-solid product, a great roadmap yet to go, and s stack of great customers who we respect. At no point would someone else's cash or terrible advice have left us in a better position - though we might have ended up with a SaaS product instead..


👤 hkon
Money

👤 maxwell
Margins.

👤 moomoo11
It’s a model that makes money printer go brrrrr

Most customers like it, it keeps the company able to push newer features and maybe up sell them.