Re:Free user space for non-graphics drivers
by cycloptic on Sunday June 07, 2020 @12:24AM
(#23444753)
This has been explained so much that there is a documentation page all about it: https://www.kernel.org/doc/html/latest/process/stable-api-no...
No other popular system follows the same development cycle as the Linux kernel.
Good link - there's also a clear case that "requiring" the kernel to provide long-term stable driver API/ABIs is simply reallocating a cost towards the benevolent open source maintainers, to allow closed-source companies "leeching" (to use Greg K-H's words) from the kernel devs to benefit.
There's clearly a non-zero (and indeed non-trivial) cost to providing a stable kernel driver API, and the kernel devs don't want to bear that cost, as they feel it would hold back the kernel from evolving, improving on APIs, and fixing security issues or other implementation bugs.
The other side of the coin is that closed driver developers want this stable API to reduce their own development costs, but they will not follow the "intended" workflow that reduces the ongoing maintenance cost to effectively zero.
Unfortunately, that's not very true for FreeBSD. Complex driver modules (e.g., virtualbox, graphics) get broken all the time by kernel API changes.
However you can replace FreeBSD with illumos -- it has a well defined DDI (device driver interface), an OpenSolaris legacy.
Re:Free user space for non-graphics drivers
by fiddlerwoaroof on Saturday June 06, 2020 @11:50PM
(#23444620)
This is intentional: the kernel developers don’t want to make proprietary drivers easy to maintain.
The real problem lies in this practice. Which other popular system uses this approach? Windows, macOS but also open source alternative like FreeBSD all have well-defined kernel API and drivers SDK. So, not providing a standard interface but then crying for the lack of third party drivers is hypocritical: the problem is self-inflicted.