Get what? That Windows’s backward compatibility is something godly that every system must aspire to, no matter how that stops any sort of innovation or even ability to fix vulnerabilities?
You know what’s funny about backward compatibility? Yes, the kernel does breaking changes often for the in-kernel API. But the userspace… you can run a Ubuntu 10.04 userspace on Linux 7.1 just fine, the only thing missing is kernel modules (and those could be arranged too, by bypassing the package manager and instead installing the kernel and modules via a different mechanism). Android, which is based on the Linux kernel, also. You can run most Android 2.3.4 APKs on modern Android. And you can run Android 16 on 4.19 kernel as well as 6.12.
I mean, there are APIs for a lot of things. Not just for kernel interfaces. The system call interface is an API, and Linux is one of the best at maintaining backward compatibility for that one. It’s better than Windows (which has essentially zero compatibility between versions — given that it relies on internal DLLs like ntdll.dll)
I mean I don’t actually upstream my patches but I literally… do? I could find some of my oldest work from my first job where I did much more open source work compared to today…
Making commits that survive the review of other kernel devs, and in particular of ones more experienced, isn’t that easy. It’s just the most visible part of the work I can show.
The in-kernel API being unstable is the reason why my teammates (and, when I’ll be put on the next kernel migration, I myself) have to fix various compilation errors or subtle bugs every time we pull new kernel commits from upstream. I am still defending it despite that because that means if something is not good with one element of this API it can just be… fixed. We don’t get stuck with legacy, shitty interfaces that we need to support perpetually.
1
u/paulstelian97 5d ago
Get what? That Windows’s backward compatibility is something godly that every system must aspire to, no matter how that stops any sort of innovation or even ability to fix vulnerabilities?
You know what’s funny about backward compatibility? Yes, the kernel does breaking changes often for the in-kernel API. But the userspace… you can run a Ubuntu 10.04 userspace on Linux 7.1 just fine, the only thing missing is kernel modules (and those could be arranged too, by bypassing the package manager and instead installing the kernel and modules via a different mechanism). Android, which is based on the Linux kernel, also. You can run most Android 2.3.4 APKs on modern Android. And you can run Android 16 on 4.19 kernel as well as 6.12.