Maintaining out of tree kernel modules and guaranteeing compatibility is a nightmare.
Partially because in difference to the strict backward compatibility guarantees of the Linux user interface there are no such (strict) guarantees for the kernel interface.
In the end this is both grate for Linux and Intel (and Nvidea, Amd, etc.):
- kernel developers can make sure their code doesn't brake vendor code, this isn't just about being nice to vendors but about being able to do large internal refactoring which affect many/all kernel modules in a small way (good for both, in case of not yet released and in rare cases internal only hardware mainly for the vendor)
- kernel developers can see how the kernel is used and where there might be problems with the current kernel interface and design (good for Linux)
- kernel developers can enforce a certain minimal level of code quality or not allow hacks which would lead to serve security issues or incompatibilities (good for Linux)
- it's much easier to make sure that different drivers/kernel modules don't conflict in subtle ways (good for both Linux and vendors)
- customers buying the hardware often can use it from release date without needing custom kernels (good for everyone)
- abandoned drivers/modules can be picked up and maintained by 3rd parties allowing longer usage of otherwise no longer supported hardware
Lastly while companies like Intel do not own Linux they are some of the main contributors of financial resources often more then covering any additional costs caused by this (I mean for server hardware and more powerful embedding hardware Linux strongly dominates the marked and it's also one of the main markets for Intel, Amd, Nvidea and one of the main building blocks for companies like Google).
Anyway this is good for everyone and in _total_ reduces the amount of work involved in making Linux work with all kinds of hardware.