Hacker News new | past | comments | ask | show | jobs | submit login
On "Owning" Software (avdi.codes)
99 points by todsacerdoti on Jan 24, 2024 | hide | past | favorite | 71 comments



This is written from a business perspective, where you are large enough to negotiate real protections into your support contract, you have budgets of seven figures plus, and source licenses are on offer.

As a consumer, none of this applies. Your subscription has a license that only binds and does not protect - i.e. you pay us, we might deliver something, or we might just take it away and you get nothing. Source licenses? Please - they cost more than you make in a lifetime and we'd never sell one to the likes of you. When you inevitably leak our precious source, we won't even be able to sue you for it!

All the shittyness of services is downstream of having no market power. Ownership is a defense mechanism. If you own your licenses, there's no legal basis to take the software away from you.


You have perfectly described my experience when I found a show-stopper bug in Unity ^_^

A project budget in the single millions isn't good enough yet for the gods of Unity to consider allowing you to fix bugs in their engine yourself. Instead, you need to file a support ticket and then delay your launch by a year.


Could you describe the bug? Were workarounds not possible or infeasible?

Unity has definitely not shown itself to act in good faith.


A certain type of particle system caused all directional lights to flicker. I'd guess RAM out of bounds write.

And no, removing the particles wasn't an option. And removing the sun light wasn't an option either.


s/engine/printer driver/g and we basically have the origin story of Stallman and GNU.

Without source, and the freedom to change it, you are always at someone else's mercy.


I've had mixed experiences with apps that I technically "own".

On one hand there's iA Writer. I don't even remember when I bought the app -- five years ago? seven? ten? -- and I'm still getting regular updates for it. It has maintained and iterated on its core feature set while keeping up with macOS updates. The dev team even added thoughtful new features -- like Wikilinks, frontmatter support, and authorship tracking -- without turning the app into something it's not. At its core, iA Writer remains a fast, bare-bones, distraction-free Markdown editor with beautiful typography that feels as Mac-native as you can get.

This is the sort of experience people are looking for when they say they want to "own" an app.

On the other hand there's Scrivener. I bought this app during the pandemic, and almost immediately regretted the purchase. The UI looks dated in a bad way, like an old Mac OS X app from 2010. It's full of a million chunky buttons and colors and gradients, creating a ton of visual noise. It's updated maybe once or twice per year, mostly to fix bugs and maintain compatibility with newer macOS versions. Their aging file format doesn't work properly with any cloud storage service except Dropbox, and they refuse to do anything about it. Even if you use Dropbox, it's very easy to corrupt your projects if you forget to manually sync them before opening them on a different device. The iPad app looks like it was built in the early days of the device, and has bizarre implementations of basic controls (like tree views) that behave differently from how you'd expect. It's clear that the dev team behind Scrivener has given up on the app and are keeping it on life support.

I think there are more Scriveners in this world than iA Writers. Or you have apps like Sublime Text, where every new version requires you to pay for a fresh license. At that point, you might as well turn it into subscription software.


> where every new version requires you to pay for a fresh license. At that point, you might as well turn it into subscription software.

The huge difference being: if you stop subscribing, you lose the current version even if you don't need the features in the new version


Worst case scenario is perhaps being forced on the new version and not being able to keep using the old one even though the new version breaks your workflow.


I don't see how "owning" has to include updates for life.

I use mostly open source, so I'm not used to buy software, but when I did it in the late 90s there was expectation of it including some support (eg. updates until the next major version); but not always (it often required physical media).

After that, the software was "final".

What is the standard these days?


> I don't see how "owning" has to include updates for life.

Oh, I never meant to imply that. Apologies if it came off that way.

I just meant to say that if UpfrontPayment.app wants you pay $60 to upgrade to a new major version every year and SubscriptionPayment.app costs $5/month, you end up paying the same amount every year regardless of which one you use.

Sure, you can always refuse to upgrade to new versions of UpfrontPayment.app and keep using the version you already own, but that's not always possible in 2024. Changes in OS APIs, file formats, processor architectures, etc. can make it difficult. Outside of Windows, most platforms aren't shy about breaking existing software.


Exactly. I don't think I ever bought any software expecting to get updates for free. Bug fixes, if they break original functionality, yes, but not new versions that contain new features.

Getting updates and new features has traditionally been a perk of renting, and being able to continually use that software anyway you see fit 50 years down the road, on an ancient computer or in a VM is a perk of buying. Both have their merits.

I often see "free upgrades" thrown on top as bonus for buyers, especially by new software developers that really want to sell their software. I'd argue the customer's decision is not swayed by much either way free upgrades, but devs are putting a huge burden on themselves. What if sales go down for a year? You may prefer to explore making some other software instead, but now you have an obligation to offer free support to customers that bought your software 5+ years ago. That wouldn't work in any other industry. Try calling a plumber or an electrician that worked on your house 5 years later and ask them to fix problems for free... see how happy they will be to oblige :-)


Often I see something like "Buy version X and receive updates for the next year/major version"


EOL announcement anywhere between 1 month to 1 year of notice.


> Or you have apps like Sublime Text, where every new version requires you to pay for a fresh license.

Major version updates were always payed in the past. BBEdit has been working this way for 30 year, and “it still doesn’t suck”. The notion that you pay once for software really came into being with the advent of app stores. I don’t have a problem with it, developers have got to eat too!


The problem with rent-to-use is that you pay a lot and you also get bugs that are never fixed, and all the usual issues. If updates were rock solid, or near enough, there would be less hostility.

And there should always be a read-only option that can get a project into a transferrable output format, so your work isn't perpetually locked inside a subscription.

That's really the only difference between paid annual updates and rent-to-use. One allows you to keep using the software until the OS around it stops being current. The other isn't just a subscription to the software, it's a lock around your work.


> The problem with rent-to-use is that you pay a lot and you also get bugs that are never fixed, and all the usual issues. If updates were rock solid, or near enough, there would be less hostility.

In fairness, that laregly depends on the vendor. BBEdit is a great example. It's been around for 30 years, it's reasonably priced and gets regular updates. Big ticket upgrades have been worth the lower upgrade price. Maybe it's the exception that proves the rule, but I've had a similar experience with the significant majority of indy devs I've bought software from. Big Corps are a different proposition entirely...


I use Scrivener with iCloud, and it Just Works. Any sync issues - I've had a few, but they're not common - are down to iCloud. And Scrivener stores a very complete list of version backups, so you can always go back if something goes horribly wrong.

Having said that - it is an infuriating piece of software. It feels like it was designed by someone who has some talent for solving small problems, but no clue at all how to combine them into a unified, elegant, intuitive app.

The compile-to-output format feature should be studied in schools as a perfect example of how not to implement something.

But... I still find it very useful for organising thoughts and for combining them while writing. On the hand a lot of it is a mess, on the other the core features have really helped to improve my workflow.


The fact that you compare iA Writer with Scrivener is pretty funny.

The first is an overpriced minimalist lifestyle app. It has some value, but definitely not what they sell it for. The app is a rather simple development with a low number of features, most of it can be found in many equivalent apps, for free or close to that.

The second is an actual tool that handles a lot of complexity inherent in writing large bodies of work with a lot of features. They sell it for barely more money than iA even though the development and support cost must be much higher.

You complaining about old looks and the niche features of Scrivener illustrate exactly what is wrong and rotten about the Apple platforms in general: the cult of minimalist bullshit that results in basically useless software that only achieve one thing, looking good. Even macOS has largely suffered from the trend it is extremely appalling but since this is a trend that shows up in Apple owns software, I don't think there is much hope to be had.

The point is that Scrivener is a mostly done work and there is not much left to do, change for the sake of change doesn't make any sense even if it might please your sense for new looks or whatever.

The design trends are irrelevant for what is a tool, and just like a good screwdriver that looks old is still good 20 years later, a good software that looks old is still good 20 years later provided you are able to run it.

And this is exactly the point of owning software. The developers won't be responsible for it running well on the latest system, but it will run with the original setup as long as you can keep it or recreate it one way or another. That is the only thing asked and it is fair.

While sometimes there are meaningful improvements to some software, it is mostly a sales tactic, especially used by Apple to market questionnable changes and features that end up costing more than they are worth very often (time and money).

In fact, I would argue that Apple has created this whole update argument nonsense in order to force people to buy new hardware and make it easier and cheaper for them to maintain their systems. I think it is not right that macOS system have such low support time, especially with the embedded browser when you paid so much for it. Being able to update is not a good argument since not only do they change the performance profile of what you bought in many ways but sometimes they even remove features or break compatibility on purpose.

At least back then you could downgrade easily but now with Apple Silicon it's almost the same bullshit as iOS devices.

Subscription only makes sense if you have running cost (server software, or infrastructure bits) but is mostly nonsense for most consumers' use cases. You need to purposefully introduce breaking changes or shallow superficial reason for it to exist. Which is exactly what Apple is doing, because money...


Half the success is understanding what you are agreeing to when you dismiss the terms of use the first time you use software or a service. Most people can't be bothered to read any of that but it can still come back to haunt them. Businesses can afford to pay lawyers and when big amounts are involved, their job is ensuring that isn't wasted. Generally, you get what you pay for and agree to.

Small businesses and consumers indeed have no negotiation power to haggle a custom deal. You get what you pay for and when the amounts are low that doesn't typically include a lot of hand holding or personal attention.

Consumers generally don't need source licenses. Just not a thing. People who need those aren't consumers but developers that generally either work for a company.

What you buy as a consumer or company when purchasing software is a limited right to use the software. That's it. Nothing more nothing less. You buy whatever it says in the terms that you are buying. It's your decision to agree with that or not. Or indeed to bother informing yourself about that.

But you do actually have power. You can vote with your feet and for example cancel subscriptions for services or buy software from competitors. Or use open source software. That keeps service providers a bit honest. I cancelled my Netflix account a few months ago. Their quality has dropped and they raised the prices on me. So thanks but no thanks. I might enable them for a few months in the future if/when they have something worth watching. I'm thinking of doing the same with Amazon Prime.


> You buy whatever it says in the terms that you are buying. It's your decision to agree with that or not. Or indeed to bother informing yourself about that.

Caveat emptor and all that, but that's not quite true. Consumer rights laws (depending on what country you live in) tend to have more power than contracts of adhesion, and courts look down on these one-sided contracts with disdain.

Whether you read the terms and conditions or not, if those terms are utter bullshit, it's unlikely they're enforcable. "This shoddy software deleted all my files! Oh, it says here they can delete all the files on my computer if I stop paying them, it's in the contract so I guess I have no comeback" - no, that's bullshit, that kind of term is unconscionable in clickwrap, go sue them.

https://en.wikipedia.org/wiki/Unconscionability

> Examples of gross one-sidedness would be provisions that limit damages against the seller, or limit the rights of the purchaser to seek relief in the courts against the seller. In the 2009 case of Harris v. Blockbuster, Inc., the plaintiff argued that Blockbuster's provision to compel arbitration and forbid class action lawsuits was illusory and unconscionable. However, whether that contract was unconscionable is unknown, as the court ruled that it was illusory and therefore not enforceable, and disregarded all further consideration.


I liked this article, because (1) it's well-written and detailed, and (2) I somehow disagree with it in my gut, though I'm not sure precisely why. So, it makes me think — another plus.

I suppose the thing that bothers me is the general sense that it is advocating for "non owned" software — let someone else handle the support, etc. Makes sense from a business perspective, of course.

But I suppose the thing I don't like about such "non-owned" software is its tendency to mutate in ways I don't like, outside of my control.

Eg: perhaps a feature I like is removed, with no genuine alternative. Maybe I am a niche user of that feature, so the business is (understandably) focusing on their "core" product, and my pleas to the contrary don't really move the needle.

Basically, while I agree with the point that ownership is more expensive than it seems on the surface, I'd also like recognition that non-ownership is also more expensive than it seems on the surface, just in a different way.

Agreed overall about the various gradations of ownership available today, and it's worth thinking about the pros and cons all the way along the spectrum.


It is a bit more than a tendency; the article in question is promising to mutate it in ways you don't like.

> The UI feels increasingly dated and clunky by modern standards, and the team increasingly hates using it, especially the new hires. It needs a UI refresh.

The odds are something like 1:20 that this is a change current users appreciate. Anyone talking about interfaces being "dated" is a risk to users.


Software is such a large field, with so many contexts, that it's hard to make generalised statements that cover even a few situations.

Thus the endless discussions of software model - all of which no doubt work for some set of users.

Some software is free, some costs hundreds of thousands a year. Some runs on specific hardware some is general. Some works in the cloud, on prem, or on desktop. Some comes with source, some doesn't. Some is very niche, some is ubiquitous.

Ultimately each author, user, and customer, needs to understand their goals, and the goals of the market, and if they pick a business model that intersects those goals they have a chance at success.

Techies might like to "own" the in-house software. (So the open source model suits them.) But most business people just want their accounts program to just work. They don't want to tinker with the code, they don't want responsibility for supporting it, they just want it to work.

For a successful business money is easy to get. People with the ability to hack on some custom build of some random open source thing are hard to get. Better to use QuickBooks, and pay an annual license.

For a startup business with no revenue, it makes sense to leverage skills, and look after cash. So get free software to do everything. Make do with what you get, and spend some (cheap) time keeping it going.

I could go on, but you get the idea. There are a million contexts, and each one has a different view of time, cash, revenue, ability, desire, market and so on. Which is why sweeping generalisations of "the right way" are clearly not ubiquitous when we look at the world around us.


We will run into all sorts of issues. For example, there are already subscription models for cars. Want a seat heating? Nice! US$9.99 per month, only!

Chips can be printed on flexible plastics for years, but we are approaching sizes now that makes it potentially possible to include this into all sorts of things. With very low power this opens up all sorts of "invisible" ways to power them, and guess what? They run software. Now imagine these software pieces running a subscription model. And our lives are increasingly infiltrated with all sorts of such tech, unseen, and this subscription model path is a very slippery slope towards hell.

I should also note here that there are huge differences between for example paying for "service" (but you do own the stuff), and this "cloud SaaS" approach that is often taken, where you own exactly nothing. Former is ok, a fair deal I would say, latter is a bane to our society. Keep in mind that the more our world depends on such things, the more these things become infrastructure, and infrastructure has some added requirements most of these services don't and won't fulfill.


So the subscription model worked well for (some kinds of) software. And yes, businesses want reoccurring revenue (they'd rather rent/lease me the car than sell it outright.)

But fundamentally, with software, something is on _offer_ for the subscription. In my case we use subscriptions to pay for ongoing support staff (which customers _want_) because we can't fund support from sales (that's not sustainable.) Support-pay-as-you-go is not popular because the person needing support needs it now (not in 30 days once procurement has signed off on it.)

Sure, there are subscription models for cars. There are also lots of cars that are sold outright. There are lots of cars sold on lease or HP basis. There are lots of models to choose from.

Chips have been running software (microcode) since forever. That software pretty much never changes, I certainly can't phone Intel for support, so I don't pay for a subscription on it.

Should you buy physical books, or just ebooks for your kindle? That's up to you. Some like one way, some like the other. Clearly the ownership is different. But then some people own a house, and some rent. I'm not sure any of this is new.


Your last example is the crux of the matter. Consider:

As a percentage of the population, fewer people (in the US at least, though I get the sense this is true elsewhere too) own their home now than any time in living memory. Shocks to the housing market exacerbated this trend, most famously in 2008 and 2020. Housing precarity (which we can simplify as "risk of homelessness", and for which actual homelessness is a decent if imperfect proxy) has risen across the board and I think it's fair to assume these are correlated

Sure, there are valid reasons to want to rent your home. More flexibility to move maybe. Not wanting to deal with maintenance I suppose (though as economic and legal power has shifted in turn to landlords, you can effectively be responsible for maintaining a home in that your landlord will not be compelled to fix issues that harm you, but also legally barred from doing so), but it's objectively and by far the economically worse option, and the vast majority of people don't actually want to rent for their entire lives. The reason more people don't own their homes is because they are economically prevented from doing so by a combination of squeezed supply and increasingly unfavorable competition with massive companies and trusts that treat real estate primarily as as investment vehicle. People who rent and don't want to largely don't have a choice

Nonetheless, press written from the perspective of the class who owns houses treats this as a weird preference the younger generation has for some reason. Sure, it's inherently precarious and long-term financially ruinous, but I guess they just like it that way?

Usually when vast swaths of people are making choices that harm them while benefiting powerful people, the first-line model we should apply to the situation is not weird preferences

This is more obvious with housing, but arguably even more true of tools, especially ones people rely on for their own work


The desire for ownership of your software most certainly doesn't just came from techies. I think this is the norm for the overwhelming majority of all people.

There's a fundamental "problem" that software-by-license is trying to solve. That's the fact that most software, in most domains, became good enough to do whatever you want with it, and pretty easily, years ago. Such tough times we live in. But the reason this is a problem is because companies have a zillion employees, sprawling high cost 'campuses', and baseline costs in the billions to tens of billions of dollars. So they need to sell to keep selling you new versions of products that don't really do anything new.

And so this is where we enter the domain of 'free to play' style operating systems, paying rent for a spreadsheet, and so on. All of these business models completely suck for most people. And they're also completely self defeating at scale. Because paying $20/month for Photoshop might sound nice compared to a $2000 up-front fee for something you might not even be using in a decade, until every single piece of software you're using tries to go the same route - and suddenly to do everything you were doing before, you'd need to pay $2000/month forever (of course with annual price increases), all the while everything you're using also spies on you, tries to deliver "value added ads", and all other sorts of crap. It sucks.

If companies were able to deliver products that people actively and enthusiastically wanted to buy, they would be. But they can't. So we get licenses, fees, rent for everything, spying, ads, and the further general enshittification of everything tech.


People tend to want to best of both worlds. They want to "own their software" (i.e., pay once, use forever) but they also want the benefits of SaaS: low up-front investment, cloud services, continual evolution, network effects, etc.

Photoshop is an easy example: would you rather pay $400 up front to have version X.X forever, or $10/mo forever to always have the latest version. That's a tradeoff! Consumers have voted with their wallets on #2.

Cloud services are even harder because you start talking hardware. "Owning Photoshop" is easy because it runs on my computer. I'm maintaining my computer for me and only me. What would "owning their software" even look like for, I donno, Github? Are you running your own AWS instance? Are other people running their own instances?

There are ways to build P2P software, or on-prem enterprise stuff... but no one really wants to buy it. They're ok paying $10/mo for the billions of dollars of infrastructure because there's really no other way to do it.


> Photoshop ... Consumers have voted with their wallets on #2.

Did they? Or did Adobe just stop offering #1, forcing customers into #2 whether they like it or not?

I'm partly being facetious, but it's also partly a genuine question. Is there some research you know of that shows a majority of people genuinely choosing #2, when both are on the table?

For a long time the standard model was "pay $X for the current version, then $Y to upgrade to the next version, if you want." That is pretty close to the best of both worlds, IMO, from a customer standpoint.


> Did they? Or did Adobe just stop offering #1, forcing customers into #2 whether they like it or not?

Completely agree! I purchased CS6 around 2012 and use it to solve graphical tasks for a client even today. I know that Adobes stock went up with ~25% (or was it more) when they announced the new subscription/robbery model, but I'm sure a lot of customers would like to do like me and keep getting value from the old investment by "owning" not renting CS<x>.

Only if you HAVE to be using the latest and greatest SW features, then the math might also work for the customer.

PS.: Too bad that my Macs are no longer able to execute CS6 as there is some 32bit code in CS6 and the newer Mac OS's only want to play with 64bit apps, that's a shame (but here Windows shine, by always(?) being backwards compatible (my client is a Windows business, so here that's not a problem…


> Did they? Or did Adobe just stop offering #1, forcing customers into #2 whether they like it or not?

I'm recalling that they did run both models in parallel, but couldn't find a reference in a quick search.

Regardless, the 25% stock price jump would indicate that from a "voting with their wallet" perspective, subscriptions were a rather unequivocal winner.

There are certainly pay-once-use-forever models out there, though my perception is that they're niche pricing models for a reason. (And still not outright ownership!)

Does that mean prospects and customers were happy about it? Maybe not. But I suspect the only answer that would have really satisfied the majority would be the unattainable "best of both worlds".


Very well put, I agree. Maybe I'm too idealistic, but I want to make my stuff work my way, with nobody else's potentially-conflicting motives or possibility to just disappear involved. That is definitely more work, and a bad idea for a business, but for personal stuff that's what I want.

> You can kick around purely metaphysical notions of “ownership” to your heart’s content.

I guess what ownership means to me is, in the worst case scenario, if everyone else involved disappears, I still have possession of my stuff. If this open source project dies, I can fork it and maintain it myself, or pay someone else to. Compare that with some SaaS product, the company might just disappear one day and all of my stuff is gone with no recourse.


> software is its tendency to mutate in ways I don't like, outside of my control.

Totally this. I'm actually migrating my org away from gitlab to self hosted gitea for this reason. We are all pretty fed up of the UI changing all the time, the UX complexity, and constantly being pushed towards CI features we have no interest in or need for. I don't particularly like the look of what's been happening on github either. Gitea - even on a frickin nanode - is way faster and more responsive than our paid gitlab service. The only tricky part is reorganising a large number of hierarchical groups to the more flat organisation of gitea.

Once you are already running a bunch of infrastructure, one more server is nothing. I've also found it much easier to take on new services once I moved my backup strategy to ZFS, where the entire backup is at the storage layer and databases no longer need special treatment beyond tuning for an atomic file system.


The app that I just released is pretty much 99% Me-made. I wrote multiple backend servers, as well as the native frontend. I use two fairly small third-party dependencies (A Big JSON parser on the server, and a keychain wrapper on the frontend), and a whole lot of dependencies that I wrote.

Most folks, hereabouts, would sniff at it, and tell me how "out of touch" I am.

Guilty as charged, I guess, but my work seems to come out pretty well, and I enjoy doing it. I love crafting software, as opposed to writing software.


I feel similar. I know this is right, businesses ultimately pay for the support and need it and products go out of date for marketing and sales reasons and its easier and better for all involved to have a continuous rolling service.

I still feel like the people at homes however don't really want this all the time. The games industry is definitely a mix of the two models but very often its priced up front and right now all the services come to an end regardless as customers leave for new games.

The business focussed applications have gone this way and a got amount of the other home applications are free open source. So I agree its happened but I don't think the consumer gets the best deal out of this in a lot of cases because something they learnt to use and have an amount of content in ends up slowly moving out of date or costing a lot to keep due to the service costs. So because of this people have been pushed towards open source applications, which don't always survive but once at a certain size do so better than businesses on smaller numbers of customers.

What bugs me is we have quite substantial amounts of performance available on the desktop and we don't utilise it because of the business model. Machines mostly just run web browsers and a lot of people have abandoned having a computer/laptop for a phone because there isn't much on the PC they care about especially with consoles being an easier route to gaming. Its a popular platform still, there are a lot of PCs and yet very few applications that really utilise the performance available and yet plenty of cloud services that do which they have to pay monthly for. There is a market not being catered to.


Yeah, I was thinking of games too, where open source is still extremely uncommon. I guess that this supports the article's argument as a counter-example : unless this is a game that you are exceptionally fond of, you are not going to care about its maintenance.


The article is a rather hot take in today's climate. Not only that, but leads out with the most flimsy observation of laws around selling homes. What?? Anyways, moving to saas is like the west outsourcing all manufacturing. The skillsets go away and don't usually come back easily.


Having read this and a bunch of the replies, maybe I can point to a bit of the reason we kinda disagree with our gut.

Often times, we see vendors that seem wasteful, that are overcharging, have a product that's average at best, or trying to get an extra 20% from their business model. We know it can be done better.

This article stands up and says "no, you just need it done." I think that goes against what so many of us feel and do in our lives.

No, you don't need to read a dozen reviews of TVs, just go to the BestBuy and get yourself a standard TV, and it doesn't even matter if you end up spending $300 more on it. All that time you're reading reviews and comparing stuff is costing you way more.

Yes, Slack feels like a lot of money for just a chat program, but the company just wants that done rather than you spending a couple weeks installing Rocket.Chat, Mattermost, and Zulip, figuring out how to make them high availability and backed up and everything, and making a comparison to present to people. They just want a chat program that they don't have to think about and the $15 or whatever per employee is pennies compared to those employees salaries (or even the office space they're sitting in).

I think our guts disagree with it because it's an article that kinda tells us to ignore what could be better when it isn't really the point of your business.

Further, it kinda tells us that we can't do it better. This is probably the thing that would get under our skin the most. We're the kinds of people that like building things and here the author is saying that all these bespoke things end up as a hodgepodge of barnacles that don't even get the business pointed in the right direction. The author is, to an extent, saying that the business is better off when employees adapt themselves to standard things rather than using custom tools.

To an extent, it's questioning whether we should be writing so much software. Is what so many software engineers are creating even valuable? Or are the costs much higher than the value being created on these bespoke systems? I don't think the author is trying to question our profession, but there's certainly a question of whether we're reinventing the wheel too much and spending our time on less useful pursuits within our profession (and let's face it, reinventing the wheel is so much fun).

Software is hard. People often say that the last 10% takes 90% of the time. I think we often underestimate the costs (in time and money) that go into actually getting something into production and then maintaining it. The author is basically telling us: it'll take longer than you think, it won't be as good as you dream, cruft will accumulate over time, and at the end of the day the company just wants it done, not for you to have a project. But we like building things.


Software is a tool designed to help solve a problem. Tools need to be reliable. The thing is, at least in the MS-DOS/Windows world I grew up with, software was stable in that if it worked for you now, it would work for you, for decades.

We can't trust our operating systems to do their jobs, and this is deranging conversations about software. You shouldn't need to update software other than for bug fixes, or to get a newer, better replacement. It should be entirely optional.

You should be able to just download anything off the internet, and try it out, like we did back in the 1980s with floppy disks full of software.

Instead, we're all afraid to even open the wrong email or web site. We're in a Black Mirror[1] version of the world in which everything but the operating system is supposed to be extra careful, and get blamed if the OS doesn't do its job.

[1] https://en.wikipedia.org/wiki/Black_Mirror


I deeply disagree with the author. Costs are predictable from one year to the next, true; but you are beholden to the vendor, and the vendor may even effectively hold your data hostage.

Vendors can and do get greedy, and if you're deeply integrated with them then untangling those integrations and migrating elsewhere becomes a big job in and of itself. I've had my share of experiences where enterprise SaaS vendors try to squeeze their customers after they effectively become a single source.

I am not at all opposed to SaaS, and use it at my organization quite effectively. But you have to choose carefully. In many cases, the vendor will become a partner, and it can become a pretty abusive partnership.

On the other hand, when you own it, at least you KNOW you own it.

And this isn't even taking into account the quality of the product itself. We have vendors that, like others complain here, just delight in changing UIs and offered functionality left and right, deprecating APIs with two months' notice. We have others who behave like grownups.


> Moreover, the costs were predictable: for a given year and # of users, you knew exactly what you’d be spending for that level of support. No surprises. No unexpected weeks of having a developer doing nothing but troubleshooting a failed migration on a team-essential service.

This just doesn't hold for SaaS. That's the promise of SaaS, but again, IME, it is not how it happens.

I spend a fair portion of my time … I'd say ~1h / week, sometimes 0 but sometimes >>0 … dealing with SaaS systems not behaving the way they ought to. But unlike "owned" systems, often I'm stuck playing support ticket monkey — if the SaaS even has a function support system — and trying to get somebody else to care enough to look, often trying to get somebody else to care who you have to influence indirectly through some "customer success manager" who cares only about closing this ticket as soon as a technicality¹ will permit.

To me, SaaS & owned are nigh identical in this respect: it boils down to the quality of the actual thing at hand. Some owned systems I've used are rock solid: they do their thing, they're more or less bug free, they consume essentially none of my time. But some owned systems are just a time drain. SaaS is the same way: some are rock solid (I'd put S3 in this category) and some are simply not; I know a good number of my support tickets correlate to the same system.

¹Particularly version churn: "we have problem X" → "oh, you're not on the latest version of the SaaS ticket closed → we upgrade → we reproduce X on the new version → refile the ticket → "oh you're not on the latest version of the SaaS".


Wait, how can this version churn even happen : don't they have a range of versions they support between open beta and long term support ones ? Unless the "long" term support one has a comically short term ??


The OP may have – unwillingly and unwittingly – become a part of the SaaS product's testing team. This happens more often that people realize.

Behind the scenes, SaaS can be a shit show: Customer files a ticket => SaaS devs cannot reproduce (or don't bother to reproduce) but fix the presumed bug maybe => a new SaaS release => notify customer to upgrade, close their ticket => wait for response from the customer to see if the fix helped. Rinse & repeat, act aloof. Pretend it's the customer's fault all along.


100% I've been in that cycle.


> don't they have a range of versions they support between open beta and long term support ones ?

Clearly not.

Azure AKS is in this category. I think the upgrade cadence is (roughly, it isn't always the same) once per every 3 months, or you'll end up on an unsupported version. The support window is longer — about a year — but that's really only how long you can put off an upgrade if you're at the top of the window, and it's not sustainable. (And if you're running on fumes like I am and at the back end of the support window, then it's effectively 3 months of support, then I have to upgrade or the support ticket gets closed.) (Further, AKS has restrictions/gotchas that can prevent you from upgrading. That won't stop support from closing tickets though! We had to abandon & recreate an AKS cluster due to that, and it was a quarter of work for me.)

Azure Gateway: we have a gateway from them that is simply no longer supported. They have other "SKUs", but there is no way for us to transition from our current SKU to a still-supported SKU. (Short of outright deleting the gateway and recreating it, which would be such a colossal pain that at that point I'm self-hosting.)

RDS, although this was a few years back; it seemed like that was the only response we ever got from them in support tickets. It seemed like new minor versions rolled out pretty frequently. (IIRC, on the order of monthly.) (We had several issues with servers ending up with the wrong certificate, as well as with failovers exceeding their SLA.)


> SaaS tends to pull teams in the direction of modifying their usage of the product in a more conventional direction. Which leads to less need for specialized support.

This is one of the most interesting things in the article to me and I am unconvinced this is actually a GOOD thing. Yes you save by not getting bogged down with technical debt and crusty software, BUT! You can incur cost for the loss of adaptability, flexibility and efficiency by having to work using the "blessed" workflow. The costs don't necessarily translate well onto a simple spreadsheet so I always feel it's an often overlooked aspect of the more locked down sass


The elephant in the room is the way sometimes whole companies need to migrate away from a highly optimized workflow in order to conform to some non-custom software, specifically because the workflow is not extremely generic. It doesn't take too many of these packages before optimization and efficiency are beyond the horizon and no longer in the rear-view mirror. The electronic equivalent of one paper cut at a time for everyone who touches it.

This can lead to ingrained violations of Conway's Law up and down the line.

It can be more difficult to see the forest for the trees when the elephant has grown bigger than the room.


>From the vendor side, if they make their money from one-off licenses, the economics just don’t pan out over the long term. The incentives become for them to spend all their energy on endlessly expanding market share so they can sell to new users, and/or churning out paid upgrades and add-ons to sell to their existing buyers. There is no financial incentive to work on code quality, bug fixes, or other sustainability considerations.

This is pretty telling that the author can only imagine a business model where one makes a single product and collects rent on it for eternity. The "long term economics" of selling products is that you then go on to make other products and make money on them.


Did a quick (but not exhaustive) search of the replies, but didn’t see any mention of it: Avdi seems to be warning us about the potential downsides of an imminent release of a 37signals product (kamal/once?) meant to support an anti-SaaS model. Avid was, after all, part of that scene back in the day. Apologies if I’ve misinterpreted this.


For sure, this is a very obvious potshot at ONCE/Campfire.

I don't disagree with the article, but I also think consumers have become overly tired of subscriptions that only ever multiply and go up in costs.

Spending thousands of $ on per-seat Slack vs a few hundred and some tech support hours seems like a decent investment if you have the internal capabilities. There's a lot of ways it can go wrong, but with clear vendor instruction and purpose-building the software for this, it should be doable. It really depends on how much you trust the vendor to build something robust yet easy to use.


When there was possibility, I just bought a copy of lightroom to develop photos from raw files. I did it because I'm developing them once a year or so, and I don't want to pay for constantly changing and upgrading cloud version. My camera does not change either, it's old but reliable (almost, recently it stopped on shutter and I will need to spend some amount of money I spared from subscription fee, to get it repaired)


Also I consider it that software requires an old laptop to be preserved, so I don't require Adobe to send me free upgrades to make it work on windows 11,12,13,14 - this is on me.


I most definitely agree overall with the premise due to the inclusion of open source in the discussion.

Since I believe that open source is that almost perfect compromise between ownership and paying for a service.

Usually it's been the piggybackers that have been one of the driving force of "ruining" the red hat model of providing the support as the main revenue stream.

Setting aside that, I believe however this is also comes down to what the industry kingmaker (i.e. the ones who provide the services) promote as their promise to the developers.

As an example, unity saw a massive shift away due to the decisions of including new ways of monetization of the developers.

However if say Google, Amazon or Microsoft would've done a similar drastical change a lot would probably still stay with them because of the general requirements needed to run your own cloud but also because it's more "expected" despite how frustrating it is.


I think this well documents the history, how first OSS and then SaaS got so major things in especially enterprise software. At the same time I don't think this gives us any clear pointers on the future, that is still on our hands to shape.

Although I feel the perspective is one of larger, well functioning IT depts where you actually have choices and could look at the economics. In practice I think many real world IT depts don't have such luxury and are instead barely struggling by, grasping anything that will help them short-term, long-term economics be damned. I would love to see a world where IT depts would be maintaing (truly owning) large catalogue of software in-house, but that doesn't seem realistic at all.


> Open source: 1 team member spends an hour a week fixing it

> SaaS: 0 team members spend 0 hours a week fixing it

OP’s management must have great taste in SaaS, wow


This is well timed with the launch of Panic's SSH client "Prompt" version 3, which is $20 a year or $100 (!) for a lifetime license.

As a purchaser of Prompt 2, I'm left with a slightly sour taste, as this version is now abandoned. "Lifetime" isn't really lifetime.


I am exceptionally sour about this, as Prompt 2 just crashes on opening on my iPhone, has for some time, and now the 'fix' will be "Buy Prompt 3".


It's the lifetime of the product, not the lifetime of the purchaser -- as long as they're updating that product, you can keep on using it.

For that matter, you really can keep on using Prompt 2 for as long as you want. Someday it'll probably stop working after an OS update, but the version that works on the older OS will always be there, working on any devices you keep at that version.

It feels wrong to tell Panic "I gave you $10 for this a decade ago, you have to keep updating it forever for me".


> "I gave you $10 for this a decade ago, you have to keep updating it forever for me".

I'm not saying that at all. What I'm saying is that it's wrong to claim it is a "lifetime" purchase - and I dispute your claim that it's the "lifetime of the product". That's obviously what it is, but it isn't what people will assume when they read "lifetime".

Since Prompt 3 will inevitably be followed by Prompt 4 which won't be a free upgrade, $100 seems like a lot to pay.


> Since Prompt 3 will inevitably be followed by Prompt 4 which won't be a free upgrade, $100 seems like a lot to pay.

Mind you, if you buy it and it takes them more than 5 years to release Prompt 4 then you'll come out ahead compared to having subscribed. That's even pretty plausible, given that the subscription revenue means that they'll have far less motivation to release a whole new version to get the revenue from new purchases. (In fact, the incentives now cut the other way -- they're motivated to keep improving the existing version in-place, because they'll probably lose subscribers in the process of switching to a new version.)


Why did you decrease the number by an order of magnitude for your example?

And when it comes to "lifetime" for something that's not undergoing significant wear and tear, what do you think is a reasonable number of years? Because my general response is something like 30.


I was curious about this example since I'm familiar with Panic. Prompt was released on October 8, 2014 for the price of $9.99[1]. It received bug fixes and new features until v2.6.19 on May 2, 2022[2]. $9.99 for almost 8 years of bug fixes and new features seems like a great deal, though probably unsustainable for the developer. That's developing against iOS 7 through iOS 15 and multiple versions of iPhones and iPads.

So the person you replied to didn't decrease the number by an order of magnitude in their example. Panic decided to increase the non-subscription price for Prompt 3.x and its updates by 10x, while also bundling the iOS/iPadOS and the new macOS product into a single purchase.

[1]https://blog.panic.com/introducing-prompt-2/

[2]https://help.panic.com/releasenotes/prompt2/


Well if there's no breaking OS updates then you'll have no problem sticking to version 2 as long as you wish. If there is a breaking OS update and you install it, I would consider that equivalent to "significant wear and tear".


> If there is a breaking OS update and you install it, I would consider that equivalent to "significant wear and tear".

Interesting. Because I would equate that to light use, and expect the warranty to fix it. If an OS update is significant, what's medium and what's light?


> Why did you decrease the number by an order of magnitude for your example?

I guess I didn't make that clear -- I was talking about the cost of Prompt 2, since it was an up-front purchase of $10 (back in 2014) and they were complaining about it having been abandoned.


> they were complaining about it having been abandoned.

I was specifically not. I was complaining that the same will inevitably happen to Prompt 3 - which costs 10x as much.


One point on which this article missed on entirely is that 2024 isn't 1995, and things that worked in 1995 just don't make sense in 2024.

Consider how a true lifetime license (for a consumer product) would work these days. There couldn't be any servers because if there were, the company could go out of business and then the license wouldn't be not truly lifetime. That means no synchronization between devices, and most people don't just use a single device any more. There's no realtime collaboration, we're back to 2023_q4_report_v2_final_v3_after_legal_review_fixes_from_jane.xlsx and it's 48 other copies in your inbox that you have to manually do conflict resolution on. There's no sharing by sending a link[1], you have to send a copy, and that copy is quickly going to get out of date, and that again means you're going to have dozens of slightly different versions floating around. There are no backups that just work, if you forget to manage backups yourself (and most people realistically will), your data will get lost. There are no integrations with external online services, because those services change and the product doesn't. There are no security updates, not so much of a problem if you're opening trusted documents from trusted coworkers in WordStar, definitely a problem if you're opening email attachments. Server-side activation is out of the question too, so half of your users will turn to piracy instead of buying your app.

A lot of people have bouts of nostalgia for buying Office disks off the shelf, but that approach just can't realistically work any more, even if we completely ignore the business aspects of it.

[1] People seriously underestimate how groundbreaking an invention the hyperlink is. It's not just about sharing content, but sharing content over text messaging instead of files, and in a way that anybody can access in seconds, regardless of what device they're on and without installing a viewer.


More and more people are realizing that what you are talking about as lacking are actually useful features. Because they are easy to reason about, because they leave a trail, because everyone can work on their own stuff without impacting everyone at once.

The collaboration "features" are mostly gimmick that very few people really use since realistically work is divided into easily separated parts before that. If one is building a document in real-time, there is a good chance that it is better done with one operator taking input from others instead of a free for all.

Sharing current work in progress was something trivial to do with a server 20 years ago, none of the cloud software really improved on that, they mostly changed the ownership/responsibility and added an OS sync layer. They seem convenient until you get into problems either at the input or output and then they really look less ideal. When you add costs, they make little sense for most people actually. Storage is cheap and doesn't need electricity all the time, if you carry it with you, its transfer speed is infinitely better than any good internet connection.

For most parts backup are foolish arguments for the vast majority of people, business needs it to edge against risk (in order to avoid losing too much money) or for legal reasons. But people mostly don't; and most don't really care, rightfully. The vast majority of people do not have anything of actual value in their computers, just sentimental stuff.

Before, when you sent photos for development you were not putting backups into a vault, even though they might age poorly, get lost in a move or burn in a house fire. People don't do that because while the risk exists, it would just be a sad but inconsequential loss, it is exactly the same for computer stuff, no matter what some geeks seem to think.

It's all right to spend a bit of money every 10 years or so to make a copy of what is relevant on external storage but beyond that most backups would be waste of time and money for most people.

And it's hilarious that you talk about hyperlink when link rot is one of the biggest problems ever. Beyond a year it's anyone guess the value of a link; you might get lucky or not. In contrast, a file in storage will be there unless deleted and it doesn't matter if it's not the ultra-latest version or whatever, at least you have something and not just a thing that points to nowhere.


What is this notion that you receive value in perpetuity when you are not being "saddled" with ownership? That is a facade. A downright lie told by salespeople to laypeople. Your SaaS vendor makes money by taking your investment and not offering that much value for it. The idea that they will take your money and somehow give you more money back worth of support or service or anything is hocus pocus. That's just not how business stays in business. When you're on-prem and your admin spends one hour this month, but no hour next month... you are pocketing that hour of productivity. When the vendor pockets the hour, you still get charged for it. The business model of your SaaS vendor is to use the economy of scale to multiply those hours by the number of clients they have, and then keep those hours for themselves.

If you are in business, and your business has requirements, you must meet those requirements. If you cannot afford to meet your requirements, then there are no need for requirements and your business will rightfully cease to function or exist. If you can't do what you came here to do then why are you here? This notion of "feel sorry for the business who can't afford their supply chain" is just downright laughable. That's not how capitalism is supposed to work. Failing business should be replaced by healthy ones. Not strung along in misery indefinitely.


> Services require support

Especially when they are needed due to flaws in the product or overall bad quality. /s


> No reputable shop caring about long-term sustainability of their offering would pursue [selling one off permanent licenses]. But if one were to choose to go down that road, they might market it by playing upon people’s nostalgia for shrink-wrap consumer software. They might emphasize how good it feels to “own” your software, while ignoring cost-of-ownership. They might rely on the inexperience of younger technical decision-makers, ones who have never had to confront the budget in real dollars that goes into long-term in-house support for services that aren’t the teams’ actual product. They might offer a “shared-source” style proprietary license, while being careful not to promise any updates or even bugfixes.

Yup. Bingo. Not to mention, once the license is sold, there's no longer any formal incentive for the developer to make your copy of the product specifically better. There are informal incentives, like goodwill and it being bad for marketing, but putting things on hold exists in the world and you need to account for that.




Join us for AI Startup School this June 16-17 in San Francisco!

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: