> A stable API is about providing value and saving time for driver developers and end users.
At the expense of undermining the quality of the rest of the kernel and burning kernel dev time.
> It is no coincidence that successful operating systems like Windows, Mac, and Android have stable ABIs that you can use to make drivers.
It's also no coincidence that drivers for previous versions of NT/Darwin regularly break with new releases, leaving users stranded while the Linux versions stay maintained in-tree. (I suspect the same is true of Android but I'm not familiar enough to say for sure)
>At the expense of undermining the quality of the rest of the kernel and burning kernel dev time.
It shouldn't undermine quality and it could save dev time and make it more user friendly to write new drivers.
Yes, drivers break over time, but it is better if there is a clear expectation on how long things will be stable and what changes will be needed when you upgrade.
At the expense of undermining the quality of the rest of the kernel and burning kernel dev time.
> It is no coincidence that successful operating systems like Windows, Mac, and Android have stable ABIs that you can use to make drivers.
It's also no coincidence that drivers for previous versions of NT/Darwin regularly break with new releases, leaving users stranded while the Linux versions stay maintained in-tree. (I suspect the same is true of Android but I'm not familiar enough to say for sure)