Technically it's the reverse, Windows is POSIX compliant, and Linux is almost compliant. However, the non-posix features liunx provides makes it easy to port from the various *nixes where as Windows precise POSIX compliance ensures virtually nothing runs unless the app is written purely to the POSIX spec.
Windows is POSIX compliant? I didn't knew that. But in my defense, wikipedia article states [1] that it was marked as deprecated in Windows 8 and it was removed in Windows 8.1.