

They would only be obliged to open source any extra code they added to the kernel. If whatever they add lives in user space then it can be closed source (that’s one of the key differences between GPL 2 and 3 and why Linus refuses to use GPL 3). That said the problem with Windows at this point isn’t really the kernel, it’s all the user space crap they built on top of it.

WINE is basically an adapter. It exposes a Windows API and calls the equivalent Linux APIs when invoked. That’s less overhead than an emulator which models an entire virtual piece of hardware. When you run a Windows program through WINE your computer is actually executing the code of the program just like any Linux one it’s just calling WINE libraries instead of the Windows ones it normally would.