News for hackers. Stuff that matters.
Re:1Sub.dev – A world where people pay for software by gizmo on Wednesday July 26, 2023 @09:07AM (#36877024)
Software has no marginal cost. You can make something that's used by untold millions of people. Even if many people pirate enough people won't for you to recoup your development cost and then some.

Software is easier to produce, sell, and distribute than any physical product. You don't have to worry about warehouses filled with unsold inventory. You don't have to worry about quality control and returns. It still blows my mind how much easier it is to run a business that deals with bytes instead of atoms. The OP talks about software having no copy protection, but Amazon sells DVD players and cordless drills for $30. Imagine for a second how hard it is to compete with that. Competing with Google or Microsoft or some startup is a walk in the park in comparison.

In software the hard part is making an excellent product. And let's face it, that's where most people fail. It has nothing to do with monetization.

Re:1Sub.dev – A world where people pay for software by inglor_cz on Wednesday July 26, 2023 @09:30AM (#36877363)
Making an excellent product is hard, but what is really hard, is maintaining it for years and decades afterwards.

Maintenance, addition of new functionality, bugfixing, porting to other platforms etc. takes easily 10x-50x time than the initial release, and eats the vast majority of the developers' time and energy.

This is where "not being paid for your work" translates into abandoned projects.

Re:1Sub.dev – A world where people pay for software by pmontra on Wednesday July 26, 2023 @09:36AM (#36877469)
The traditional way to fund maintenance was to release a new and better version of the product. Example, all the releases of the various office suites from the days of MS-DOS up to Windows up to the cloud. If sales decline, sell to a competitor (good timing required) or close and switch to something else. A company that paid salaries for 5-10 years is still nothing to be ashamed of.

In the case of Apple, keep selling new hardware. I can't remember if they ever sold their software in the first years of Macs or if it was bundled with the hardware.

Re:1Sub.dev – A world where people pay for software by AlexandrB on Wednesday July 26, 2023 @10:24AM (#36878256)
> I can't remember if they ever sold their software in the first years of Macs or if it was bundled with the hardware.

In the early OSX era they used to sell their office suite separately. Eventually it got bundled with hardware for free. They still sell some software, like Final Cut Pro.

Re:1Sub.dev – A world where people pay for software by MichaelZuo on Wednesday July 26, 2023 @09:57AM (#36877785)
Plenty of people are using copies of Word, Powerpoint, and Excel 2003 just fine, which received literally zero 'maintenance' for at least a decade or more depending on personal preferences.

For most software that can be sold in a box, without an attached cloud service, this approach works.

EDIT: Also some fraction would be using them on computers that literally haven't been upgraded or connected to the internet for a decade or more.

Re:1Sub.dev – A world where people pay for software by saint_fiasco on Wednesday July 26, 2023 @10:11AM (#36878026)
Microsoft also makes Windows, and Windows takes backwards compatibility very seriously.

Even if they don't work on maintaining Office 2003 directly, they indirectly work very hard making sure every subsequent version of Windows does not break Office 2003.

Re:1Sub.dev – A world where people pay for software by MichaelZuo on Wednesday July 26, 2023 @10:16AM (#36878104)
No, they are perfectly usable and functional even on Windows XP or Vista or 7 computers that haven't been touched or connected to the internet since 2012.
Re:1Sub.dev – A world where people pay for software by xNeil on Wednesday July 26, 2023 @10:37AM (#36878441)
That's not backward compatibility then - those are the systems it was made for (Windows 7 would then have been made backwards compatible for Office 2003).

It's backward compatibility if Word 2003 runs on the later Windows versions - like Windows 10 and 11. I don't know the answer to that, but I'm sure someone here does.

Re:1Sub.dev – A world where people pay for software by MichaelZuo on Wednesday July 26, 2023 @10:45AM (#36878572)
Oh, I wasn't responding to the first point, of course Microsoft takes backward compatibility seriously.

Though it's possible to mix and match so the OS backwards compatibility isn't the full story.

i.e. a launch copy of Word 2003 works on later OS updates, yet the final patch version of Word 2003 also works on a 2009 launch copy of 7.

Re:1Sub.dev – A world where people pay for software by belugacat on Wednesday July 26, 2023 @10:15AM (#36878094)
It is amusing that your argument for software not needing “maintenance” is pointing out 3 pieces of software that had each received 20 years of maintenance by the time they reached the year you picked, 2003.
Re:1Sub.dev – A world where people pay for software by MichaelZuo on Wednesday July 26, 2023 @10:23AM (#36878234)
I've edited my comment since it appears your the third person confused as to the possibility of using them on older computers.
Re:1Sub.dev – A world where people pay for software by singlow on Wednesday July 26, 2023 @10:54AM (#36878711)
I think you are confused because the 2003 version of those products had already had as many as 20 years of maintenance, in the form of prior releases upon which they were based. Word was first released in 1983 and Excel in 1985.
Re:1Sub.dev – A world where people pay for software by MichaelZuo on Wednesday July 26, 2023 @01:48PM (#36881856)
The 1985 version of Excel was Mac only. The 2003 version is about as closely related as iOS is to Mac System 7.

If you don't understand Excel's history, it's better to not make such a bizarre claim.

Re:1Sub.dev – A world where people pay for software by singlow on Thursday July 27, 2023 @01:31AM (#36889317)
Did the development of Excel 2003 not benefit from all of the work done in the previous versions? Even if it had been a from-scratch rewrite, which it was not, it would have still benefited from the design iteration and experience of the development team in solving the same problems in previous versions. Excel 2003 was not a first-release that was suddenly a refined product that would be useful for years without additional maintenance. I used Excel a few times in the 80s, and regularly through the 90s and early 2000s on Macs and Windows and wrote quite a bit of VBA for them professionally.

What part of my claim is bizarre? My claim is simply that Word and Excel had 20 years of history prior to the 2003 release. Your claim that it was originally written on a different OS is not really a reasonable counter-argument. The Windows version of Excel came out 2 years after the Mac version, so that only knocks the history of the "Windows" version down to 16 years.

Re:1Sub.dev – A world where people pay for software by MichaelZuo on Thursday July 27, 2023 @12:24PM (#36895993)
By the same logic someone could claim that 1985 Excel was in fact based on the preceding 20 years of mainframe and minicomputer software and the very first spreadsheet-esque programs.

And that those were in turn based on the ideas of Von Neuman & co. from 1945 of tabulating numbers efficiently, and so on and so forth in roughly equivalent leaps all the way back to the first abacus.

It's so reductive of a perspective that it's self-defeating, since no human being, including you, could ever actually comprehend the entirety of technological development, or even just the post-1945 developments.

Re:1Sub.dev – A world where people pay for software by singlow on Thursday July 27, 2023 @03:35PM (#36898967)
No human being except you, apparently.

I think it is a pretty clear line between attributing the quality of a piece of software to two decades of prior development at the same company, with its own continuity of developers and institutional knowledge, as opposed to the general benefits all software gains from the industry advances it builds upon.

Re:1Sub.dev – A world where people pay for software by MichaelZuo on Friday July 28, 2023 @09:46AM (#36906698)
No it's not a clear line at all. In fact Lotus 1-2-3 was literally the direct predecessor from IBM in terms of everything but the brand name and some design choices.
Re:1Sub.dev – A world where people pay for software by crickey on Wednesday July 26, 2023 @10:53AM (#36878693)
It was also selling for 20 years. Its the same with physicall products if it sels u will update and maintain the product.
Re:1Sub.dev – A world where people pay for software by ape4 on Wednesday July 26, 2023 @10:21AM (#36878192)
Funny you mentioned 2003 since that's the exact version Ms Office I use ;)
Re:1Sub.dev – A world where people pay for software by masukomi on Wednesday July 26, 2023 @10:02AM (#36877885)
if you think those aren't receiving maintenance you're not paying attention or are ignorant as to how hard it is to keep a complex app compiling as operating systems move forward.

Not receiving new features is VERY different from not receiving maintenance. It is wholly implausible to believe that there has been zero energy spent on keeping those codebases working in the past 10 years.

Re:1Sub.dev – A world where people pay for software by civilized on Wednesday July 26, 2023 @10:16AM (#36878109)
I don't think you understand. Office 2003 (or earlier) and similar products aren't constantly phoning home for updates like more recent software. Millions of people have had a single 100% static binary for these programs running on their computer for many years. The ability to phone home, if it exists at all, may even be broken or disabled.

This is in fact how all software worked until, I don't know, about two decades ago? Things being patched was a big deal, a voluntary manual process, and didn't happen often. The update would even have a well-known name like "Service Pack 2".

The idea that all software must be constantly maintained is recent and the assumption that it is necessary is mostly self-imposed by the software business. Users don't share this assumption, and in fact on many products, updates are viewed mostly neutral to negatively, other than perhaps critical security updates on products that are used in connection to the internet or untrusted data.

Re:1Sub.dev – A world where people pay for software by intelVISA on Wednesday July 26, 2023 @10:48AM (#36878616)
Single static binary software, the blessed future we never saw.
Re:1Sub.dev – A world where people pay for software by zer8k on Wednesday July 26, 2023 @11:11AM (#36879011)
As beautiful as it is, and for the all the problems dynamic linking causes, the edges on single static binary software are very, very sharp.
Re:1Sub.dev – A world where people pay for software by MichaelZuo on Wednesday July 26, 2023 @10:11AM (#36878030)
I'm not sure what to say to this... you can just buy an old copy of Office 2003 on eBay, an old Windows XP computer, and boot it up and try it out?

You don't have to believe me, I imagine practically every reader on HN has the means to verify this for themselves.

Re:1Sub.dev – A world where people pay for software by yread on Wednesday July 26, 2023 @10:29AM (#36878326)
Sure you can do that. But look at the list of 60 vulnerabilities with score 9+ that you're exposing yourself to:

https://www.cvedetails.com/vulnerability-list.php?vendor_id=...

So you can try it out but don't open any documents, or run it while connected to the net. You'd better also not insert any images. Have fun!

We could also have a post "World where bad people don't try to break your software"

Re:1Sub.dev – A world where people pay for software by crickey on Wednesday July 26, 2023 @10:56AM (#36878750)
You answered your own issues. Dont open untrusted documents from the net. not running while connected to the net seems mute as the software doesnt directly access the internet. Seems like issues even the most up to date software suffers from.
Re:1Sub.dev – A world where people pay for software by j1elo on Wednesday July 26, 2023 @10:22AM (#36878212)
That kind of rethoric doesn't fly too far... Your original point was

> Plenty of people are using Word, Powerpoint, and Excel 2003 just fine

Are you claiming that a reasonable majority (for the sake of discussion) of this plenty of people are using Office 2003 on Windows XP machines??

I'd doubt it. More like there's plenty of people using old software in modern versions of Windows. The maintenance work, of course, exists and has been done indirectly, by Microsoft, in the development iterations of Windows itself.

Re:1Sub.dev – A world where people pay for software by MichaelZuo on Wednesday July 26, 2023 @10:33AM (#36878374)
If you also include Windows 2000, Vista, and 7 computers that weren't updated in the last decade, I think that would be a sizeable fraction of all Office 2003 users in 2023.

Whether or not they make up the numerical majority of all extant users is simply irrelevant to the point of 'Plenty of people'. It's easily many, many, thousands.

Re:1Sub.dev – A world where people pay for software by bena on Wednesday July 26, 2023 @10:13AM (#36878057)
Support for Office 2003 ended in 2014. Close to a decade ago. No maintenance, no patches, no service packs, nothing. No energy expended working on that codebase.

Office 2016 is going EOL in two years.

That's from Microsoft themselves. They do not hide these facts or make it hard to find.

Re:1Sub.dev – A world where people pay for software by Lacerda69 on Wednesday July 26, 2023 @10:21AM (#36878195)
And?

I find it mindboggling that a simple program like text processors have to be continually updated for decades. Just program it right once for god sakes.

Re:1Sub.dev – A world where people pay for software by adamc on Wednesday July 26, 2023 @10:34AM (#36878396)
You vastly underestimate the complexity involved. Also, new attacks get discovered that were not even dreamed 20 years ago. There is no "just get it right" when right is measured by what we know, and that keeps changing.
Re:1Sub.dev – A world where people pay for software by nemo on Wednesday July 26, 2023 @11:33AM (#36879440)
* * *
Re:1Sub.dev – A world where people pay for software by j45 on Wednesday July 26, 2023 @10:55AM (#36878734)
Unlike recent versions of Office, old ones didn't call home, and Microsoft doesn't really have an idea of how many copies of their software are still in use in some cases.
Re:1Sub.dev – A world where people pay for software by dboreham on Wednesday July 26, 2023 @11:05AM (#36878906)
> Plenty of people are using copies of Word, Powerpoint, and Excel 2003 just fine

Unless they're also using computers and OSes from 2003 (spoiler -- they're not because those OSes wouldn't work with today's internet), those people are benefiting from untold efforts in the meantime to maintain their OS so it has that compatibility with 20 year old user space code.

Re:1Sub.dev – A world where people pay for software by Vox_Leone on Wednesday July 26, 2023 @11:50AM (#36879764)
I have a Pentium 4 machine running Win XP in regular operation since 2003. I use it to create content in CorelDRAW 11 and AutoCAD 2004.

That sweet sensation of being owner of what you paid for comes as a bonus.

Re:1Sub.dev – A world where people pay for software by pharrington on Wednesday July 26, 2023 @11:23AM (#36879274)
Somebody has to maintain the software, be it the devs or the end users.
Re:1Sub.dev – A world where people pay for software by XCSme on Wednesday July 26, 2023 @10:04AM (#36877916)
Completely agree.

Nowadays, software is different from the CD era, where you bought a game/software and that was it. Nowadays, people expect the software to be maintained, kept up to date and always compatible with the latest changes (new OS versions, compatibility with other software, etc.).

Maintenance is the high cost of software, not building it. This is why I sell my products with a perpetual license but with paid yearly updates. I can not work for free indefinitely as all the "lifetime" licenses promise.

Re:1Sub.dev – A world where people pay for software by AlexandrB on Wednesday July 26, 2023 @10:17AM (#36878122)
I think there are a few interesting threads to pick at here.

First, some of these problems are created by software developers themselves. In particular, shoving in an online component where one doesn't need to exist basically guarantees that you will have recurring costs and the need for constant maintenance.

Second, Microsoft is much more careful about maintaining backwards compatibility than Apple. I can generally fire up 10+ year old software on Windows 10, no problem. The same is sometimes true on OSX/iOS, but often not. The increasing popularity of Apple products and the lower priority they place on backwards compatibility has definitely made developers' lives harder.

Having said all that, I don't think everybody expects constant updates. I think power users, especially, are used to running what works for them for long periods of time. You probably can't build the next Google on this, but a lifestyle business? Certainly. Just look at Pinboard and it's lack of enhancements or UI overhauls - and that's an online service.

Re:1Sub.dev – A world where people pay for software by grishka on Wednesday July 26, 2023 @10:17AM (#36878121)
An excellent product doesn't need maintenance if it doesn't rely on any online services. Once it's done, it's done. It does everything it needs and nothing it doesn't need.

Engineering projects usually have a finished state. Software engineering is no different, no matter how much the industry wants you to believe otherwise.

Re:1Sub.dev – A world where people pay for software by j1elo on Wednesday July 26, 2023 @10:40AM (#36878492)
Software engineering is like if a car was built and thus "finished", but the systems it depends on (like roads, and gas stations) changed every N years (with N < 10).

Imagine the gas stations (operating system) changed the kind of fuel they dispense every few years. No, by no means a car (software) that is fully finished today would be able to continue doing its thing tomorrow, without ongoing updates.

This also happens in the real world, it's just that changes are more likely in the decades or centuries, so we as humans don't perceive them so well.

The fact that Microsoft spends a whole lot of money to avoid this, is circumstantial. Apple doesn't so much, and at some point your finished software will stop working with newer MacOS releases if you don't update it to the newer system versions.

Linux is even more of a moving target. Good luck having a perfectly well working compiled program today, and trying to run it in 10 years time.

Re:1Sub.dev – A world where people pay for software by grishka on Wednesday July 26, 2023 @10:44AM (#36878547)
Is there any reason — other than "we're paying our graphic designers full-time salaries so we better get our money's worth" — why OSes have to change so drastically and can't be finished as well, only ever updated to add new APIs for apps and drivers to support new hardware features?
Re:1Sub.dev – A world where people pay for software by jwells89 on Wednesday July 26, 2023 @11:00AM (#36878815)
Security is probably the biggest reason. With attacks growing continually more sophisticated, it’s not enough to just patch holes as they’re found — you have to engineer entirely new systems to not be drowned in holes. This unfortunately has compatibility implications.

Look at macOS for example, which over the years has gained app sandboxing and mobile-like access permissions. Software pre-dating these additions that assumes that it has access to everything all the time will have its functionality impaired. Devs had to update their software to not make such huge assumptions and to handle no access cases gracefully.

Re:1Sub.dev – A world where people pay for software by grishka on Wednesday July 26, 2023 @11:07AM (#36878937)
So, how secure is "secure enough"? Android's security model is okay, and Google knows it, so they just keep redesigning the UI without substantial API changes because the updates have to be coming out with each lap the planet makes around its star.

> Devs had to update their software to not make such huge assumptions and to handle no access cases gracefully.

Sure. But at some point it will reach the "secure enough" state, won't it?

(Actually, macOS permissions work mostly transparently API-wise. Apps can request access explicitly so it better fits their particular UX, but the prompt would also pop up the first time the protected resource is accessed. No code-level changes are necessary to support this.)

Re:1Sub.dev – A world where people pay for software by jwells89 on Wednesday July 26, 2023 @11:13AM (#36879068)
> Android's security model is okay, and Google knows it, so they just keep redesigning the UI without substantial API changes because the updates have to be coming out with each lap the planet makes around its star.

Google is a bit of a special case I think due to their culture of using big projects as a means of climbing the corporate ladder. The only thing that could ever possibly result from that is endless churn.

> Sure. But at some point it will reach the "secure enough" state, won't it?

Maybe, I’m too much of a layman in the field of infosec to be able to say.

> (Actually, macOS permissions work mostly transparently API-wise. Apps can request access explicitly so it better fits their particular UX, but the prompt would also pop up the first time the protected resource is accessed)

True, but it’s still problematic if e.g. the user accidentally denies access unknowingly, which will result in the app producing seemingly nonsensical errors. For a good user experience the app needs to be able to tell the user what the real problem is.

Re:1Sub.dev – A world where people pay for software by chromoblob on Wednesday July 26, 2023 @11:15AM (#36879109)
The program's interface with environment won't change forever, when you write your program as a pure function which only touches exactly the thing it fundamentally needs to, you use a pretty much finalized interface.
Re:1Sub.dev – A world where people pay for software by vel0city on Wednesday July 26, 2023 @12:23PM (#36880301)
> only ever updated to add new APIs for apps and drivers to support new hardware features

Sounds like it's not "finished" if it needs all these updates.

As for why change the window dressing, the market for style changes over time. Why do car companies change the look of their products? Why does the outside of a cereal box ever change? Do the inside of our houses today look the same as the 80s? The 70s? The 40s?

Are you arguing that Windows and MacOS should continue to look like it's 1.0 release?

Re:1Sub.dev – A world where people pay for software by grishka on Wednesday July 26, 2023 @09:55PM (#36887876)
> As for why change the window dressing, the market for style changes over time.

Software is a tool, a means to an end. It doesn't need to participate in fashion.

> Are you arguing that Windows and MacOS should continue to look like it's 1.0 release?

Yes. It should remain an option at least. Not the literal "1.0", but the version when a decent UX was figured out. For Windows in particular, that's clearly 95. I know people who used the "classic" theme in Windows 7 and earlier, which remained mostly unchanged from Windows 95, and are resentful of its removal in subsequent versions that they have to use in order to have support for modern hardware.

Re:1Sub.dev – A world where people pay for software by vel0city on Thursday July 27, 2023 @12:19AM (#36888854)
> that's clearly 95

I wouldn't say that's very clear. There were still lots of refinements and redesign that happened as Windows started becoming more of a multi-user OS with NT and later XP. Just because there was a classic skin in 7 doesn't mean it was the same UX. Even with the "classic" skin there's pretty massive changes in the behavior and usability of most of the UI.

Maybe you find 95 to be the end-all be-all of design, but many don't. UI, and to an extent UX, is partially subjective and then also very different based on the user. Imagine a user who has only used an iPad gets dropped in front of a Windows 95 machine, would they consider it the peak of OS UI/UX design?

And as the product's target market evolves and changes so too should the software for what customers expect. Which brings me to...

> Software is a tool, a means to an end. It doesn't need to participate in fashion.

One could make the same argument of a bed or a couch or hell even a whole house. A house is just a tool, something to keep the environment consistent and shelter from the elements. A couch is just a tool to support a sitting human being. It doesn't need to participate in fashion. And yet people are pretty dang picky about their furniture choices and paint comes in thousands of colors.

Any piece software competes in a market of software. Say there's two pieces of software with identical feature sets. One looks like an ancient Java Swing UI and has bad colors and overall just looks ugly, meanwhile the other looks nice and pleasing (insert your own ideas of "nice and pleasing" here). One is probably going to hemorrhage users over time, can you imagine which?

Re:1Sub.dev – A world where people pay for software by grishka on Thursday July 27, 2023 @06:28AM (#36891509)
> Even with the "classic" skin there's pretty massive changes in the behavior and usability of most of the UI.

The windows themselves, the taskbar and the desktop all worked the same in 7 as they did in 95. Many of the changes made over that time came with settings to revert them — like that new thicc taskbar with icon-only buttons and window grouping.

> Imagine a user who has only used an iPad gets dropped in front of a Windows 95 machine

I'm sick of perfectly good desktop UIs getting redesigns which are compromised by the existence of iPads and other touchscreen devices. This just should not happen, period. Windows 95 UI is straightforward enough once you get the basic principles, which takes all of one hour of poking around. Microsoft didn't conduct all that research for nothing, after all.

What frustrated people about Windows 95 (and 98, and ME) when it was current wasn't the UI. The UI was nice. It was the inherent instability of the system itself due to its architecture. Same for classic Mac OS, it doesn't matter how nice your UI is if the system itself can be trivially crashed or locked up by a single misbehaving app because of cooperative multitasking and lack of memory protection.

> One could make the same argument of a bed or a couch or hell even a whole house.

All beds and couches work the same and look largely the same. You know a bed when you see one.

All buttons and text fields and window titles used to also look largely the same and everyone was fine with that. But then the plague of flat design happened.

Imagine being exhausted after a long flight, walking into your hotel room only to see white, textureless walls, floor, and ceiling, and multiple white textureless blocks of different sizes inside. You get to figure out which one is a bed, which one is a chair, which one is a toilet, and which one is a sink! How exciting! This is what modern affordance-less UIs feel like. A good tool shows how it's meant to be used by its form.

> And yet people are pretty dang picky about their furniture choices and paint comes in thousands of colors.

That same classic Windows theme was extremely customizable for that very reason. You could change all colors and fonts to your liking, and some people did! You could make yourself a dark theme way before dark themes became mainstream.

> Say there's two pieces of software with identical feature sets.

You mean the control skins are the only thing different between them, otherwise all UI/UX being identical down to the layouts?

Re:1Sub.dev – A world where people pay for software by vel0city on Thursday July 27, 2023 @08:18AM (#36892341)
> All beds and couches work the same and look largely the same.

It's almost like you've never been in a furniture store. They come in tons of different sizes, shapes, textures, colors, features, and more. There's not just a single couch model that you can then change the color on.

> The UI was nice.

I highly disagree. The taskbar would get filled up quickly and get squished for me since there was no grouping. The notification tray couldn't hide things. No virtual desktop support. The start menu was incredibly basic in form. No search from the start menu. Editing the start menu programs list was extremely non-obvious and not self explained. Navigating the nested start menu shortcuts was a huge pain. Installers just threw everything in the start menu leading to a ton of clutter. UI elements are miserable at scaling, in that there is zero scaling support. The taskbar was only on your primary display. Difficult to change default sound output device straight from the taskbar. No central place to see previous notifications. No jumplists. No Win+Number shortcuts to quickly swap between things on the taskbar. Alt+Tab prompt doesn't have window previews. I could go on and on and on and on and on about what I perceive to be massive failures of 95's UI/UX.

I didn't really care for the overall icon design throughout the OS and generally see the overall style in the OS as pretty basic, bland, and boring. Changing the color or setting the title bar font to Comic Sans isn't solving that.

In the end though, you probably disagree with a lot of these things. I think your couch is ugly and uncomfortable, and you probably think my couch is ugly and uncomfortable. UI/UX has some subjectivity involved. Not everyone agrees 95 was the ultimate software design unable to be improved upon.

Re:1Sub.dev – A world where people pay for software by steveBK123 on Wednesday July 26, 2023 @10:25AM (#36878280)
Completely incorrect.

Underlying hardware/OS/firmwares/JVM/etc change.

Dependencies break.

Security updates.

Etc.

Engineering projects usually hand off maintenance to their owner. Your house/car need maintenance. Your cities roads/bridges/tunnels need maintenance.

The difference with software is that maintenance is done by the producers as they own the code.

Re:1Sub.dev – A world where people pay for software by grishka on Wednesday July 26, 2023 @10:41AM (#36878505)
> Underlying hardware/OS/firmwares/JVM/etc change.

OSes also can be "excellent products". They don't need yearly updates, there's nothing inherent to them that would prevent them from being made perfect, finished and never updated again.

The only case when an otherwise perfect OS would truly need to update is when new hardware capabilities require OS-level changes to support. Sometimes it may be beneficial to expose these new hardware capabilities as APIs for apps to consume. But again, adding new APIs shouldn't break the existing ones. For example, on phones, this would include things like notched screens, fingerprint readers or multiple rear-facing cameras.

> Dependencies break.

Don't update dependencies. Pick one version that serves you well and stick with it forever. I'm serious.

> Security updates.

It seems like we've already realized that writing code that deals with complex data structures received from untrusted parties in memory-unsafe languages like C is a terrible idea. If you exclude memory safety vulnerabilities, the attack surface shrinks drastically. You'd run out of security vulnerabilities pretty fast if you'd have any to begin with.

> Your house/car need maintenance. Your cities roads/bridges/tunnels need maintenance.

Houses, cars, and road infrastructure are made out of atoms and exposed to elements and stress of our imperfect real world. They wear out. Code doesn't. In 100 years, the bits would be the same they are today (as long as you use a reliable enough storage medium).

Re:1Sub.dev – A world where people pay for software by nemo on Wednesday July 26, 2023 @11:10AM (#36878994)
This all sounds fine hypothetically, you might want to take a look around at the world for a while to see why it doesn't fit your model. Obviously your idea hasn't happened, and there's good reasons why this is the case that you could readily discover if you took a look at reality instead of your model of reality.
Re:1Sub.dev – A world where people pay for software by steveBK123 on Wednesday July 26, 2023 @11:27AM (#36879356)
> there's nothing inherent to them that would prevent them from being made perfect, finished and never updated again.

theres this thing called the internet, to which the OS connects, filled with adversarial actors, so no this is not correct at all

Re:1Sub.dev – A world where people pay for software by grishka on Wednesday July 26, 2023 @11:40AM (#36879569)
And? How do updates help any of this? Firewalls are a thing. Memory-safe languages are a thing. And it is not an OS's job to protect the user from themselves (i.e. social engineering). If you've installed malware, you deserve the consequences and you will be more careful next time. It's okay for powerful technologies to require a minimum level of education.
Re:1Sub.dev – A world where people pay for software by chromoblob on Wednesday July 26, 2023 @11:36AM (#36879501)
> this is not correct at all

Why?

There's a thing called formal verification of software.

Re:1Sub.dev – A world where people pay for software by duckmysick on Wednesday July 26, 2023 @12:19PM (#36880245)
I'd rather use an imperfect product that does a good-enough job instead of waiting for a perfect product.

The perfect OS doesn't exist yet. Right now, I'd rather use some OS than no OS.

Why a perfect OS doesn't exist? Good question. Maybe because the programming field is relatively immature so we're still figuring things out and we don't apply formal verification to everything. Compare that to say, architecture, where we can calculate how much weight a structure can withstand. Or the other way around: what do we need to do to support an X amount of load.

I guess the stakes are lower too. I wouldn't walk on a wobbly bridge, but I don't mind if a desktop app I use crashes occasionally under unusual circumstances. Critical software (say, aviation) is generally written with more care but it's still not perfect.

Re:1Sub.dev – A world where people pay for software by vel0city on Wednesday July 26, 2023 @10:29AM (#36878332)
Engineering projects have a finished state? So once they build a road or bridge or dam, nobody needs to touch it again forever? It's finished right, no more work anymore.

Even in electronic hardware there's often continuation of design and refinement. Have you never seen a board with a revision number on it?

Re:1Sub.dev – A world where people pay for software by grishka on Wednesday July 26, 2023 @10:49AM (#36878641)
> It's finished right, no more work anymore.

Real-world objects like these wear out. Code doesn't.

> Have you never seen a board with a revision number on it?

Of course I have. There's a difference though. You can't ship an electronic device that's unfinished with a promise to "fix it later". Yet this is what routinely happens with software these days. Also, if your device serves its purpose well, you'd probably have a "final" board revision with all flaws fixed. If you want to add features to an electronic device, you'd make it a different model, possibly sold concurrently with your existing one to serve people with different needs and budgets.

Re:1Sub.dev – A world where people pay for software by vel0city on Wednesday July 26, 2023 @12:21PM (#36880280)
> Real-world objects like these wear out

You just said "engineering". Bridges and roads are engineering as well buddy.

> Engineering projects usually have a finished state

This is the statement I'm addressing. And it's just not entirely accurate. Things change, assumptions get proven wrong, there's always a newer and better way to do something, etc.

Sure your widget was probably about as good as you could do at the time you first launched it, but several years later there's better components available. Or maybe a supplier stops making some part you were using. Or a few years later you start getting parts back failing early in their service life and need to make an update. What was once your finished state now isn't.

Re:1Sub.dev – A world where people pay for software by inglor_cz on Wednesday July 26, 2023 @10:28AM (#36878311)
Uh, look at curl. It is an excellent product, no doubt about it (or if you do, I wonder what your standards for excellence are), and yet we are here, at version 8.0, 27 years after its first release.

Edit:

"if it doesn't rely on any online services"

That is a big IF. How many things don't, at least indirectly? (e.g. by relying on HTTPS, which requires TLS, which requires keeping up with current cryptographic standards.)

Re:1Sub.dev – A world where people pay for software by grishka on Wednesday July 26, 2023 @10:05PM (#36887966)
If cryptography can't possibly be figured out once and for all and must remain a moving target forever, I'd separate TLS into a module that can be updated independently of the rest of the system.
Re:1Sub.dev – A world where people pay for software by 7e on Wednesday July 26, 2023 @10:17AM (#36878115)
Not at all. Software has low marginal cost, but that has high fixed costs that need a monetizable market to sustain. Good software takes effort and great people. Those are expensive. If you can't monetize you can't put people on your software and it will suck (like most OSS software, for example). Physical manufacturing is hard, but at least it brings in dollars. OSS, privacy and wankers reverse engineering your software shrinks your market substantially.
Re:1Sub.dev – A world where people pay for software by buggy6257 on Wednesday July 26, 2023 @10:34AM (#36878394)
I'm not sure I get your argument. Basically everything you're talking about applies to physical manufacturing too. You have high fixed costs (equipment, location, assembly line workers, what have you), and you also have marginal cost (software basically has zero marginal cost). Good physical goods also take effort, and great people to design them.

> Physical manufacturing is hard, but it at least brings in dollars

You say this as if it's some indelible fact that if you make a physical product, it WILL be bought and you WILL make a profit no matter what, but I think it's safe to say this is objectively false, as many failed physical business would attest to.

> OSS, privacy and wankers reverse engineering your software shrinks your market substantially.

As opposed to in the physical world, where nobody ever cribs your ideas and sells them at a discount compared to you... AKA "Amazon's business model"? (not to mention overseas knockoffs of products

Given all these things being equal then, software has all the same benefits that your parent comment mentioned, while staying at best EQUAL with physical manufacturing, save for maybe higher salaries to the people making your product (arguable in some cases, but on average probably true) but this difference pales in comparison to not having to own a warehouse and manage last-mile shipping costs etc.

Re:1Sub.dev – A world where people pay for software by ipaddr on Wednesday July 26, 2023 @11:08AM (#36878956)
A physical product has limitations. Creating 1,000 car mirrors requires capital, storage, self space to sell. Once the mirrors are created no changes can occur. Any changes requires a new batch.

Software has expectations that it can and should be changed after purchase through updates/patches/upgrades/saas products. That creates an ongoing cost a physical product doesn't have.

There are tradeoffs and different expectations which make both difficult. I would rather go the software root because I have the advantage of free developer time but someone else might find making 10,000 widgets from China much easier and cheaper. We think software is easier because we devalue what we add and what we really cost

Re:1Sub.dev – A world where people pay for software by LegitShady on Wednesday July 26, 2023 @11:21AM (#36879225)
>Software has expectations that it can and should be changed after purchase through updates/patches/upgrades/saas products. That creates an ongoing cost a physical product doesn't have.

Nowadays businesses use this to create a constant revenue stream from what used to be a single purchase. It's not to service the product, its to continue to soak money from the people who do end up spending on it.

Aside from security updates most software I have, I just want them to stop. No changes, no design upgrades, no "we changed this tier of our pricing" etc. Most of that stuff is working against the customer not for them. Your SaaS model is so you can make money, I have no incentive to pay more than I have to.

Re:1Sub.dev – A world where people pay for software by dcow on Wednesday July 26, 2023 @12:23PM (#36880308)
> I have no incentive to pay more than I have to.

You have to pay their recurring revenue if you want them to stay in business and keep the lights on so you can use their product. That's the hard reality. If you run your own server and fix your own bugs and etc. (which is feasible for many here, I'm not saying it's a bad option) then you can "pay no more than you have to".

Re:1Sub.dev – A world where people pay for software by JohnFen on Wednesday July 26, 2023 @01:04PM (#36881027)
> You have to pay their recurring revenue if you want them to stay in business and keep the lights on so you can use their product.

It's not my problem that they've settled on a revenue model that isn't in line with what I'm prepared to do.

Re:1Sub.dev – A world where people pay for software by dcow on Wednesday July 26, 2023 @01:59PM (#36882056)
Sure, then you're okay with the consequences of the product not existing when they go out of business.
Re:1Sub.dev – A world where people pay for software by LegitShady on Wednesday July 26, 2023 @02:13PM (#36882301)
If it was just software they sold it would still exist. It's only a saas and abusive license.verififcation that means if they go out of business they remove all benefits from previously paid amounts, and that's not in my interest either.
Re:1Sub.dev – A world where people pay for software by JohnFen on Wednesday July 26, 2023 @03:56PM (#36883982)
I am entirely fine with that, yes. It might make room for better business models to return.
Re:1Sub.dev – A world where people pay for software by Mc91 on Wednesday July 26, 2023 @11:13AM (#36879063)
> If you can't monetize you can't put people on your software and it will suck (like most OSS software, for example).

I have worked on FLOSS software and I have worked on non-FLOSS software and I don't see most FLOSS software sucking in a way that non-FLOSS does not.

FLOSS has some advantages - as there is no compelling need to release new features which can drive up revenue and profit (or at least OKRs) for the next quarter, you don't get a constant need to release unneeded junk to try to squeeze the last dime out of consumers. You can actually spend time refactoring the code, or only releasing when it is properly architected.

Most of the servers and smartphones in the world are running on a FLOSS kernel. MacBook's OS derive from CSRG's BSD, and even some of Windows, like the Internet stack, derive from FLOSS. If it sucks so much, why do virtually all major operating systems derive fully, or at least partially, from it?

Re:1Sub.dev – A world where people pay for software by JohnFen on Wednesday July 26, 2023 @01:07PM (#36881082)
One of the reasons why I strongly prefer FLOSS over commercial software is that FLOSS tends to be of better quality.

Whether or not I pay money for it doesn't enter into my calculation much at all.

Re:1Sub.dev – A world where people pay for software by davidw on Wednesday July 26, 2023 @10:25AM (#36878277)
Software is mostly a non-rivalrous good: https://en.wikipedia.org/wiki/Rivalry_(economics) although it becomes a little bit more that way when it's hosted, rather than distributed via downloads or something, depending on the load it puts on a server.

It is excludable, but more so with SaaS type things: https://en.wikipedia.org/wiki/Excludability

Re:1Sub.dev – A world where people pay for software by pjc50 on Wednesday July 26, 2023 @10:40AM (#36878482)
The problem with software's non-physical nature is that it has runaway market dominance issues. Software, especially software that interacts with other software, tends to be either open-source maintained by a "community" or a thinly veiled world domination plan.
Re:1Sub.dev – A world where people pay for software by prepend on Wednesday July 26, 2023 @12:33PM (#36880489)
That’s a feature, not a bug, I think.

Low barrier to entry is really important for new software. So it’s this struggle with some orgs trying to increase lock-in (Microsoft, Oracle, etc) and a constant stream of new products taking off, dominating the world, and getting knocked off themselves.

Re:1Sub.dev – A world where people pay for software by vishnugupta on Wednesday July 26, 2023 @10:50AM (#36878645)
I mean, sure, this is what all the business books, MBAs have been saying since 60s.

However, since then we have come to learn a lot about software. The most important of which is that software, just like physical products, needs maintenance. The world is constantly changing and evolving, and software has to keep up otherwise it'll become obsolete within couple of years. At the very least it must be patched up with newly discovered security threats.

Just look at all the money/effort spent to make features backward compatible, or army of engineers employed by companies just to maintain existing software.

Re:1Sub.dev – A world where people pay for software by ryandrake on Wednesday July 26, 2023 @11:02AM (#36878853)
> At the very least it must be patched up with newly discovered security threats.

I'd say at the very most it needs security updates. Too much software changes just to change. UI redesigns for the sake of redesign, cramming features that nobody wants so a product owner can get promoted, adding telemetry and analytics to chase metrics that no user cares about, adding annoying notifications and popups to juice "engagement". I pine for the days of desktop software, where I can wake up in the morning and not be worried that some developer 1,000 miles away from me changed my product out from under me because developers gotta develop.

Another benefit of software that doesn't change every week is you can charge one time for it rather than these awful subscription pricing that most software are switching to. They justify subscriptions because "we have to keep paying developers to develop." Not a problem that the user has, so why should the user have to pay for it?

Old, unchanged software is not obsolete. It's mature. Bugfixes only, please.

Re:1Sub.dev – A world where people pay for software by SoftTalker on Wednesday July 26, 2023 @11:24AM (#36879289)
On the other hand, the reality experienced by software companies is that adding features is profitable. Joel Spolsky talks about this in one of his old blog posts[1]: "I can tell you that nothing we have ever done at Fog Creek has increased our revenue more than releasing a new version with more features."

It makes sense though, if software companies could make just as much money doing less work, they certainly would.

[1] https://www.joelonsoftware.com/2006/12/09/simplicity/

Re:1Sub.dev – A world where people pay for software by HeyLaughingBoy on Wednesday July 26, 2023 @11:38AM (#36879543)
There's really nothing wrong with new features as long as you understand that there's a certain subset of users who don't want things to change. Maybe it's because people are already trained on the current version, or they don't want to have to upgrade machines just to run the new feature set, or any of a thousand reasons you may not have thought of.

And then there are the "upgrades" that try to force you to pay more.

There was a dev tool that I purchased a couple years ago. Don't remember the name. It was reasonably priced and came with 1 year of support. A bit over a year later I got a notification that they had put out an update, so I downloaded it to take a look, only to find out that it had deleted the version I had bought and my license wouldn't transfer over. If I didn't now buy this new version, not only could I not use it past the trial period, but I'd lost the version I had before.

Yeah, I was pissed. And the company really had trouble understanding why I was so pissed off by this behavior. I did finally find out where I could download the version I had before, but there went my entire workday. And the product that previously I would recommend became something I cautioned people to avoid!

Re:1Sub.dev – A world where people pay for software by philistine on Wednesday July 26, 2023 @12:39PM (#36880597)
The subset of people who don't want things to change are running which OS exactly? User interface is just like any other artistic field: it has fashion trends. Look at something that's been around forever and is still developed: BBEdit. Yeah sure the app has not changed a *ton*, but its changed more than you think. Many fads in OS X design (like drawers) had to be implemented and later removed.

Any successful piece of software cannot realistically just stay still. It has to keep evolving with the trends of user interface. The difficult part is doing it well. BBEdit has managed it.

Re:1Sub.dev – A world where people pay for software by sophacles on Wednesday July 26, 2023 @01:18PM (#36881274)
>The subset of people who don't want things to change are running which OS exactly?

All of them? Hell I hate it when things change in a way that forces me to give them attention now rather than when I have time. Nothing worse than doing an update and having to rework my flow, scripts, and code just to be productive again. Let me choose when I update my tools, don't force it on me just because your UI team found an even more complicated and torturous way to make simple things ugly and hard - I have my own work to do.

Re:1Sub.dev – A world where people pay for software by newaccount74 on Wednesday July 26, 2023 @03:29PM (#36883546)
The problem is that you generally can't support yourself by just selling to existing customers; you need to keep selling to new customers.

And the market keeps evolving, so you need to evolve with the market if you want to continue selling.

If you do it slowly enough, and cautiously, then existing customers can adapt.

But if you stop updating your app, it's eventually going to lose its appeal and will be forgotten.

Re:1Sub.dev – A world where people pay for software by jhbadger on Wednesday July 26, 2023 @02:48PM (#36882886)
I think this is kind of disproven by a feature that was added to Microsoft Word in the 1990s (I don't think it is still around, although I may be mistaken). It was called "WordArt" and let the user do things like write the word "shark" with the letters deformed so it looked like a picture of a shark. Why would you want to do this? I have no idea. It's just obvious that the people working on Microsoft Word needed to add something and just bug fixes weren't enough, I guess (although they still don't have a reference management system which is why things like EndNote still exist)
Re:1Sub.dev – A world where people pay for software by pmcp on Wednesday July 26, 2023 @02:57PM (#36883033)
I wonder if you are trolling or being serieus, because me and literally everyone i know would use this feature extensively. For powerpoints, school presentations, birthday cards. 50% of the time I fired up Word, it would be for that feature.
Re:1Sub.dev – A world where people pay for software by jhbadger on Wednesday July 26, 2023 @03:08PM (#36883232)
I seriously have never seen this used ever. But it sounds like you are talking about children using it, which I hadn't considered (I was already an adult in the 1990s).
Re:1Sub.dev – A world where people pay for software by HeyLaughingBoy on Wednesday July 26, 2023 @05:12PM (#36885105)
Are you kidding? That would actually make presentations fun again.
Re:1Sub.dev – A world where people pay for software by abe_m on Wednesday July 26, 2023 @11:02PM (#36888391)
Time moves on. In the 80's, 90's and 00's entire genres and niches were explored and defined. Much of the software I use matured around the time that article was written, and the "new features" in a lot of software are so niche, that they are big enough draws to buy new software versions. Hence the move to subscription for everything. Microsoft office is a generic example. The company I work for has all versions from 2007 through current in use. There are no features in the newer versions that change how we work.

Many people I know in my industry have been looking to dump the service contracts for CAD software for 10+ years. No useful added features, no improvements in stability, and no service to speak of through the VARs. What is the point of paying?

Re:1Sub.dev – A world where people pay for software by sanderjd on Wednesday July 26, 2023 @11:36AM (#36879499)
So, this is true:

> Too much software changes just to change.

But it doesn't imply this:

> I'd say at the very most it needs security updates.

What the parent said about "security updates at the very least" is correct, and sometimes that happens to also be the very most updates that should be made. And sometimes it's that but a little bit more. And sometimes it's that and a lot more.

The hard part is figuring out the right balance. And then, figuring out how to staff in order to achieve that balance.

The "only security updates" approach turns out to be among the hardest to figure out how to staff for. Because the idea is that this software is essentially complete upon release, so the natural business model is to sell it that way, for a one-time fixed price. And then with that revenue structure, the natural cost structure is to move all the staffing to a new project (or to build these kinds of products with project-based contracts to begin with).

But once you've accepted that you should at least be doing updates for security (and I think this is correct in almost all cases), well, now who is going to do those? You have a recurring cost with a non-recurring revenue stream. You can push down the recurring costs as far as possible, but eventually this model just struggles to pencil out. At that point, you'll probably decide to just stop all updates, including security patches.

This phenomenon is why most people making software seek a business model with a recurring revenue stream. It's not an accident that the days of boxed software were also the days of rampant insecurity.

But, you're totally right that the next step in this is often, "well if we have to have ongoing staffing and recurring revenue, we need something for them to do besides maintenance, so let's do UI refreshes and metrics and stuff I guess". It's a test of leadership, to avoid that temptation. Better products have better leadership that is making better decisions about when it makes sense to do more on a product and when it makes sense to mostly leave it be.

Re:1Sub.dev – A world where people pay for software by throwbadubadu on Wednesday July 26, 2023 @03:01PM (#36883110)
> "security updates at the very least" is correct, and sometimes that happens to also be the very most updates that should be made.

And a lot of those updates wouldn't be necessary of software and tools wouldn't offer so much attack surfaces, that they wouldn't need if they cared less about those things as necessary features...

Re:1Sub.dev – A world where people pay for software by sanderjd on Wednesday July 26, 2023 @09:20PM (#36887629)
Man I dunno. This sounds right and all, but after years of seeing security issues that don't seem to have anything to do with unnecessary attack surface, I have to say that this just seems unrealistic to me. The problem is that no software runs on a machine without an internet connection, and you can't control the attack surface of other software on the machine.
Re:1Sub.dev – A world where people pay for software by mrlemke on Wednesday July 26, 2023 @11:28AM (#36879365)
Why would I pay my developers to do bug fixes if you've only paid me once? Bug fixes are the user's problem, so why should I have to pay for it?
Re:1Sub.dev – A world where people pay for software by ryandrake on Wednesday July 26, 2023 @11:35AM (#36879477)
Companies can bake the cost of one or two maintenance releases and maybe one or two years of security releases into the purchase price. I agree it's not reasonable to expect lifetime updates from a one-time purchase. As long as you're not doing heavy development on these maintenance releases, the company's cost should be very small.

As a user-developer, I'd also be happy with being provided the source (or un-linked object files, or the equivalent for whatever language being used) after the maintenance period was over, so I could continue applying dependency security patches myself.

Re:1Sub.dev – A world where people pay for software by photonbeam on Wednesday July 26, 2023 @11:37AM (#36879524)
Because you sold a defective product
Re:1Sub.dev – A world where people pay for software by paulryanrogers on Wednesday July 26, 2023 @12:25PM (#36880349)
Depends on whether the bugs are because of preexisting flaws or because the underlying platform has shifted. No one can predict the future, and even OS vendors who once took backward compatibility seriously may not in the future.
Re:1Sub.dev – A world where people pay for software by ghaff on Wednesday July 26, 2023 @12:56PM (#36880888)
The design of MOST non-trivial products is refined over time with no expectation that older versions will be upgraded to the latest and greatest. Yes, material esp. safety defects can lead to recalls but this is relatively rare in the physical world.
Re:1Sub.dev – A world where people pay for software by ndriscoll on Wednesday July 26, 2023 @11:35AM (#36879492)
Even the security updates are often dubious. Software that could be entirely local (with a system provided filesystem backup/sync for data) adds "cloud" functionality so that it can lock you into the SaaS subscription model, and now it's got the network as an attack surface. Even there though, it generally just talks to the vendor's servers, and if you control the vendor's servers, you probably have more direct attack routes than some http client bug.

"Security" patches are something only checklist-driven corporate IT (i.e. people who can't consider use-case) ought to care about. For individuals, they're mostly a cudgel to justify abusive practices and should be ignored.

Re:1Sub.dev – A world where people pay for software by paulddraper on Wednesday July 26, 2023 @11:26AM (#36879328)
The reason that desktop world existed is because computing was very localized.

Now people use it in very interconnected ways.

Re:1Sub.dev – A world where people pay for software by scarface_74 on Wednesday July 26, 2023 @12:13PM (#36880142)
> Another benefit of software that doesn't change every week is you can charge one time for it rather than these awful subscription pricing that most software are switching to.

How do you pay developers to continuously fix bugs, provide security updates and update their software when the underlying hardware and operating system changes?

Re:1Sub.dev – A world where people pay for software by JohnFen on Wednesday July 26, 2023 @12:58PM (#36880926)
> How do you pay developers to continuously fix bugs, provide security updates and update their software when the underlying hardware and operating system changes?

Have we really strayed so far that everyone's forgotten how this is done? Security fixes and serious bug fixes should always be free (At least going back N-1. You price that work into the sale price to begin with), and you get ongoing revenue by selling new versions.

Re:1Sub.dev – A world where people pay for software by scarface_74 on Wednesday July 26, 2023 @01:31PM (#36881509)
And if the person is happy with the current version “n” that they were using, kept the same operating system while you released n+1 and n+2 to stay compatible with new operating systems then they decided to upgrade their hardware and find out that their old software doesn’t work?

They will still need to buy a new version or should that be free?

If the author of BBEdit never added a feature since 1991. You would have still had to pay for new versions to run on your PPC/Classic MacOS, OS X PPC, x86 Mac and now your ARM Mac.

Back in the “good old days” MS Office cost $595 for ea h version if you had a Mac and Windows PC.

Now it’s $99/year for five users and you can run on your Mac, Windows, iPad, iPhone, web, or Android device.

The same for Photoshop.

And you get continuous features added as the platform vendor and software vendor add more capabilities.

Re:1Sub.dev – A world where people pay for software by swiftcoder on Wednesday July 26, 2023 @01:22PM (#36881350)
> and you get ongoing revenue by selling new versions

This works exactly up until the moment that your software is good enough that most of your userbase stops paying to upgrade. Then you are dead in the water, and the software becomes abandonned by design.

Re:1Sub.dev – A world where people pay for software by Frafabowa on Wednesday July 26, 2023 @01:51PM (#36881910)
Obviously that's bad for businesses - but it's great for consumers! I think the question that's being asked is if there's some business model out there that delivers what customers want (the ability to just buy a finished product once and have it work decades down the line, like "pass it down to your kids" long) while also delivering profits to shareholders.

There's a reason farmers want the ability to repair their own tractors without having to give John Deere an extra cut, you know.

Re:1Sub.dev – A world where people pay for software by scarface_74 on Wednesday July 26, 2023 @02:51PM (#36882930)
How is it good for consumers to have abandoned software that is not compatible and never will be compatible with newer operating systems?

Two decades ago, for instance Apple was still selling PPC based Macs.

Re:1Sub.dev – A world where people pay for software by drbawb on Wednesday July 26, 2023 @03:59PM (#36884029)
You emulate the abandonware, old OS and all. She kicked the habit recently, but my sister preferred Word 5.1 for Mac for a long time. That was a 68k program, which she dutifully used _on a PC_ while Apple was busy shipping iOS on ARM and Mac OS on x86. The Centris 610 is very tired, but the software still works. (Well, not the original copy. Those install floppies are very dead.) Software can be uniquely persistent, in a way physical artifacts can't, so why are we so insistent on keeping everyone on the upgrade treadmill?

George R.R. Martin pretty famously uses WordStar on DOS. I can't imagine it'd be some win for consumers (either Martin personally, or downstream enjoyers of his books) if he had to be on the latest internet-connected, ad-infested, notification-riddled copy of Windows just so that his OS and Office Suite could repeatedly check to make sure he still has an active subscription and a valid "digital entitlement."

I still use Office 2010. (Though it gets increasingly difficult to activate it, and it last received security updates in 2020.) In 2010 I was using x86_64 (an Athlon 64 X2), and today I'm using x86_64. Why should I upgrade? It happens to still run on Windows 11, but I'd gladly stuff it in a VM to continue using it. (I do use Office <current 365 build> for work, so I can pretty confidently say there is nothing worth paying for in there. The only feature even remotely interesting is PowerQuery for Excel, which is available as an add-in for Office 2010.)

Re:1Sub.dev – A world where people pay for software by scarface_74 on Wednesday July 26, 2023 @04:25PM (#36884440)
Well, my wife uses one my 5 user Office 365 subscription licenses on her Mac. I use it on my iPad and phone. My mom uses it on her Windows laptop and her iPad.

We each get 1TB of online storage.

Compare that to the $599 that Office for Mac use to cost and that you could only use on one computer.

Re:1Sub.dev – A world where people pay for software by pc86 on Wednesday July 26, 2023 @03:43PM (#36883754)
> if there's some business model out there that delivers what customers want ... while also delivering profits to shareholders.

Of course there is, but that's why software in a box cost hundreds or thousands of dollars per version, with minimal bug or security updates thereafter. The grass is always greener, yeah it's a pain in the ass having a ton of $10/mo subscriptions. But I'd much rather have that - as both a consumer and a developer - than have $800 single-sale purchases.

Re:1Sub.dev – A world where people pay for software by dcow on Wednesday July 26, 2023 @12:15PM (#36880182)
> Old, unchanged software is not obsolete. It's mature. Bugfixes only, please.

This assumes a waterfall approach to development which implies multiple 6 month to year long development cycles.

In reality, a mature stable project can receive monthly updates, and an immature half-working project can be in maintenance mode. Furthermore this may work for software that should be seen and not heard doing its job in the background without much user interaction, but for software that users interact with regularly, the design needs to be periodically refreshed to match current trends or users will leave for the newer sexier product with fewer features. We've seen this time and again. I have absolutely experienced a mature product that was "finished" (abandoned) like 4 OS version ago that just doesn't run/work on the current OS version because the platform has added new security controls, APIs, and/or UX expectations, etc. No amount of security updates would fix that.

So while I understand where you're coming from opining for a world where we ship mature software and security updates only, I don't think it's remotely realistic given the way humans operate.

Re:1Sub.dev – A world where people pay for software by JohnFen on Wednesday July 26, 2023 @12:54PM (#36880857)
> In reality, a mature stable project can receive monthly updates

Software that gets frequent updates isn't "mature and stable" by definition. It's constantly changing.

Re:1Sub.dev – A world where people pay for software by dcow on Wednesday July 26, 2023 @02:03PM (#36882129)
> Software that gets frequent updates isn't "mature and stable" by definition. It's constantly changing.

That's simply not universally true and it's incredibly naïve to try and assert that it is. Obviously there are examples of immature unstable software that receives monthly updates, but it's not a tautology that monthly updates imply immaturity. You either don't work in software or haven't really thought this through.

Stable means the software run reliably without major issues and mature means it is a solution well adapted to the problem domain and solves a problem with grace, tried and true. Monthly updates might be "integrate support for new technology/service (that didn't exist 6 months ago)" or "support latest changes in macOS 14" or even "fix issue that happens 0.01% of the time". Other software changes and you have to adapt, and no software ships bug free. Being mature and stable means you have the time to work on things that aren't existential for your product/business, like adding convenient support for some sexy new service as a nice value bump or making sure those 0.01% of your users aren't occasionally encountering an annoying or frustrating issue.

Re:1Sub.dev – A world where people pay for software by luluthefirst on Wednesday July 26, 2023 @03:16PM (#36883351)
In this context, stable means that it should not break, not that it will not be updated anymore. The term for what you are referring to is end-of-life.
Re:1Sub.dev – A world where people pay for software by harpiaharpyja on Wednesday July 26, 2023 @12:53PM (#36880855)
Software "maintenance" is kind of a self-fulfilling prophecy. It's not required to break the old in order to make something new, but unchecked scope creep results in what used to work not working anymore, and thus the artificial need for maintenance.
Re:1Sub.dev – A world where people pay for software by chefandy on Wednesday July 26, 2023 @12:54PM (#36880865)
But interface updates do meaningfully help many people.

Most people in engineering roles think the job is done when the engineering is done, and the maintenance is unnecessary unless it's necessary for stability or security. That's not limited to software, either. The fact is, to the vast majority of non-developer software users, an improved workflow, more intuitive, or yes, even more attractive interface makes more of a difference than moderate performance upgrades or minor stability improvements.

To a developer, interfaces are a way to interact with with software, like an API for humans. To everyone else, the interface is the software. Old interfaces are as or more usable to you because you have a sophisticated mental model of software and a high tolerance for logical complexity. These dreaded designers' profession is figuring out how people who don't have those things can most easily solve their problem with the tool you built.

Car controls would look a lot different if the engineers maintained control over the available controls without designer input. They might intuitively understand that the array of controls that change fuel injection parameters should only be used in certain instances, but they liked having them right there just in case. When told that they'd just confuse average drivers and should probably be hidden, they might argue, "I explained to my 6 year old nephew how more or less air can affect engine preformance." Multiply that by the dozen internal systems they want to control or get real time data from. A designer world recognize that this would confuse most drivers for little benefit and hide everything but the things most drivers need to find and parse instantly... And they would be met with the same heavy sighs and eyerolls that software designers regularly get from developers.

Designers are in the organization because they can do things that developers can't. They make developers work vastly more useful to the world because the way someone solves their problem is as or more important than it being optimally solved using the smallest amount of available resources with 5 9s of reliability instead of 3.

And that's why, in the overwhelming majority of cases, end-user-facing commercial software with professionally designed UIs and someone looking at UX on a whole will dominate FOSS alternatives while tools targeted at developers and other technical people do as well or better, and the commercial equivalents.

Re:1Sub.dev – A world where people pay for software by squid_fm on Wednesday July 26, 2023 @01:48PM (#36881855)
Without solid designers most software would be completely unusable to the majority of people.

It is really easy to get caught in the trap that YOU are the end-user, but a couple user interviews will quickly shatter that reality.

Re:1Sub.dev – A world where people pay for software by swiftcoder on Wednesday July 26, 2023 @01:19PM (#36881300)
The OS under your software is not static. MacOS programs from 10 years ago rarely execute successfully. Windows programs from 20 years ago might. Linux programs from 5 years ago mostly don't unless you have access to source code (and a certain willingness to patch it yourself).
Re:1Sub.dev – A world where people pay for software by pksebben on Wednesday July 26, 2023 @01:35PM (#36881588)
> because developers gotta develop.

You're touching on the real problem, here. Software isn't broken, it's just that the inherent issues in capital are starting to become painfully clear in this context.

I've been trying to find a term for "behavior focused on maintaining your job when the need wouldn't exist without such behavior". It's kinda tangential to artificial scarcity but broader in scope, and if we don't have a term for it, we need one badly. So much of our society's resources are committed to solving problems that don't exist, because the actual problem is "you need money to live and for whatever reason the thing you do in the place and time you are isn't necessary or desired".

Re:1Sub.dev – A world where people pay for software by rifty on Wednesday July 26, 2023 @02:16PM (#36882355)
> I've been trying to find a term for "behavior focused on maintaining your job when the need wouldn't exist without such behavior"

The concept of self-preservation or calling it superfluous self-preservation probably works here. But perhaps saying auto-preservation conveys better the sometimes lack of conscious intention that goes on in these situations.

Re:1Sub.dev – A world where people pay for software by dunham on Wednesday July 26, 2023 @01:36PM (#36881598)
> I'd say at the very most it needs security updates.

and then you move the bar a little (although I agree):

> Bugfixes only, please.

I would also add updating to work with the current OS / hardware. (I have unusable games that are a recompile away from being usable.)

But I agree with the rest of your points. Especially when, in addition to asking you to fund new features, the new features make the app worse for your use cases.

However I don't know if the root cause is more accurately described as "developers gotta develop" or "product managers gotta produce".

Re:1Sub.dev – A world where people pay for software by ryandrake on Wednesday July 26, 2023 @02:36PM (#36882695)
Yea, I don't mean to target individual software developers here. "Developers gotta develop" is commentary on the entire industry, and all the contributors, including developers, UI designers, product owners, QA, executive sponsors. I remember hearing the saying "Programmers are like beavers. Leave a beaver alone to decide what to do and they'll just keep building dams, regardless of the fact that their home is done." I don't know if that's really true about beavers, but it's true about software organizations. The whole software development team will just continue working on the software even long past the point where they're done.
Re:1Sub.dev – A world where people pay for software by JackMorgan on Wednesday July 26, 2023 @06:10PM (#36885887)
Software compatibility with current modern platforms is a feature, and an owner of software isn't entitled to forward compatibility any more than an owner of a car is entitled to new parts as the old ones degrade.

Software degradation is much like hardware degradation: it happens with time as underlying platforms change.

Re:1Sub.dev – A world where people pay for software by HeyLaughingBoy on Wednesday July 26, 2023 @11:28AM (#36879370)
> otherwise it'll become obsolete within couple of years

I mean, sure, this is what all the software developers have been saying...

In the meantime, I'm constantly seeing users, even here on HN, complaining about how their favorite software tools are changing. Users the world over annoyed at SaaS, and pining for installable software that they can just put on a machine and never have to worry about forced upgrades or annual maintenance fees, etc., or even the convenience of not needing an internet connection for it to work.

The software world has never been black and white. There are product niches, and also use-case niches. You could probably make a good business by choosing something that's only available as SaaS and releasing a local-only version of it.

Re:1Sub.dev – A world where people pay for software by causi on Wednesday July 26, 2023 @11:22AM (#36879253)
otherwise it'll become obsolete within couple of years. At the very least it must be patched up with newly discovered security threats.

Only if it talks to the internet. I have plenty of software I downloaded over a decade ago that has no internet access and runs perfectly fine on Windows 11. Much of it is even older than that. Just stop trying to cram social media integration into your label-making program and it gets a lot easier.

Re:1Sub.dev – A world where people pay for software by paulddraper on Wednesday July 26, 2023 @11:28AM (#36879357)
> only if it talks to the internet

So.... Most software.

Agreed

Re:1Sub.dev – A world where people pay for software by JohnFen on Wednesday July 26, 2023 @01:01PM (#36880988)
Probably depends on the user, honestly. Most of the software I use doesn't need to talk to the internet. A lot of it wants to, but that's a different thing.
Re:1Sub.dev – A world where people pay for software by swiftcoder on Wednesday July 26, 2023 @01:23PM (#36881371)
It may be an unpopular opinion, but most of that software should just live in the browser if it's actually reliant on the cloud.
Re:1Sub.dev – A world where people pay for software by underdeserver on Wednesday July 26, 2023 @12:20PM (#36880257)
Maintenance costs are (mostly) not marginal though - it's not more expensive to maintain something if more users are using it.

Take into account maintenance when pricing your software.

Re:1Sub.dev – A world where people pay for software by rightbyte on Wednesday July 26, 2023 @12:46PM (#36880727)
If your software need security maintainance it mostly has a failed architecture from the get go.

Like 9/10 apps need no internet connectivity at all, unless they are spyware of course, which most commercial apps are nowadays.

Re:1Sub.dev – A world where people pay for software by johnny99k on Wednesday July 26, 2023 @01:03PM (#36881011)
"If your software need security maintainance it mostly has a failed architecture from the get go."

There are plenty of open source libraries, that many software developers used in their applications, that have had to have security updates. No software will be 100% secure.

"Like 9/10 apps need no internet connectivity at all"

This might have been true 10 years ago. Almost all apps people want need internet connectivity.

Re:1Sub.dev – A world where people pay for software by rightbyte on Wednesday July 26, 2023 @06:13PM (#36885925)
Software that does not interact with remote computers is 100% secure. You just got the risk when loading malicious save files or what ever, but the floppy disk kind of viruses is a whole other level of security risk and the user need to load the files. It doesn't just happen (I know some Windows computers could get infected by merely plugging in some USB stick, but you get my point).

The whole connectivity thing is the fundamental problem. Transferring files between devices have never been as easy as during the floppy disk days. Usability is not the driving factor behind forcing the internet into everything.

Re:1Sub.dev – A world where people pay for software by JohnFen on Wednesday July 26, 2023 @12:51PM (#36880819)
> The world is constantly changing and evolving, and software has to keep up otherwise it'll become obsolete within couple of years.

There's some truth to this, but I think this factor is usually dramatically overstated. At least, most of the software I use doesn't need to constantly change. The majority of software updates I see are unnecessary, and many of them are undesirable.

Re:1Sub.dev – A world where people pay for software by themadturk on Wednesday July 26, 2023 @03:02PM (#36883124)
A company I worked for 12 years ago was using a version of Microsoft Navision (now Microsoft Dynamics or something). They hadn't upgraded for several years. Upgrading would have meant a bunch of workstations would have needed to use newer versions of Windows beyond XP. Navision was largely unsupported (only by a consultant, not by MS) and of course the workstations were dangerously behind (yes, we were definitely on the internet). But to the users and the owner of the company, everything was working. We had very few problems...EDI was coming in and going out, packages were packed and shipped, inventory and accounting were up to date. It felt to me like things were held together with chewing gum and duct tape, and we were one hard drive failure from disaster, but from the company's bottom line, nothing was broken.

I left before they upgraded anything, and they're still in business, so I guess it worked out. But it proves that not everything has to change to continue to work.

Re:1Sub.dev – A world where people pay for software by vishnugupta on Friday July 28, 2023 @01:31AM (#36903381)
> ...held together with chewing gum and duct tape

> ..not everything has to change to continue to work...

That was sort of my argument; you could make do without changing the software but the cost keeps increasing and the user base keeps shrinking. At some point it'll be down to that one customer who refuses to budge and will be asked to make a tough choice; upgrade to the latest version or hire developers yourself to support...and even that may become impossible if h/w guys stop manufacturing that old machine configuration.

Re:1Sub.dev – A world where people pay for software by TheMode on Wednesday July 26, 2023 @01:02PM (#36881007)
The problem then isn't that people refuse to pay for software, but that it needs permanent maintenance. Feels like a lot of busy-work.
Re:1Sub.dev – A world where people pay for software by zokier on Wednesday July 26, 2023 @02:04PM (#36882144)
> The most important of which is that software, just like physical products, needs maintenance. The world is constantly changing and evolving, and software has to keep up otherwise it'll become obsolete within couple of years. At the very least it must be patched up with newly discovered security threats.

I feel this is largely being overstated point, or rather that in reality majority of important patches for software is due shoddy quality of it originally rather than external changes. Most security issues are rehashes of common well-known attacks rather than completely novel discoveries. Especially on desktop the platform churn is pretty low, windows happily runs like decades old binaries, and on Linux desktop we have this one major breakage happening that is Wayland but otherwise well-written decades old code is at least source compatible if not binary compatible (although even that is not that far-fetched...).

Re:1Sub.dev – A world where people pay for software by _fizz_buzz_ on Wednesday July 26, 2023 @03:08PM (#36883228)
We build power electronics and our machines also have lots of software in them. People that only work in software have no idea what a difference a software bug is compared to a hardware bug. Things we can solve in software means someone remotes into the machine and goes home to their family at the end of the day. Hardware problems usually means the engineer goes home packs a bag, gets a plane ticket, is away from the family for a week and hopefully we figured out remotely, correctly what the real issue is. I did two transatlantic flights this year because there was an issue with a >$5 component on a circuit board.
Re:1Sub.dev – A world where people pay for software by j45 on Wednesday July 26, 2023 @10:53AM (#36878701)
Software can be easier than physical products if kept simple, because the complexity arrives on it's own anyways.

Each line of code is a burden of future maintenance.

Re:1Sub.dev – A world where people pay for software by icepat on Wednesday July 26, 2023 @11:00AM (#36878819)
> You don't have to worry about quality control

I'm not sure exactly what you mean by this, as a large part of software development is QA testing, and validation. Which is a form of quality control.

Re:1Sub.dev – A world where people pay for software by dboreham on Wednesday July 26, 2023 @11:03AM (#36878878)
Parent means quality control in the context of the supply chain. Still wrong imho, since you need to at least maintain a zip file in someone's CDN, and those folks have to maintain their CDN QoS.
Re:1Sub.dev – A world where people pay for software by labcomputer on Wednesday July 26, 2023 @12:19PM (#36880236)
When you manufacture the physical widget, manufacturing tolerances mean that not every widget is the same. There are variations in the as-produced widgets.

You need a QA/QC process to identify units which are too far out of tolerance and either remove them from the pipeline or remediate them. You also need to track trends in the measured tolerances to proactively fix your production equipment.

In the software world, that’s trivially easy. Your CI pipe publishes an artifact and then every user gets a bit-perfect copy of that artifact. Your entire QC is just: Users compare the artifact’s checksum to the expected checksum. It essentially always matches because we use things like TCP to copy the data.

The type of QA you’re talking about is also required for physical widgets.

Re:1Sub.dev – A world where people pay for software by cscheid on Wednesday July 26, 2023 @11:05AM (#36878917)
> Software has no marginal cost.

Maybe you've never experienced the difference between writing software for 1000 people and writing software for 1M people, or (I imagine) 1B. The marginal per-person cost of software is not on shipping. It's on "what kind of weird shit will I now have to do because 1M is a lot of chances for my software to break weirdly, and people have paid for it"

> You don't have to worry about quality control and returns.

You don't have to worry about quality control and returns if you don't care about quality control or returns.

Re:1Sub.dev – A world where people pay for software by ysavir on Wednesday July 26, 2023 @11:21AM (#36879243)
That's applicable to websites, where you have to handle requests from all your users, and more users means more requests to handle.

But if we're talking about plain old regular software, something that needs no server to operate, and functions perfectly fine offline, something like, say, Photoshop, how different is the impact on the manufacturer when the software is used by 1k users, 1M users, and 1B users?

Yes, having 1M or 1B users means more opportunities for the bugs to surface and for people do be upset with the product. But do those scenarios impact the quality of the product for other users? Does they introduce unseen costs to the manufacturer? Do they make the product unprofitable or unsuccessful in anyway? Or does it mean that the manufacturer will have to refund 0.1% of their sales, and only benefit from the 99.9% of sales where the product worked as expected?

Re:1Sub.dev – A world where people pay for software by cscheid on Wednesday July 26, 2023 @11:35AM (#36879478)
> how different is the impact on the manufacturer when the software is used by 1k users, 1M users, and 1B users?

_very different_, when the user's environment is different. And 1) you haven't seen shit if you think you can perfectly control the user's environment. 2) every new user is a chance for the environment to bite you.

> Do they make the product unprofitable or unsuccessful in anyway?

You do your engineer best to try and fight that. But there's absolutely a marginal cost, which is what I was responding to.

Re:1Sub.dev – A world where people pay for software by ysavir on Wednesday July 26, 2023 @11:59AM (#36879926)
> _very different_, when the user's environment is different. And 1) you haven't seen shit if you think you can perfectly control the user's environment. 2) every new user is a chance for the environment to bite you.

Can you provide some examples of this? I'd like more info here, because off of the top of my head, I can think of the following counter-examples:

1. This isn't a new problem. User environment has been an issue ever since software as an industry was born. Specifying minimum specs is a pretty typical thing. And while I don't have depth of knowledge on these challenges or their history, my understanding is that it's only become less of a factor over time. So why is digital software different in this regard? If the industry was able to sustain itself before it went digital, what about the change to digital makes it unsustainable now?

2. Computer games, which are probably a good candidate for the most resource-heavy programs that need an appropriate environment, still largely adhere to a pay once business model. Doesn't this indicate that offline experiences aren't affected by environment to such a degree that a single payment business model isn't problematic?

> You do your engineer best to try and fight that. But there's absolutely a marginal cost, which is what I was responding to.

It surely has a marginal cost. But is that cost significant, is the question. In particular, significant enough to warrant a recurring payment business model.

Re:1Sub.dev – A world where people pay for software by cscheid on Wednesday July 26, 2023 @12:06PM (#36880059)
> It surely has a marginal cost. But is that cost significant, is the question. In particular, significant enough to warrant a recurring payment business model.

I think you're assuming more of my answer than what I gave. That's fair given that this is the point of the article, but it's not mine. I'm very specifically only responding to "is there a per-user marginal cost on software?", and my answer is most definitely yes.

To warrant a recurring payment business model, I think the right question to ask is "Is there a per user-year marginal cost on software?", and now the answer is in my view, much more complicated and domain-specific. Worse yet, I think that there's perverse incentives at play here in recurring payments.

Re:1Sub.dev – A world where people pay for software by ysavir on Wednesday July 26, 2023 @01:39PM (#36881660)
> I think you're assuming more of my answer than what I gave. That's fair given that this is the point of the article, but it's not mine. I'm very specifically only responding to "is there a per-user marginal cost on software?", and my answer is most definitely yes.

Fair, but I feel it's disingenuous to ignore the context the original comment was written in (the context of the article) and try to argue against a specific point in the post as if it was made without that original context. The sentence may have lacked inherent context, but it was supporting the key points the GP was making in response to the article. It wasn't designed to stand alone.

Given, I'm not the author of that post so entirely possible they were intending for it to stand alone, but I think it would still be better to see if that was intent rather than to assume so and antagonize what they were saying.

Re:1Sub.dev – A world where people pay for software by raisedbyninjas on Wednesday July 26, 2023 @11:43AM (#36879656)
Beyond bugs, scaling your MVP to 1B users will mean expanding your userbase beyond English speaking Americans. This requires upgrades to internationalization, accessibility, possibly compliance with international laws and 3rd party licensing changes per region. Multilingual support staff and international payments processing. With a userbase this large, expect to be sued by people around the world, so you'll need region-specific legal services. Some of these issues just require money and non-technical staff and don't directly impact the user experience aside from diverting resources away from building features and fixing bugs for your original userbase.
Re:1Sub.dev – A world where people pay for software by ndriscoll on Wednesday July 26, 2023 @12:52PM (#36880832)
There are apparently 2B English speakers in the world, so you could in principle get away with no internationalization and have 1B users. The other things are more a cost of operating a multi-national business, and not a marginal cost of the software as such. You could also in principle scale to ~300M users (or ~100M households) without worrying about international issues by sticking to the US only.
Re:1Sub.dev – A world where people pay for software by TheCoelacanth on Wednesday July 26, 2023 @01:33PM (#36881545)
Just because someone speaks some English, doesn't mean that they wouldn't prefer to use software in their native language.

Try selling English-only software in Europe and you generally won't get very far.

Re:1Sub.dev – A world where people pay for software by hinkley on Wednesday July 26, 2023 @12:55PM (#36880874)
You can tell the people who have never run a business or have worked at one small enough that they see everything. Support staff are not free. Project managers and salespeople can’t keep up with meetings and start sprouting assistants and coworkers. Customers are expensive, especially upset customers. So then the developers have to spend a lot more time making sure customers don’t get upset.
Re:1Sub.dev – A world where people pay for software by ysavir on Wednesday July 26, 2023 @01:37PM (#36881606)
Sure, but these aren't business model problems, they're business growth problems. The concern wasn't how to find 1B users in the world (and what do you have to do to get their money), it's whether scaling to 1B users inherently breaks the product, not just for individual users, but for all users.

If a company was only able to sell 2.6M copies of their digital software before running to expansion problems... good for them! That's a lot of sales and they probably made a great deal off of those sales. Sure, they can grow to 1B users, but they don't have to. There's no requirement for them to do that other than choosing to expand into those markets, and that's strictly optional. The business model is doing fine, there's no need to adopt a recurring payment system for ongoing maintenance.

And let's be honest, even if they do choose to expand into those other markets, the cost to convert the existing product to work in those markets is most likely less than the money they'll earn from selling in those markets, so... is there really a need for recurring payments to support maintenance? Will one-payment sale structures inherently fail to make the product profitable in a given market?

Re:1Sub.dev – A world where people pay for software by mschuster91 on Wednesday July 26, 2023 @11:55AM (#36879853)
> But do those scenarios impact the quality of the product for other users?

Absolutely. Anything involving internationalization is an open invitation for very weird edge cases. Some languages (Hebrew!) are written right-to-left, some require more than one byte to store (Japanese, Chinese), time formats and time zones vary, some write currencies with the symbol in the front (US dollar) and some at the end (Euro).

If all your testing was done by Americans speaking English, the only thing you may stumble upon is timezones. If you're in Europe, timezones won't be much of an issue (as almost everyone is on CET), but you may find out that, whoops, Windows localizes certain path elements like C:\Users.

On top of that, a constant pain point in support is displays. Most Windows users are on a 1080p screen on their laptop, but may plug in their new 4K monitor and notice that your UI is completely illegible because it doesn't respect DPI settings. Or you thought you supported variable DPI, but never planned on a user stretching your window across two screens with different DPI settings. Or monitors use different color profiles or gamma settings and users complaining about that.

Re:1Sub.dev – A world where people pay for software by hinkley on Wednesday July 26, 2023 @12:57PM (#36880910)
Even when customers run software on their own machines, you have to deal with bugs that only occur in rare occasions because your giant user base finds them all. Plus now you’re running in unknowable environments that you have to debug via telephone (the object or the children’s game or both).
Re:1Sub.dev – A world where people pay for software by thfuran on Wednesday July 26, 2023 @03:20PM (#36883403)
>But if we're talking about plain old regular software, something that needs no server to operate, and functions perfectly fine offline

The main product at work is a desktop application. That means that every OS version / hardware configuration of every platform that any user might install it on can have its own bugs. It means that we support multiple major versions rather than being able to just always deploy the latest version. It means that a user might want to have multiple versions of the software installed side-by-side on the same machine. It doesn't change the fact that more users means more use cases.

Re:1Sub.dev – A world where people pay for software by chromoblob on Wednesday July 26, 2023 @11:09AM (#36878974)
As N of people → ∞, chances for software to break → finite maximum. And for good enough software you should consider that maximum already regardless of the number of users.
Re:1Sub.dev – A world where people pay for software by cscheid on Wednesday July 26, 2023 @11:17AM (#36879142)
> And for good enough software you should consider that maximum already for any number of users.

I don't believe such software exists. (And, to be clear, I'm writing from direct, day-job experience.)

EDIT: I take it back. SQLite, cURL. Maybe.

EDIT2: I can't reply to the SEL4 response, so here goes. I'm a huge fan of verification tools, but consider the Spectre class of bugs. Verification is always done wrt a mathematical model that you've defined after inspecting the world and writing down the properties you want to track. But the world changes, and the chance that the world changes increases with the number of users of your software. That's the nature of the beast.

Re:1Sub.dev – A world where people pay for software by chromoblob on Wednesday July 26, 2023 @11:41AM (#36879598)
Spectre is a bug in the processor, not in the software. I agree that when you're stuck with unfinalized buggy processors, adding mitigations in software is reasonable.

When I had a reply I couldn't reply to, I opened the reply separately in a new tab, and there I could reply to it, try this.

Re:1Sub.dev – A world where people pay for software by cscheid on Wednesday July 26, 2023 @11:51AM (#36879783)
> Spectre is a bug in the processor, not in the software.

It's a bug in the processor that causes a bug in the software. It's not a bug in your idealized mathematical model, but try telling that to the people who paid you not to leak private keys.

I see my job as an engineer to be to create a product that satisfies the user's expectations (which in this case are eminently reasonable). It matters not one bit that I can point the finger to the chipmakers. I'm still selling something that I now learned doesn't do what I said it would. It's still on me to fix it the best I can. If I care about the product quality, that is.

Re:1Sub.dev – A world where people pay for software by chromoblob on Wednesday July 26, 2023 @12:20PM (#36880264)
The program must not show bugs when run on a hardware with unforeseeable bugs, you call this reasonable?
Re:1Sub.dev – A world where people pay for software by cscheid on Wednesday July 26, 2023 @12:50PM (#36880800)
And yet that's what every good engineer did when Spectre came out. Same with the Pentium fdiv bugs, and same with a host of microcode bugs that come up all the time.

Not my business to decide what you think is reasonable. That's just what happens in the world, and what (in my view) good engineers sign up for.

Re:1Sub.dev – A world where people pay for software by chromoblob on Wednesday July 26, 2023 @01:23PM (#36881357)
The choice is between letting hardware be not finalized and letting that force software to be non-finalizable, and letting software be finalizable and forcing the hardware to be finalized too. I like latter more. Finalized hardware is better by itself as well.
Re:1Sub.dev – A world where people pay for software by ChadNauseam on Wednesday July 26, 2023 @02:00PM (#36882079)
We would all like bug-free hardware, but we won't get it and our job is to write good software in the environment we were given
Re:1Sub.dev – A world where people pay for software by chromoblob on Wednesday July 26, 2023 @02:46PM (#36882852)
> we won't get it

Why do you think so?

Re:1Sub.dev – A world where people pay for software by cscheid on Wednesday July 26, 2023 @02:52PM (#36882949)
> The choice

What choice? I have to fix bugs today as they come.

Re:1Sub.dev – A world where people pay for software by thfuran on Wednesday July 26, 2023 @03:26PM (#36883506)
If you buy a car and the airbags randomly deploy, would you consider it reasonable for the manufacturer to respond "oh, yeah, that'll happen if you drive it on roads rougher than polished stainless steel. You should only be driving on polished roadways"?
Re:1Sub.dev – A world where people pay for software by chromoblob on Wednesday July 26, 2023 @04:29PM (#36884502)
If this requirement was known to me before I bought, sure.

I think that this is a bad analogy to hardware, though. Polished steel roads are unreasonable to ask for, but bugless processors are reasonable to ask for.

Re:1Sub.dev – A world where people pay for software by thfuran on Wednesday July 26, 2023 @06:14PM (#36885932)
No, they aren't. You can only buy the buggy processors that exist, not notional bugless ones.
Re:1Sub.dev – A world where people pay for software by chromoblob on Wednesday July 26, 2023 @08:47PM (#36887328)
As if processors were only sold by alien gods, and processors without bugs were impossible to create.
Re:1Sub.dev – A world where people pay for software by thfuran on Thursday July 27, 2023 @12:05AM (#36888770)
They may not be impossible to make, but they don't get made. And I guess you think Microsoft has been putting bugs in Windows for the last few decades just for something to do, or was that also the influence of alien gods?
Re:1Sub.dev – A world where people pay for software by chromoblob on Wednesday July 26, 2023 @11:29AM (#36879387)
seL4 is a formally verified OS kernel. https://sel4.systems/About/
Re:1Sub.dev – A world where people pay for software by hinkley on Wednesday July 26, 2023 @12:59PM (#36880943)
An important philosophical observation is that in a world of 7 billion people, “miracles” are happening to thousands of people every day.

I’m software we deal more with curses than miracles. Those happen every day too.

Re:1Sub.dev – A world where people pay for software by hinkley on Wednesday July 26, 2023 @12:52PM (#36880831)
Software has a somewhat inverse relationship to scale as manufacturing. For manufacturing the first one costs millions, and each one after costs hundreds for a time. As you get better you winnow away the equipment or maintenance costs and prices drop.

Software use cases experience combinatorics, and almost all useful algorithms have log(n) runtime. Even when Knuth says they are O(1), physics or EE say he’s wrong. There are no economies of scale. Racks don’t get cheaper when you run out of network ports. Cooling doesn’t get cheaper when you run out of roof. Things that failed one time in a million calls now happen every hour instead of twice a month, and actually have to be fixed.

It’s death by a million cuts.

Re:1Sub.dev – A world where people pay for software by therealdrag0 on Wednesday July 26, 2023 @02:39PM (#36882739)
I suspect it’s less about chances to break due to dice rolls and more chances to not meet the feature/requirements that change based on varying contexts of users, which create a lot of legal and integration and reqs which require lots of code and maintenance.
Re:1Sub.dev – A world where people pay for software by shon on Wednesday July 26, 2023 @11:31AM (#36879414)
Software margins are good, especially compared to physical things. However, they are far from zero. Today, all software comes with complex dependencies.

Take for example any mobile app. Apps require constant upgrades to keep up with the hardware and software changes on the platforms. You can’t just build an iPhone app and leave it alone to be enjoyed by people. I’ve tried, within a year or two there will be changes that require developer work, if you don’t keep it maintained, it will start to crash and function poorly, Apple, for example, tracks everything and will start with de-boosting search results for your app and end with removing it from the platform entirely.

Google is the same. I’ve tried, I built a Top 25 RPG and got busy with other things. It went from Top 25 to deplatformed in less 5 years because unmaintained software just doesn’t work in most cases today.

Software is more complex now. All software is a conglomeration of lots of other software: frameworks, platform tools, libraries, APIs, etc.

Another example: Flash

Another example: All the AI software being written on top of the OpenAI API will be broken in a year or two as they roll new versions of the API and deprecate the old.

Software doesn’t just work anymore. The platform that executes it is constantly changing.

Re:1Sub.dev – A world where people pay for software by david422 on Wednesday July 26, 2023 @11:37AM (#36879521)
> You can’t just build an iPhone app and leave it alone to be enjoyed by people. I’ve tried, within a year or two there will be changes that require developer work, if you don’t keep it maintained, it will start to crash and function poorly

My favorite is when a new Apple update breaks your app, so you identify where the issue is and make a small update, but now Apple rejects your update because of some other arbitrary guidelines it's changed, so you then have to start down that rabbit hole.

Re:1Sub.dev – A world where people pay for software by JohnFen on Wednesday July 26, 2023 @01:08PM (#36881114)
> Software doesn’t just work anymore. The platform that executes it is constantly changing.

It depends on the software. But where this is true, it's not because of some innate nature of software, it's because of business decisions software companies have made.

Re:1Sub.dev – A world where people pay for software by shon on Wednesday July 26, 2023 @08:59PM (#36887436)
I disagree. Especially for business software.

Unlike hobby software, where you could reasonably write everything from scratch just for fun, or say in write it in 6502 ASM which hasn’t changed at all for 50 years and won’t change in 50 more, in modern business software, you use common frameworks, APIs, platforms. All of those mean the software you write will fail as those dependencies and platforms change and age out.

Business software has to be built on common building blocks because as a business you need to be able to hire people who can work on it. So things like Java and node and react and dozens of APIs exist which creates dependencies and requires ongoing maintenance as those components continue to change.

Re:1Sub.dev – A world where people pay for software by sharemywin on Wednesday July 26, 2023 @11:35AM (#36879469)
This completely ignores the cost of support.

- How does this feature work?

- How does the software do this?

- you said it does this and it doesn't why?

- can make the software do this?

Each one of these questions cost money to answer and needs someone to hand hold the user. especially if they are a non-technical business user.

Re:1Sub.dev – A world where people pay for software by chinchilla2020 on Wednesday July 26, 2023 @11:55AM (#36879846)
Yes. Software is a low-capital business and many people in tech don't want to believe it.

A few offices, macbooks, and data center space is very cheap compared to building a manufacturing plant.

On the other side, what tech people understand that the general public does not... is that software has a healthy dose of maintenance and operational costs when it scales. Not a massive cost, but higher than zero - which is what most MBAs think the maintenance cost is.

Re:1Sub.dev – A world where people pay for software by gnulinux on Wednesday July 26, 2023 @11:58AM (#36879920)
It's almost like we live in different world, I could not disagree more.

* Software is extremely expensive. Software engineers are expensive, and for a good software project you need a tech lead, a manager and probably a few developers. These are all people you need to pay tons of money for.

* Software is constantly changing, something that worked 2 years ago can be broken beyond repair today. You need a team that can keep up with this.

* Software needs maintenance. You can't just build an app an call it a day, you need to employ a team to maintain it continuously. You can build a massive, gargantuan bridge and maintain it maybe every few years/half a decade to keep it safe for 30+ years, you cannot do that in software.

* Unlike what outsider think, software -- even "boring" CRUD/web software -- is still very much a research project. If you ask a civil engineer how to build a bridge, they'll tell you about all the techniques that were developed over the many many decades. What a developer focuses on while writing code is mostly ideas developed in the last few years. Although you think you're building a simple app with 3 devs, what you're missing is you have your own tiny research lab studying how to develop this simple app the cheapest way possible while making it maintainable.

* Software by its very nature is hard to make money off of. Its complexity is opaque to most people, they're not willing to pay. You'll always have people pirating it, eating away from your bottom line. Moreover, each new software means changing workflow, so even if you have the best product on the market, decent amount of people won't switch from the industry standard.

* Modern software engineering methodology focuses on, among other things, time to ship, feature richness and maintainability. It does not focus on correctness -- partially because our theories on software correctness are lacking (even if you decide to use novel/extreme approaches such as Dependently Typed Programming, formal proofs etc it's unclear/unknown if you'll reach a significantly better correctness metric). This makes your product inherently frustrating to the customer. No matter how much money you spend, you'll always have a product that's a little bit buggy. This means the product is very sensitive to the amount of money you throw at it. If you throw Apple level of money, it'll be less buggy, if you have a barebones team it'll be more buggy.

Re:1Sub.dev – A world where people pay for software by jkepler on Wednesday July 26, 2023 @12:07PM (#36880079)
> * Software needs maintenance. You can't just build an app an call it a day, you need to employ a team to maintain it continuously. You can build a massive, gargantuan bridge and maintain it maybe every few years/half a decade to keep it safe for 30+ years, you cannot do that in software.

> * Unlike what outsider think, software -- even "boring" CRUD/web software -- is still very much a research project. If you ask a civil engineer how to build a bridge, they'll tell you about all the techniques that were developed over the many many decades.

As a nonpracticing civil engineer, you're underestimating the ongoing maintence that goes into any large bridge.

Also, though the techniques may be more established, every bridge must still be designed to fit the specific characteristics of its local geology and geography. But come to think of it, fundamental computer science algorithms are pretty well established, like bridge-building techniques. Software engineering is simply fitting the code to each unique problem, as bridge design fits a bridge to each unique place.

Re:1Sub.dev – A world where people pay for software by dcow on Wednesday July 26, 2023 @12:52PM (#36880825)
The dirty secret is that you rarely need to invest in new, novel, software engineering techniques which is what you need actual software engineers for. In reality you can just get a few software developers to propose a design for a thing, have a software engineer consultant review the design and sign off, and then go on your merry way building the software. Kinda like how architecture/construction vs engineering works in meat space.
Re:1Sub.dev – A world where people pay for software by ndriscoll on Wednesday July 26, 2023 @01:22PM (#36881340)
> Unlike what outsider think, software -- even "boring" CRUD/web software -- is still very much a research project. If you ask a civil engineer how to build a bridge, they'll tell you about all the techniques that were developed over the many many decades. What a developer focuses on while writing code is mostly ideas developed in the last few years.

Most (all?) of the ideas I see are at least 20 years old, if not 40-50. Something like Spring wouldn't be my ideal choice, but it can certainly get the job done for most people, and it's 20 years old. MVC dates back to the 70s. Postgresql is 27 years old and is a fantastic choice. SQL and RDBMSs date back to the 70s. The term CRUD itself dates back to the 80s. Server rendered pages are still easy to do, perform way better than most React-based abominations, and are as old as the web. If anything, software is plagued by these "research projects" that are mostly just to scratch smart people's itches.

Re:1Sub.dev – A world where people pay for software by scarface_74 on Wednesday July 26, 2023 @12:07PM (#36880081)
> still blows my mind how much easier it is to run a business that deals with bytes instead of atoms

That must be why most software startups succeed.

Re:1Sub.dev – A world where people pay for software by maest on Thursday July 27, 2023 @03:04AM (#36889984)
You must have misread. GP said "easier" not "easy".

Hard tech startups are notoriously harder to get off the ground than software companies.

Re:1Sub.dev – A world where people pay for software by hinkley on Wednesday July 26, 2023 @12:46PM (#36880706)
This logic has always bothered me a little and I’ve never understood why, until recently.

The fact of marginal cost results in a lot of software being written that otherwise never would have been. After all, the difficulty of solving a problem for myself often doesn’t offset the trouble of making a reusable solution. It’s only through having other people use it or pay for it that it becomes worthwhile.

Randall Munroe’s chart is incomplete because it thinks too locally.

Re:1Sub.dev – A world where people pay for software by supportengineer on Wednesday July 26, 2023 @01:19PM (#36881295)
In software you can make an excellent product and still fail, sadly.
Re:1Sub.dev – A world where people pay for software by bob1029 on Wednesday July 26, 2023 @01:37PM (#36881619)
> In software the hard part is making an excellent product

I'd argue in all domains, the hard part is making an excellent product.

There are virtually zero real-world constraints you can leverage as excuses in the domain of software, other than the original idea was bad or you have really bad people around the idea. Most of the software ideas I have encountered in my career are fantastic. It's not hard to describe what a high quality product experience is like if you are a domain expert and have suffered the gauntlet for 30+ years. The part that always seems to go straight to hell is the implementation of the idea.

I suspect most software projects go bad because there are too many layers of separation between participants. In physical products, substantially more direct interaction is required to get things done. With software products, you can isolate everyone into different multiverses as long as they are pushing PRs to the same GitHub repo (and sometimes not even the repo is shared...). Over time, these silos ultimately ruin any sense of ownership and quality in the product.

It is quite tragic - while on one hand software is the most accessible form of human enterprise ever, it is also the easiest to do wrong. Having no constraints seems like win-win at first, but it is absolutely a double-edged sword. In my view, the best software company CTOs are the ones who intentionally add as many artificial constraints as they can to the technology and process. Do more with less. Force lateral thinking. Make the product people go back to the customer and say things like "we actually can't do that because of a technology policy" instead of pretending like an unlimited infinity of things is always possible.

Re:1Sub.dev – A world where people pay for software by gmerc on Wednesday July 26, 2023 @01:39PM (#36881646)
In an industry full of unchecked monopolists, piracy takes the role of providing the a reasonable price ceiling at which people switch away from bad but monopolized products
Re:1Sub.dev – A world where people pay for software by amelius on Wednesday July 26, 2023 @02:31PM (#36882604)
> Software is easier to produce, sell, and distribute than any physical product.

This is exactly why people should pay for software: consumption of physical goods destroys the planet. Money spent on software can't be spent on destroying the environment.

Ban ads*, make people pay for content and software and save the planet. Win-win-win.

* most of them anyways