What applications cannot run with a small POSIX compatibility layer? Or perhaps even simpler - emulating Linux system calls, as recently shown. (Yes, it would help if they implemented fork().)
They will never give up a kernel architecture that is more modern and that is not tainted (from their perspective) by the GPL.
You would still have to purchase the Windows license. Also, why would you run say something like Redis, on Windows through a compatibility layer ... when you can just run it on Ubuntu or Cent instead?
Sure, if you are already committed to Windows then that makes sense. But if you are starting fresh then you don't choose Windows, and that is the dilemma MS is facing.
They will never give up a kernel architecture that is more modern and that is not tainted (from their perspective) by the GPL.