Remix.run Logo
rleigh a day ago

I've been developing open source software since the late '90s. I was a Debian developer for nearly 15 years. I stopped actively participating in this stuff about 10 years ago. I'm involved in a few libraries and that's it.

The "Linux" ecosystem is utter chaos, and there are too many developers who are their own worst enemies. There's too much churn, and too little strategic thought. Compatibility is king. Microsoft know this, or used to. But too many developers on the Linux/open source side of things don't care. They have repeatedly self-sabotaged the development of a coherent ecosystem throughout the last three decades by repeatedly breaking backward compatibility and replacing well-established software with incompatible replacements. Even RedHat. The pursuit of new and shiny trumps compatibility every time, and half-baked new technologies replace stable and established technologies long before they are ready, leading to developers and end users being eternal beta testers of rubbish. It is not possible to develop software for a platform which does frequent rug-pulls leaving your software unusable.

This isn't solvable by any individual, no matter how hard or how long they work for.

That's part of the reason why I switched to FreeBSD as a replacement for a good bit of stuff I previously did on Linux. It might be lacking in some aspects, but there's not quite the same level of insane and pointless churn without purpose.

And I say this as someone who used to hand-build kernels from applied patch files, back when it was fun and the improvements were consequential.

inigyou a day ago | parent | next [-]

You can fix it by making a Linux ecosystem that isn't chaos.

I'm pretty sure Apple proved that compatibility isn't the end-all-be-all of customer satisfaction. It was useful to Microsoft at a certain point in time. But what people actually care about is getting their stuff to work right now, not being stuck in the past. We now tend to run old software in VMs or just old hardware rather than trying to make it work on the latest OS version. VMs weren't yet very popular or developed at the time Microsoft had a singular focus on compatibility.

In fact, Microsoft wasn't even trying to keep customer systems working. Microsoft was trying to sell unnecessary upgrades to those customer systems, which will only be bought if they make the systems better. The customer was perfectly fine with not upgrading their software and letting the system continue to run as-is. The software industry doesn't really work like that any more - platforms are free and non-free software comes with a subscription - there's not as much pressure to sell unnecessary system upgrades. Also you can just make the system upgrade itself over the internet and tell the customer to cope and seethe.

Do people still try to run Word 97 or do they just buy Google Docs?

rleigh 16 hours ago | parent [-]

As I said, no individual has the capacity to fix this.

When it comes to compatibility, different companies and groups make different tradeoffs. Last week, I had to use a (brand new) datalogger. It came with a CD, and instructions for installing on Windows 98! And yet, it worked flawlessly on Windows 11. Looked dated, but perfectly functional. Can you imagine a third-party application from 1998 working on a contemporary Linux installation, or a Mac? Of course not, it's almost impossible to do this. Like it or loath it, Windows will run software from 35 years ago without trouble. It's not just about big office suites, it's about the thousands and thousands of useful tools that it will run without complaint, and that's what has made it so indispensable even while they continue to make it increasingly awful.

Apple made a different tradeoff, where compatibility is not guaranteed. It might be fine for a few years, but no one is using software from a 1998 Mac on a modern Mac, it just won't run. It's one of the reasons the Mac ecosystem is so limited, since there just isn't that huge backlog of material.

And Linux is that on steroids. The incompatible churn in libraries, tools, system services, windowing systems, it's both relentless and counterproductive. How many years will your software work until it breaks. Is it even possible to run on more than one blessed distribution in the present day. Linux is great, and it's a great platform to develop on. But it's an absolutely cursed platform to distribute software for.

Developers run software in VMs. Most people do not.

red_admiral a day ago | parent | prev [-]

I mean that's a feature of running your community as a bazaar.

The one thing Linus himself sensibly enforces though is kernel backwards compatibility - "we do not break userspace".