No it isn't. The reason you can't write external modules is because the kernel interfaces aren't stable. You would have to provide a module binary for every single kernel version (and maybe even for different configurations).
And the reason for that is mostly that providing a stable interface is a) a ton of work, and b) would make distributing closed source drivers easier which is something Linus hates.
if you read the mailing list, you know there’s a lot of reasons. Linus hates out of tree and closed modules for quite a number of reasons- but in this specific context it seems the most relevant.
IshKebab|2 years ago
And the reason for that is mostly that providing a stable interface is a) a ton of work, and b) would make distributing closed source drivers easier which is something Linus hates.
witheld|2 years ago