We know it all too well - the creeping enshittification (as Cory Doctorow calls it) of the software all around us, the rising prices, subscriptions pushed wherever they can possibly fit. Luckily, this isn't the norm yet, and plenty of apps still stick to what you might call a classic approach to distributing and developing software. Things - one of the leading task management apps - has been developed on a one-time purchase model for years. Granted, you have to buy a separate licence for each platform, but I wouldn't call it a cash grab, especially since the app has been actively developed for many years. For a few years now I've been avoiding subscriptions like the plague - it's not always possible, and sometimes they're justified - sync services, for example, or anything built on various paid APIs simply has to cost money - nobody is going to keep infrastructure running out of their own pocket.
The curse of (not) knowing
In IT there's a thing called the curse of knowledge - when one side, the one that knows something, assumes the other side knows it too. A common problem in the industry. Either way, I sometimes wonder whether the fact that we, as users, accept subscriptions being pushed everywhere comes down to not knowing any better. We're taught that we need to sync everything (because surely everyone owns ten devices and dreams of being employee of the month, right?). Because this is mostly about the cost of sync - that's how bigger and smaller tech companies justify charging us every single month. Meanwhile, according to the Tech4Society 2025 report, half of the surveyed Poles use no more than two internet-connected devices at least once a week. What's more, the survey covers not just computers and smartphones, but also TVs, smartwatches and smart home devices. So it's hard to assume that every user needs constant data sync across several computers, tablets and phones.
Of course, the number of devices alone doesn't settle anything. Even with just a computer and a smartphone, you can make good use of syncing notes, tasks or documents. For some it's an essential feature, for others a nice extra, and some won't even notice it's missing. And that's exactly my point. Why should everyone pay for a service not everyone uses?
A separate issue is treating sync as a backup. It isn't one. If you delete data on one device, that change may be automatically carried over to all the others. Sure, some services offer version history or a way to restore deleted files, but sync on its own doesn't keep your data safe. Even less should it be sold as a universal fix for every data storage problem.
I'm not saying sync is pointless. I'm only saying that it should answer a real user need, not serve as a convenient excuse for a mandatory subscription. Especially in apps that could easily work locally, without an account, a cloud, and a monthly transfer to the developer's bank account.
So are we paying - if we pay at all - for something we don't need, something we've been talked into needing so effectively that we've stopped questioning it? As the classic line goes: "I don't know, but I can guess." I'm not going to read anyone's mind or look for bad intentions in every company that offers a subscription. Still, it's hard not to notice that this model is remarkably convenient for developers. Predictable, recurring revenue sounds much better than having to convince customers to buy again. Especially when the customer has already got used to the app, built up their data in it, and isn't particularly keen on starting from scratch.
Personally, I much prefer an approach where users can consciously decide whether they want to pay for extra services, such as data sync. The app itself could be sold as a one-time purchase or with a yearly licence renewal, but with one important caveat: if you don't renew, you don't lose access to the features you've already paid for. You simply stop getting new updates. There's no reason why a program that worked perfectly fine yesterday should suddenly become useless today just because you didn't pay for another year.
On macOS in particular, you can still find plenty of software developed exactly this way. And, interestingly, some of these apps have many years of development behind them, get regular updates, and somehow haven't vanished off the face of the earth. So it turns out not every button has to be funded by a monthly payment.
Every now and then, though, I see something I would have found rather odd just a few years ago. Users themselves asking for subscriptions to be added to their favourite apps. Maybe they worry about the apps' future and fear that one-time payments won't be enough to keep development going. That's an understandable concern, especially with small, independent developers. Except that not long ago, a subscription was something you had to justify with an actual service. Today, more and more often, we treat it as a natural condition for software to exist at all.
And that, I think, shows best how deeply subscriptions have taken root in our minds.
Respectware
For a long time I'd been wondering what to call an approach to building software that doesn't treat the user as a source of never-ending revenue. An approach where privacy isn't a premium feature, fair payment terms aren't a competitive edge, and the app doesn't try to lock you into its ecosystem at all costs.
That's how the idea of Respectware came about. Software that respects the user - their time, privacy, money and intelligence. Sounds obvious? It should. In an ideal world we wouldn't need a separate term for something that ought to be the ordinary standard.
This isn't, however, yet another attempt to convince everyone that open source is the only right way. I have nothing against closed source or against making money from my own work. Developers have to make a living too, and years of developing an app cost time and money. For me, the problem has never been charging for software, but the way it's increasingly being done.
So Respectware tries to reconcile values often associated with free and open source software with the realities of building apps commercially. Without pretending everything should be free, but also without believing that every feature has to generate recurring revenue.
Because you can build closed-source software, make money from it, and still treat your users decently. These things really aren't mutually exclusive.
What does the future hold?
Software development is in a peculiar place right now. More and more developers use AI, and the results vary wildly. From complete amateur hour, where at times you'd be scared to trust it with your data, to genuinely interesting, well-thought-out and polished products. Using AI on its own guarantees no quality whatsoever. What still matters most is the knowledge and experience of the person using these tools. An experienced developer can work wonders with them, but someone who doesn't understand the generated code can just as efficiently churn out more problems.
At the same time, there's no denying that AI is changing the conditions in which software gets made. It speeds up a lot of work, makes experimenting easier, and lets even a solo developer take on projects that not long ago would have needed a much bigger team. That obviously doesn't mean building good apps has suddenly become trivial. Responsibility for their quality, security and further development still rests with a human.
And that's exactly why I think it's a good moment to remind ourselves who we're actually building software for. If we have ever better tools that let us work more efficiently, maybe it's worth using them not only to ship more products faster and look for new ways to monetise them, but also to build apps that simply serve their users well?
I'm working on a few posts describing how I work with AI models. I don't consider myself an expert in the field, but I feel I've managed to put together a solid foundation for working efficiently and safely with coding agents. I'm happy to share both what works for me and what I've already got burned by.
Because in the end, technology should help us build better software. Not just churn out more of the same junk, faster.