Linux: Of course you can use these syscalls designed in the 70s.
Windows: Compatibility with what? No, you must use these newly-designed functions that exist only on windows. It's for your own protection.
Tell me again how proprietary software gives a shit about compatibility.
“Backwards compatibility” is a totally different thing from “cross compatibility”. Of course proprietary software is going to be less cross-compatible.
That’s a fine mantra to have but is rarely true in practice. I’ve seen way to many needlessly breaking changes in open-source libs that are explained away with “users can just pin the old version until they update their code”.
To be clear, the linux kernel itself is almost never the cause of the breakage per se, but some other library often implementing one of the APIs it defines. Often the reason for the breakage is under-specification of the original API, for example including a uint32 flags field that is not checked against a known set of valid flags, and inevitably ends up populated with vendor-specific (and often conflicting) usages.
As much as API design is about exposing the functionality you want, it also involves avoiding exposing functionality you dont’t want to expose. Open-source software often omits that critical design consideration, waving it away under the false virtue of “openness”.
Good points, but there's undeniably some poor choices here and there. Like trying to recompile a bunch of kernel modules every time the kernel version changes makes me wish they had a better system in place... or even worse , if you have a blob driver, you're SOL or stuck on an old version.
My 14+ year old laser printer "just works" on the latest linux kernel. It has been several years since MacOS supported installing the last driver binary created for it.
If it “just works” with linux it’s probably using a standard protocol like LPR that you can just as easily use on MacOS without a driver. The driver is usually just for non-standard functionality like color level monitoring or scanner/AIO integration that you won’t get on Linux anyway.
Well, trying to take your point seriously I guess you could argue that companies with paying customers do have an incentive to keep stuff compatible. However, also FOSS devs don't like public shitstorms by their users which should be a similarly effective.
However, you just argue based on annecodotal evidence without explaining how your examples are exclusive to FOSS.
Any concrete examples on that? I feel like FOSS is what pushes people towards making modular software with APIs in the first place while proprietary software is usually monolithic, probably because all the devs are colleagues and can just talk to each other.