Erisan wrote:Hmmh. There has been a lot of discussion about stable driver API in Linux.
And it has been actively opposed by the Linux kernel community, particularly Linus himself.
Basically, I've heard the following arguments from the Linux kernel contributors:
1. Backwards compatibility makes the kernel "impure". If I want to fix a bug in a kernel function, I want to be able to just fix it without having to deal with the "yucky" concerns about backwards compatiblity.
2. If your driver is in the kernel source tree, the API changes are a non-issue because "the community" will keep your driver up-to-date with the latest kernels.
3. Since it's all free software, API changes have no cost.
4. If your driver isn't in the kernel tree, then it must be an evil proprietary driver. If you are a proprietary driver, then I deliberately want to make your life as hard as possible.
Personally, I've found these arguments to be largely philosophical, not very realistic, and almost childish at times (ha ha, I broke your driver). Some of the arguments (like #2 and #3) are simply wrong.