Actually nowadays Microsoft is one of the biggest contributors to the Linux kernel, it's in the TOP 5.
Microsoft also ported own software to Linux because probably they got fed up with Windows, e.g.
HyperV has been ported totally over to Linux. And Microsoft Teams is available natively for Linux, as well as Microsoft Edge.
Reg. ZFS: the CDDL license is incompatible to GPLv2 on purpose.
Also there are two pillars the development is being based on, namely:
1. it's got a stable application binary interface. You can still run binaries compiled mid of the 90s on modern Linux kernels.
2. it has no binary kernel interface, nor a stable kernel interface.
Linux wants all drivers at least being under GPL, and prefers them to be part of the kernel. Period. This is probably one of the most important decisions why it never took off on the desktop, that lack of interface.
When running a Linux module, then exported interfaces are separated between vanilla interfaces (EXPORT_SYMBOL) or GPL tagged interfaces (EXPORT_SYMBOL_GPL). When trying to load a BSD licensed module for example, which registers as BSD module, EXPORT_SYMBOL_GPL will be not available for that module during runtime.
In 2019 there was a commit which tagged previously only EXPORT_SYMBOL interface API calls as EXPORT_SYMBOL_GPL - and that broke ZFS. It was _kernel_fpu_ which was GPL tagged. Having no access to it prevented ZFS from it only prevents them from using the kernel's own state-management facilities to preserve and restore state. It affected back then only a few ZFS users,
and the solution was to re-implement that stuff in the ZFS module.
The stance of the Linux developers is: if you want to run in kernel space you need to keep up with kernel development. Or at least commit the code into the main kernel with GPLv2, and we'll maintain it then, keeping it running.
IMHO they just retagged this symbol, because they were on a tagging spree. That it affected ZFS made that tagging then quite well known and controversial.
Going back to Lennart Poettering: Poettering is a BTRFS lover. I mean he wants to do stuff like this:
http://0pointer.net/blog/revisiting-how-we-put-together-linux-systems.html, using systemd and Btrfs. What could possibly go wrong... it's safe to say that he's a full blown Btrfs lovah boy.
Which is funny, becuse nobody nowadays really still believes that aside RAID0/1 Btrfs ever will become something usable after the CoreOS desaster. As a matter of fact there's a COW file system written from scratch for Linux in development called Bcachefs exactly because of its developer Kent Overstreet has given up hope on that.