Smaller than the kernel, but still big. These are not 55 bytes.
In Static Controls, the issue was a 55 byte program to calculate the
level of toner in a cartridge. The court ruled that the program design
of the TLP was so constrained by external factors (the efficient
execution of a small number of calculations) that any other
implementation would have been impractical.
Exactly. And this is precisely what is happening here. The kernel headers
are small in comparison to the kernel. And external factors are such that
there is no other way to create kernel modules other than by using the
kernel headers.
Many of these interfaces are published. Buy a linux device driverLinux is a completely different matter, directly analogous to Apple's
OS in the court's analysis. There are no such external factors
dictating the form of the kernel's facilities for integrating new
functionality.
You are saying there are practical ways to develop kernel modules other
than using the kernel headers?